setUserGlobal($uid, $channel_id); } else { $openid = $request->get('openid'); $params = $request->except('_url'); if (empty($openid)) { $url = url()->current() . '?' . http_build_query($params); $params['redirect_url'] = urlencode($url); $app = new Application($this->auth($params)); return $app->oauth->redirect(); } else { $site_user = new SiteUser($openid); $user = $site_user->getChannelUser(); Cookie::queue('crm_user_id', $user[0], env('U_COOKIE_EXPIRE')); Cookie::queue('crm_channel_id', $user[1], env('U_COOKIE_EXPIRE')); $this->setUserGlobal($user[0], $user[1]); } } return $next($request); } private function setUserGlobal($uid, $channel_id) { $user = app()->make('user'); $user->id = $uid; $user->channel_id = $channel_id; } private function auth($param) { $param['appid'] = 'wx9d389a73b88bbeae'; $options = [ 'app_id' => 'wx9d389a73b88bbeae', 'secret' => '2f6594bb595dfa256b5512e43a32a3d3', 'oauth' => [ 'scopes' => ['snsapi_base'], 'callback' => env('AUTH_CALLBACK_URL') . '?' . http_build_query($param), ], ]; return $options; } }