get('secret_key'); if(empty($secret_key)) { throw new AuthException('参数错误,请重新扫码', -9); } $this->siteData = (new Site)->where('secret_key',$secret_key)->find(); } /** * 绑定数据 */ public function system_bind(Request $request){ $token = $request->get('token'); if(empty($token)) { $this->assign('error','token 错误,请重新扫码绑定!'); return $this->display('binderror'); } $token = str_replace(" ","+",$token); $str = crypto_decrypt(base64_decode($token),'md5_token'); if(empty($str)) { $this->assign('error','token 错误,请重新扫码绑定!'); return $this->display('binderror'); } $strAr = explode('|',$str); if(count($strAr) != 2) { $this->assign('error','数据出错!'); return $this->display('binderror'); } $w = $this->weixinLogin(); if(!$w[1]) { return $w[0]; } $this->assign('user',$w[0]); $this->assign('site',$this->siteData); $this->assign('token',$token); $this->assign('secret_key',$this->siteData['secret_key']); return $this->display('bindqrcode'); } public function system_bind_data(Request $request){ $token = $request->post('token'); if(empty($token)) { return app('json')->fail('token 错误,请重新扫码绑定!'); } $token = str_replace(" ","+",$token); $str = crypto_decrypt(base64_decode($token),'md5_token'); if(empty($str)) { return app('json')->fail('token 错误,请重新扫码绑定!'); } $w = $this->weixinLogin(); if(!$w[1]) { return $w[0]; } $userInfo = $w[0]; $count = Db::name("weixin_push_user") ->where('sassid',$this->siteData['sassid']) ->where('openid',$userInfo['openid']) ->count(); if($count <= 0) { $d['type'] = 'admin'; $d['sassid'] = $this->siteData['sassid']; $d['uid'] = 0; $d['time'] = time(); $d['avatar'] = $userInfo['headimgurl']; $d['nickname'] = $userInfo['nickname']; $d['openid'] = $userInfo['openid']; Db::name("weixin_push_user")->insert($d); } return app('json')->success('操作成功'); } public function bindsuccess(){ return $this->display(); } /** * 微信登录板顶 */ private function weixinLogin() { $weixinUser = cookie('weix_userinfo'); if(!empty($weixinUser)) return [unserialize($weixinUser),true]; $domain = \request()->url(); cookie('w_url',$domain); $weixinA = new weixina; return [$weixinA->oauth('login'),false]; } }