Browse Source

更新验证码逻辑

sandm 1 year ago
parent
commit
ad041717fb

+ 15 - 6
app/Http/Controllers/Mobile/Auth/LoginController.php

@@ -9,6 +9,7 @@ use App\Services\Auth\AuthService;
 use App\Services\Auth\RegisterService;
 use App\Services\Common\GeetestService;
 use App\Services\Common\SmsService;
+use App\Services\Common\TencentCaptchaService;
 use App\Services\CommonService;
 use App\Validators\AuthValidatorRequest;
 use Closure;
@@ -34,6 +35,8 @@ class LoginController extends MobileBaseController
 
     protected $sub_site = '';
 
+    protected $tencentCaptchaService;
+
 
     /**
      * LoginController constructor.
@@ -44,12 +47,14 @@ class LoginController extends MobileBaseController
     public function __construct(
         AuthService $authService,
         SmsService $smsService,
-        GeetestService $geetestService
+        GeetestService $geetestService,
+        TencentCaptchaService $tencentCaptchaService
     )
     {
         $this->authService    = $authService;
         $this->smsService     = $smsService;
         $this->geetestService = $geetestService;
+        $this->tencentCaptchaService = $tencentCaptchaService;
         /*$this->middleware(function ($request, Closure $next) {
             if (strpos($request->route()->getName(), 'mobile.logout') === false) {
                 if (Auth::guard('web-member')->check() || Auth::guard('web-company')->check()) {
@@ -93,10 +98,14 @@ class LoginController extends MobileBaseController
 //        if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 //            return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest' => 1]);
 //        }
+        if(!$this->tencentCaptchaService->check($request->input('randstr'),$request->input('ticket'),$request->ip())){
+            return $this->sendErrorResponse("验证码不通过,请重新验证");
+        }
+
         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')
-            );
+//            $data['is_need_geetest'] = $this->geetestService->isNeedGeetest(
+//                config('aix.system.site_safety.site_vo_code.members_login')
+//            );
 
             $redis = Cache::getRedis();
             $value = $redis->get('user_' . $request->account);
@@ -106,11 +115,11 @@ class LoginController extends MobileBaseController
             }
             if ($value >= 5) {
                 $redis->expire('user_' . $request->account, 900);
-                return $this->sendErrorResponse("连续登录失败5次,请15分钟后再尝试!", $data);
+                return $this->sendErrorResponse("连续登录失败5次,请15分钟后再尝试!");
             }
             $redis->set('user_' . $request->account, ++$value);
 
-            return $this->sendErrorResponse("账号或密码错误或密码已超过90天未修改,请使用找回密码功能", $data);
+            return $this->sendErrorResponse("账号或密码错误或密码已超过90天未修改,请使用找回密码功能");
 
         }
         if ($member->status == 0) {

+ 5 - 5
app/Http/Controllers/Web/Auth/LoginController.php

@@ -95,9 +95,9 @@ class LoginController extends WebBaseController
         }
 
         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')
-            );
+//            $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
+//                config('aix.system.site_safety.site_vo_code.members_login')
+//            );
 
             $redis = Cache::getRedis();
             $value = $redis->get('user_'.$request->account);
@@ -107,11 +107,11 @@ class LoginController extends WebBaseController
             }
             if($value >= 5){
                 $redis->expire('user_'.$request->account,900);
-                return $this->sendErrorResponse("连续登录失败5次,请15分钟后再尝试!", $data);
+                return $this->sendErrorResponse("连续登录失败5次,请15分钟后再尝试!");
             }
             $redis->set('user_'.$request->account,++$value);
 
-            return $this->sendErrorResponse("账号或密码错误或密码已超过90天未修改,请使用找回密码功能", $data);
+            return $this->sendErrorResponse("账号或密码错误或密码已超过90天未修改,请使用找回密码功能");
         }
 //        if(!$this->authService->checkPwdLog($member)){
 //            return $this->sendErrorResponse("密码已过期,请使用找回密码重新设置密码");

+ 1 - 1
public/themes/default/views/mobile/app/auth/login.blade.php

@@ -177,7 +177,7 @@
                     return false;
                 }
 
-                ajax_login(1);
+                //ajax_login(1);
 
                 captcha.show();
             });