想统计用户访问数据

发表于

1.利用nodejs socketio创建了一个空间提供我开发的遇见APP页面访问统计

mysql建表,服务端js书写逻辑,页面书写逻辑,一切准备就绪后,怀着激动地心刷新了页面,

boom,

数据更新失败~~·

上代码:

 public function saveVisit(){
        $data = input('post.');
        try{
            if($info = Db::name('user_visit')->where(['soket_id'=>$data['soket_id'],'end_time'=>0])->find()){
                $end_time = time();
                Db::name('user_visit')->where(['id'=>$info['id']])->update([
                    'end_time'=>$end_time,
                    'take_up_time'=>$info['start_time']-$end_time,
                ]);
            }else{
                $data['start_time'] = time();
                Db::name('user_visit')->insert($data);
            }
            return jsonsuccess('success'.date('Y-m-d H:i:s'));
        }catch (\Exception $e){
            return jsonerror($e->getMessage());
        }
    }

逻辑是利用socketio那边传过来的数据先进行插入操作,然后进行更新,计算出访问页面的时间,问题出现了,刷新页面导致socketio做数据请求时,时间过短,插入和更新同步操作,导致插入还没进行更新就已经开始了。

–出了BUG,本地后台很突然的接收不到socketio推送过来的数据

–线上https配置,配置了证书之后一直报跨域错误,PHP设置了header头,nodejs也设置了,均无效

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注