registerService = $registerService; $this->geetestService = $geetestService; $this->smsService = $smsService; $this->taskService = $taskService; $this->membersSetmealService = $membersSetmealService; $this->middleware(function ($request, Closure $next) { if (Auth::guard('web-member')->check() || Auth::guard('web-company')->check()) { if ($request->route()->getName() != 'mobile.register.send_email') { if (get_subsite_id() > 0) { return redirect(route('jkq.mobile.home')); } else { return redirect(route('mobile.home')); } } } return $next($request); }); $this->emailService = $emailService; $this->authService = $authService; } public function registerIndex() { return view('mobile.app.auth.register', ['wap_title' => '会员注册']); } public function registerCompany() { return view('mobile.app.auth.register_company', ['wap_title' => '企业会员注册']); } public function registerPerson() { return view('mobile.app.auth.register_person', ['wap_title' => '个人会员注册']); } public function registerPersonEmail() { return view('mobile.app.auth.register_person_email', ['wap_title' => '个人会员注册']); } public function showSendEmail($type) { $user = $type == 1 ? auth('web-company')->user() : auth('web-member')->user(); return view('mobile.app.auth.register_send_email', ['wap_title' => '邮箱激活', 'type' => $type, 'user' => $user]); } public function checkUnique($utype) { if ($this->registerService->checkUnique($utype, request()->type, request()->param)) { return $this->sendSuccessResponse(); } return $this->sendErrorResponse("error"); } public function registerCompanyPost(RegisterValidatorRequest $registerValidatorRequest) { // if (!$this->geetestService->checkGeetest()) { // return $this->sendErrorResponse("极验不通过,请重新验证"); // } $company = $this->registerService->registerCompany($registerValidatorRequest->all()); $this->authService->login($company); $this->membersSetmealService->addMemberSetmeal($company, 1); $this->taskService->doTask(17); $this->emailService->setAuthTag('company')->setCheckRoute('mobile.email.check') ->setCallback('App\Services\Company\CompanyService', 'sendAuthEmailHook', [$registerValidatorRequest->email, $company]) ->sendAuthMail($registerValidatorRequest->email, EmailService::TEMPLATE_VALIDATION); return $this->sendSuccessResponse(['url' => route('mobile.register.send_email', ['type' => 1])]); } public function registerPersonPost(RegisterValidatorRequest $registerValidatorRequest, AuthValidatorRequest $request) { // if (!$this->geetestService->checkGeetest()) { // return $this->sendErrorResponse("验证码不通过,请重新验证"); // } if ($registerValidatorRequest->reg_type == 1) { if (!$this->smsService->checkAuthSms($registerValidatorRequest->mobile, Smser::TEMPLATE_AUTH_REGISTER, $registerValidatorRequest->mobile_vcode)) { return $this->sendErrorResponse("短信验证码不通过,请重新输入"); } } $member = $this->registerService->registerPerson($registerValidatorRequest->all()); $this->authService->login($member); if ($registerValidatorRequest->reg_type == 1) { $this->taskService->doTask(7); if ($registerValidatorRequest->member_status == 3) { return $this->sendSuccessResponse(['url' => route('mobile.home')]); } return $this->sendSuccessResponse([ 'url' => url($request->session() ->pull('url.intended', route('mobile.person.index')))]); } $this->emailService->setAuthTag('personal')->setCheckRoute('mobile.email.check') ->setCallback('App\Services\Person\MemberInfoService', 'sendAuthEmailHook', [$registerValidatorRequest->email, $member]) ->sendAuthMail($registerValidatorRequest->email, EmailService::TEMPLATE_VALIDATION); return $this->sendSuccessResponse(['url' => route('mobile.register.send_email', ['type' => 2])]); } }