all(); $params = $validator->check($params, 'email_password_login'); if (!is_array($params)) { return showJson($params, false); } if (!$result = MemberService::make()->loginByEmail($params)) { return showJson(MemberService::make()->getError(), false); } return showJson(MemberService::make()->getError(), true, $result); } /** * 手机号登录 * @return array */ public function loginMobile(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'mobile_password_login'); if (!is_array($params)) { return showJson($params, false); } if (!$result = MemberService::make()->loginByMobile($params)) { return showJson(MemberService::make()->getError(), false); } return showJson(MemberService::make()->getError(), true, $result); } /** * 注册 * @return array */ public function register(MemberValidator $validator) { $params = request()->all(); $type = request()->post('type',1); $params = $validator->check($params, $type==1?'email_register':'mobile_register'); if (!is_array($params)) { return showJson($params, false); } if (!$result = MemberService::make()->register($params)) { return showJson(MemberService::make()->getError(), false); } return showJson(MemberService::make()->getError(), true, $result); } /** * 修改账号信息 * @param MemberValidator $validator * @return array */ public function forget(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'modify_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 sendSms(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'sms'); $appSources = isset($params['app_sources']) ? $params['app_sources'] : ''; if (!is_array($params)) { return showJson($params, false); } // 发送验证码处理 $mobile = isset($params['mobile']) ? $params['mobile'] : ''; $scene = isset($params['scene']) ? $params['scene'] : ''; switch ($scene) { case 'reg': if (MemberService::make()->checkExists('mobile', $mobile)) { return showJson(1058, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; case 'modify_mobile': if (MemberService::make()->checkExists('mobile', $mobile)) { return showJson(1058, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; case 'reset_password': case 'login': if (!MemberService::make()->checkExists('mobile',$mobile)) { return showJson(2001, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; } if (!SmsService::make()->send($mobile, $scene)) { return showJson(SmsService::make()->getError(), false); } return showJson(1011, true); } /** * 发送邮箱验证码 * @return array */ public function sendEmail(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'email'); $appSources = isset($params['app_sources']) ? $params['app_sources'] : ''; if (!is_array($params)) { return showJson($params, false); } // 发送验证码处理 $email = isset($params['email']) ? $params['email'] : ''; $scene = isset($params['scene']) ? $params['scene'] : ''; switch ($scene) { case 'reg': if (MemberService::make()->checkExists('email', $email)) { return showJson(2009, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; case 'modify_email': if (MemberService::make()->checkExists('email', $email)) { return showJson(2009, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; case 'reset_password': case 'login': if (!MemberService::make()->checkExists('email',$email)) { return showJson(2001, false, ['app_url' => ConfigService::make()->getConfigByCode("app_{$appSources}_url"),], 406); } break; } if (!EmailService::make()->send($email, $scene)) { return showJson(EmailService::make()->getError(), false); } return showJson(2020, true); } }