// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\index\controller; use app\api\service\passport\Login as LoginService; use think\facade\Cookie; use think\facade\Session; use think\response\Redirect; /** * 用户认证模块 * Class Passport * @package app\api\controller */ class Passport extends Controller { /** * 登录接口 (需提交手机号、短信验证码、第三方用户信息) * @return \think\response\Json|\think\response\View * @throws \app\common\exception\BaseException * @throws \think\Exception * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function login() { if ($this->request->method() =='GET'){ return view('logIn'); } // 执行登录 $LoginService = new LoginService; if (!$LoginService->login($this->postForm())) { return $this->renderError($LoginService->getError()); } // 用户信息 $userInfo = $LoginService->getUserInfo(); $token = $LoginService->getToken((int)$userInfo['user_id']); Session::set('access_token',$token); Session::set('user_id',$userInfo['user_id']); // $indexContr = new Index($this->app); // return $indexContr->index(); // $url = url('index/index/index'); return $this->renderSuccess([ 'userId' => (int)$userInfo['user_id'], 'token' => $LoginService->getToken((int)$userInfo['user_id']) ], '登录成功'); } }