all(); $params = $validator->check($params, 'login'); if(!is_array($params)){ return message($params, true); } // 获取授权TOKEN $jwt = new Jwt('jwt_app'); $token = $jwt->getToken($userId, 3); // 结果返回 $result = [ 'access_token' => $token, 'info'=> $this->userInfo, ]; // 用户信息 RedisService::set("auths:info:{$userId}", $this->userInfo, 4*24*3600); return message('获取授权成功', true, $result); } public function register(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'register'); if(!is_array($params)){ return message($params, true); } if($params['code'] != 123456 && !$this->checkCode($params['username'], $params['code'], 'reg')){ return message(1017, true); } if(MemberService::make()->register($params)){ return message(MemberService::getError()); } } /** * 检测验证码 * @param $username 账号 * @param $code 验证码 * @param $scene 验证场景:reg-注册,forget-找回密码 * @return bool */ protected function checkCode($username, $code, $scene) { $validator = new MemberValidator(); if(!is_array($validator->check(['mobile'=> $username],'mobile'))){ return EmailService::make()->check($username, $code, $scene); }else{ return SmsService::make()->check($username, $code, $scene); } } /** * 发送验证码 * @param MemberValidator $validator * @return array */ public function sendmsm(MemberValidator $validator) { $username = request()->post('username'); $check1 = $validator->check(['mobile'=> $username],'mobile'); $type = !is_array($check1)? 2 : 1; $check2 = $validator->check(['email'=> $username], 'email'); if(!is_array($check1) && !is_array($check2)){ return message(!is_array($check1)? $check1 : $check2, true); } // 手机短信 if($type == 1){ if(!SmsService::make()->sendCode($username, 'reg')){ return message(SmsService::getError()??'1003'); } }else{ if(!EmailService::make()->sendCode($username, 'reg')){ return message(EmailService::getError()??'1003'); } } return message($type==1? 1012 : 1016, true); } }