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() || Auth::guard('web-organization')->check()) { if ($request->route()->getName() != 'register.send_email') { return redirect(route('home')); } } return $next($request); }); $this->emailService = $emailService; $this->authService = $authService; } public function registerIndex() { return view('app.auth.register', ['title' => '会员注册']); } public function registerCompany() { return view('app.auth.register_company', ['title' => '企业会员注册']); } public function registerPerson() { return view('app.auth.register_person', ['title' => '个人会员注册']); } public function registerOrg() { return view('app.auth.register_org', ['title' => '机构会员注册']); } public function showSendEmail($type) { $user = $type == 1 ? auth('web-company')->user() : auth('web-member')->user(); return view('app.auth.register_send_email', ['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, config('aix.companyset.setmeal_com.setmeal_com_set.reg_service')); $this->taskService->doTask(17); $this->emailService->setAuthTag('company') ->setCallback('App\Services\Company\CompanyService', 'sendAuthEmailHook', [$registerValidatorRequest->email, $company]) ->sendAuthMail($registerValidatorRequest->email, EmailService::TEMPLATE_VALIDATION); return $this->sendSuccessResponse(['url' => route('register.send_email', ['type' => 1])]); } public function registerPersonPost(RegisterValidatorRequest $registerValidatorRequest) { /*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('home')]); } return $this->sendSuccessResponse(['url' => route('person.index')]); } $this->emailService->setAuthTag('personal') ->setCallback('App\Services\Person\MemberInfoService', 'sendAuthEmailHook', [$registerValidatorRequest->email, $member]) ->sendAuthMail($registerValidatorRequest->email, EmailService::TEMPLATE_VALIDATION); return $this->sendSuccessResponse(['url' => route('register.send_email', ['type' => 2])]); } public function registerOrgPost(RegisterValidatorRequest $registerValidatorRequest) { // if (!$this->geetestService->checkGeetest()) { // return $this->sendErrorResponse("极验不通过,请重新验证"); // } $org = $this->registerService->registerOrg($registerValidatorRequest->all()); $this->authService->login($org); //$this->membersSetmealService->addMemberSetmeal($org, config('aix.companyset.setmeal_com.setmeal_com_set.reg_service')); //$this->taskService->doTask(17); $this->emailService->setAuthTag('organization') ->setCallback('App\Services\Organization\OrganizationService', 'sendAuthEmailHook', [$registerValidatorRequest->email, $org]) ->sendAuthMail($registerValidatorRequest->email, EmailService::TEMPLATE_VALIDATION); return $this->sendSuccessResponse(['url' => route('register.send_email', ['type' => 3])]); } public function registerStatus() { $status = config('aix.system.register.register.close_reg'); if ($status == 1) { return AjaxError("网站暂停会员注册,请稍后再次尝试!"); } else { return AjaxSuccess(""); } } }