all(); $code = request()->post('code', ''); $params = $validator->check($params, 'login'); if (!is_array($params)) { return showJson($params, false); } if (!$result = MemberService::make()->login($code, $params)) { return showJson(MemberService::make()->getError(), false); } return showJson(MemberService::make()->getError(), true, $result); }catch (\Exception $exception) { $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()]; return showJson(1046, false, $error); } } /** * 小程序授权登录 * @param MemberValidator $validator * @return array */ public function mpAuth(MemberValidator $validator) { $params = request()->all(); try { $params = $validator->check($params, 'mp'); if (!is_array($params)) { return showJson($params, false); } $code = isset($params['code']) ? $params['code'] : ''; if ($result = MemberService::make()->mpAuth($code, $params)) { return showJson(MemberService::make()->getError(), true, $result); }else{ return showJson(MemberService::make()->getError(), false); } } catch (\Exception $exception) { $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()]; RedisService::set("caches:members:loginError", ['params'=>$params, 'error'=>$error], 600); return showJson(1046, false, $error); } } /** * 重置密码 * @param MemberValidator $validator * @return array */ public function forget(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'reset_password'); if (!is_array($params)) { return showJson($params, false); } if(!MemberService::make()->forget($params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==1040?405:0); }else{ return showJson(MemberService::make()->getError(),true); } } /** * 发送短信验证码 * @return array */ public function smsSend(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'sms'); if (!is_array($params)) { return showJson($params, false); } // 发送验证码处理 $mobile = isset($params['mobile']) ? $params['mobile'] : ''; $scene = isset($params['scene']) ? $params['scene'] : ''; switch ($scene) { case 'register': if (MemberService::make()->checkExists('mobile', $mobile)) { return showJson(1040, false); } break; case 'deposit': // 退保 case 'reset_password': // 忘记密码 case 'login': if (!MemberService::make()->checkExists('mobile',$mobile)) { return showJson(2001, false); } break; } if (!SmsService::make()->send($mobile, $scene)) { return showJson(SmsService::make()->getError(), false); } return showJson(1011, true); } /** * 退出登录 * @return array */ public function logout() { RedisService::clear("auths:info:".$this->userId); return showJson(1003, true); } }