| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 | 
							- <?php
 
- namespace App\Http\Controllers\Web\Auth;
 
- use Aix\Sms\Contracts\Smser;
 
- use App\Http\Controllers\Web\WebBaseController;
 
- use App\Services\Auth\AuthService;
 
- use App\Services\Common\GeetestService;
 
- use App\Services\Common\SmsService;
 
- use App\Validators\AuthValidatorRequest;
 
- use Closure;
 
- use Illuminate\Support\Facades\Auth;
 
- class LoginController extends WebBaseController
 
- {
 
-     /**
 
-      * @var AuthService
 
-      */
 
-     protected $authService;
 
-     /**
 
-      * @var SmsService
 
-      */
 
-     protected $smsService;
 
-     /**
 
-      * @var GeetestService
 
-      */
 
-     protected $geetestService;
 
-     /**
 
-      * LoginController constructor.
 
-      * @param AuthService $authService
 
-      * @param SmsService $smsService
 
-      * @param GeetestService $geetestService
 
-      */
 
-     public function __construct(
 
-         AuthService $authService,
 
-         SmsService $smsService,
 
-         GeetestService $geetestService
 
-     ) {
 
-         $this->authService = $authService;
 
-         $this->smsService = $smsService;
 
-         $this->geetestService = $geetestService;
 
-         $this->middleware(function ($request, Closure $next) {
 
-             if ($request->route()->getName() != 'logout') {
 
-                 if (Auth::guard('web-member')->check() || Auth::guard('web-company')->check() || Auth::guard('web-organization')->check()) {
 
-                     return redirect(route('home'));
 
-                 }
 
-             }
 
-             return $next($request);
 
-         });
 
-     }
 
-     public function showLoginForm()
 
-     {
 
-         if (request()->has('redirect_url')) {
 
-             session(['url.intended'=>urldecode(request()->get('redirect_url'))]);
 
-         }
 
-         return view('app.auth.login');
 
-     }
 
-     public function showLoginCompanyForm()
 
-     {
 
-         if (request()->has('redirect_url')) {
 
-             session(['url.intended'=>urldecode(request()->get('redirect_url'))]);
 
-         }
 
-         return view('app.auth.login_company');
 
-     }
 
-     public function showLoginOrgForm()
 
-     {
 
-         if (request()->has('redirect_url')) {
 
-             session(['url.intended'=>urldecode(request()->get('redirect_url'))]);
 
-         }
 
-         return view('app.auth.login_org');
 
-     }
 
-     public function loginByAccount(AuthValidatorRequest $request)
 
-     {
 
-         if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 
-             return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest'=>1]);
 
-         }
 
-         if (!$member=$this->authService->loginByAccount($request->account, $request->password, $request->autoLogin)) {
 
-             $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
 
-                 config('aix.system.site_safety.site_vo_code.members_login')
 
-             );
 
-             return $this->sendErrorResponse("账号或密码错误或密码过期,请使用找回密码功能", $data);
 
-         }
 
- //        if(!$this->authService->checkPwdLog($member)){
 
- //            return $this->sendErrorResponse("密码已过期,请使用找回密码重新设置密码");
 
- //        }
 
-         if ($member->status == 0) {
 
-             Auth::guard('web-member')->logout();
 
-             return $this->sendErrorResponse("你的账号处于封禁状态, 请联系管理员");
 
-         }
 
-         return $this->sendSuccessResponse([
 
-             'redirect_url'=>url($request->session()
 
-                 ->pull('url.intended', route('person.index')))]);
 
-     }
 
-     public function loginBySms(AuthValidatorRequest $request)
 
-     {
 
-         if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 
-             return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest'=>1]);
 
-         }
 
-         if (!$this->smsService->checkAuthSms(
 
-             $request->mobile,
 
-             Smser::TEMPLATE_AUTH_LOGIN,
 
-             $request->code
 
-         )) {
 
-             $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
 
-                 config('aix.system.site_safety.site_vo_code.members_login')
 
-             );
 
-             return $this->sendErrorResponse("短信验证码不对", $data);
 
-         }
 
-         if (!$member=$this->authService->loginByAccount($request->mobile, '', $request->autoLogin)) {
 
-             $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
 
-                 config('aix.system.site_safety.site_vo_code.members_login')
 
-             );
 
-             return $this->sendErrorResponse("用户不存在,请先注册账号", $data);
 
-         }
 
-         if ($member->status == 0) {
 
-             Auth::guard('web-member')->logout();
 
-             return $this->sendErrorResponse("你的账号处于封禁状态, 请联系管理员");
 
-         }
 
-         return $this->sendSuccessResponse([
 
-             'redirect_url'=>url($request->session()
 
-                 ->pull('url.intended', route('person.index')))]);
 
-     }
 
-     public function loginByCompany(AuthValidatorRequest $request)
 
-     {
 
-         if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 
-             return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest'=>1]);
 
-         }
 
-         if (!$company=$this->authService->loginByCompany(
 
-             $request->company_account,
 
-             $request->company_password,
 
-             $request->autoLogin
 
-         )) {
 
-             $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
 
-                 config('aix.system.site_safety.site_vo_code.members_login')
 
-             );
 
-             return $this->sendErrorResponse("账号或密码错误", $data);
 
-         }
 
-         if ($company->user_status == 0) {
 
-             Auth::guard('web-company')->logout();
 
-             return $this->sendErrorResponse("你的账号处于封禁状态, 请联系管理员");
 
-         }
 
-         return $this->sendSuccessResponse([
 
-             'redirect_url'=>url($request->session()
 
-                 ->pull('url.intended', route('com.index')))]);
 
-     }
 
-     public function loginByOrg(AuthValidatorRequest $request)
 
-     {
 
-         if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 
-             return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest'=>1]);
 
-         }
 
-         if (!$organization=$this->authService->loginByOrganization(
 
-             $request->org_account,
 
-             $request->org_password,
 
-             $request->autoLogin
 
-         )) {
 
-             $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
 
-                 config('aix.system.site_safety.site_vo_code.members_login')
 
-             );
 
-             return $this->sendErrorResponse("账号或密码错误", $data);
 
-         }
 
-         if ($organization->user_status == 0) {
 
-             Auth::guard('web-organization')->logout();
 
-             return $this->sendErrorResponse("你的账号处于封禁状态, 请联系管理员");
 
-         }
 
-         return $this->sendSuccessResponse([
 
-             'redirect_url'=>url($request->session()
 
-                 ->pull('url.intended', route('org.index')))]);
 
-     }
 
-     public function logout()
 
-     {
 
-         $this->authService->logout();
 
-         return redirect(route('home'));
 
-     }
 
- }
 
 
  |