[ 'except' => ['login', 'register'] ] ]; /** * 登录 */ public function login(): Json { if (!$this->request->isPost()) { return $this->renderError('不支持GET请求'); } $data = $this->postData(); try { validate()->rule([ 'uname|用户名' => 'require', 'upass|密码' => 'require', ])->check($data); } catch (ValidateException $v) { return $this->renderError($v->getMessage()); } $model = new UserService; if (($userInfo = $model->login($data['uname'], $data['upass'])) === false) { return $this->renderError($model->getError() ?: '登录失败'); } return $this->renderSuccess([ 'userId' => $userInfo['uid'], 'token' => LcJWTService::createToken($userInfo['uid'], $data['uname']) ], '登录成功'); } /** * 用户注册 * @return Json */ public function register(): Json { if (!$this->request->isPost()) { return $this->renderError('不支持GET请求'); } $post = $this->postData(); try { validate()->rule([ 'uname|用户名' => 'require', 'upass|密码' => 'require', 'qr_upass|确认密码' => 'require|confirm:upass', 'phone|手机号' => 'require|mobile' ])->check($post); } catch (ValidateException $v) { return $this->renderError($v->getMessage()); } $model = new UserService; if (($userInfo = $model->register($post)) === false) { return $this->renderError($model->getError() ?: '注册失败'); } return $this->renderSuccess("注册成功"); } }