userInfo = session('userInfo'); $debug = config('weixin.debug'); $field = 'id,openid,user_login,mobile,real_name,is_reg_profile,user_nickname,avatar,user_status,is_follow,is_heart,freezing_choose'; if (empty($this->userInfo) || $debug) { // 调试模式 $curOpenId = session('openid'); $openid = $curOpenId ? $curOpenId : config('weixin.openid'); if($openid){ $this->userInfo = Member::getInfo(['openid' => $openid, 'user_type'=> 2], $field); } $wxInfo = Fans::getInfo(['openid' => $openid]); session('openid', $openid); session('wxInfo', $wxInfo); session('userInfo', $this->userInfo); } $this->userId = isset($this->userInfo['id']) ? intval($this->userInfo['id']) : 0; if(empty($this->userId)){ showJson(1007,2103,['url'=> Wechat::makeRedirectUrl(url('/weixin/match/index','','',true))]); } // 更新登录时间 if(!PRedis::get("members:login")){ Member::where(['id'=> $this->userId])->update(['last_login_time'=> time()]); PRedis::set("members:login", $this->userId, rand(120, 300)); } // $realname = isset($this->userInfo['real_name'])? $this->userInfo['real_name'] : ''; $mobile = isset($this->userInfo['mobile'])? $this->userInfo['mobile'] : ''; $isReg = isset($this->userInfo['is_reg_profile'])? $this->userInfo['is_reg_profile'] : 0; if(empty($mobile) || $isReg != 1){ $this->needRegProfile = true; session('needRegProfile', true); }else{ session('needRegProfile', false); } // $this->userId = 100002; } /** * 验证用户 */ public function checkUser(){ $debug = config('weixin.debug'); $memberInfo = Member::where(['id'=> $this->userId, 'user_type'=> 2]) ->field('user_status,is_reg_profile,freezing_choose') ->find(); $needRegProfile = isset($memberInfo['is_reg_profile'])? intval($memberInfo['is_reg_profile']) : 0; $userStatus = isset($memberInfo['user_status'])? intval($memberInfo['user_status']) : -1; if($userStatus == -1) { showJson(1006, 1016, ['url' => 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=Mzg3ODEzNjMzMQ==&scene=124#wechat_redirect']); } // 用户冻结 if($userStatus != 1){ $freezingChoose = isset($memberInfo['freezing_choose']) ? intval($memberInfo['freezing_choose']) : 0; showJson(1006, $freezingChoose? ($freezingChoose + 1020) : 1011, ['url' => url('/weixin/page/custom', '', '', true)]); } // 未完善资料 if($needRegProfile != 1 && !$debug){ $referer = request()->server('HTTP_REFERER'); $rebackurl = $referer? $referer : url('/weixin/match/index','','',true); showJson(1006, 2132, ['url'=> Wechat::makeRedirectUrl(url('/weixin/index/entry?rebackurl='.$rebackurl,'','',true))]); } } } ?>