Browse Source

Merge branch 'master' of http://59.57.98.130:3000/jjhc/jucai

linwu 1 năm trước cách đây
mục cha
commit
a6286e40c5

+ 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) {

+ 16 - 16
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("密码已过期,请使用找回密码重新设置密码");
@@ -127,9 +127,9 @@ class LoginController extends WebBaseController
 
     public function loginBySms(AuthValidatorRequest $request)
     {
-        if(!$this->tencentCaptchaService->check($request->input('randstr'),$request->input('ticket'),$request->ip())){
-            return $this->sendErrorResponse("验证码不通过,请重新验证");
-        }
+//        if(!$this->tencentCaptchaService->check($request->input('randstr'),$request->input('ticket'),$request->ip())){
+//            return $this->sendErrorResponse("验证码不通过,请重新验证");
+//        }
 
 //        if (!$this->geetestService->checkGeetest(config('aix.system.site_safety.site_vo_code.members_login'))) {
 //            return $this->sendErrorResponse("验证码不通过,请重新验证", ['is_need_geetest'=>1]);
@@ -139,16 +139,16 @@ class LoginController extends WebBaseController
             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);
+//            $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
+//                config('aix.system.site_safety.site_vo_code.members_login')
+//            );
+            return $this->sendErrorResponse("短信验证码不对");
         }
         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);
+//            $data['is_need_geetest']=$this->geetestService->isNeedGeetest(
+//                config('aix.system.site_safety.site_vo_code.members_login')
+//            );
+            return $this->sendErrorResponse("用户不存在,请先注册账号");
         }
         if ($member->status == 0) {
             Auth::guard('web-member')->logout();

+ 9 - 1
app/Http/Controllers/Web/Common/SmsController.php

@@ -6,6 +6,7 @@ use App\Http\Controllers\Web\WebBaseController;
 use App\Services\Auth\AuthService;
 use App\Services\Common\GeetestService;
 use App\Services\Common\SmsService;
+use App\Services\Common\TencentCaptchaService;
 use App\Validators\SmsValidatorRequest;
 
 class SmsController extends WebBaseController
@@ -23,17 +24,20 @@ class SmsController extends WebBaseController
      */
     private $authService;
 
+    private $tencentCaptchaService;
+
     /**
      * CommonController constructor.
      * @param AuthService $authService
      * @param SmsService $smsService
      * @param GeetestService $geetestService
      */
-    public function __construct(AuthService $authService, SmsService $smsService, GeetestService $geetestService)
+    public function __construct(AuthService $authService, SmsService $smsService, GeetestService $geetestService, TencentCaptchaService $tencentCaptchaService)
     {
         $this->smsService = $smsService;
         $this->geetestService = $geetestService;
         $this->authService = $authService;
+        $this->tencentCaptchaService = $tencentCaptchaService;
     }
 
     public function sendSms(SmsValidatorRequest $smsValidatorRequest)
@@ -72,6 +76,10 @@ class SmsController extends WebBaseController
 //                return $this->sendErrorResponse("验证码不通过,请重新验证");
 //            }
 //        }
+
+        if(!$this->tencentCaptchaService->check(request()->input('randstr'),request()->input('ticket'),request()->ip())){
+            return $this->sendErrorResponse("验证码不通过,请重新验证");
+        }
         $this->smsService->sendAuthSms($mobile, Smser::TEMPLATE_AUTH_CHECK);
         return $this->sendSuccessResponse();
     }

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

@@ -182,6 +182,7 @@
                 }
                 if(res.ret == 0){
                     console.log('行为验证通过');
+
                     $("#ticket").val(res.ticket);
                     $("#bizState").val(res.bizState);
                     $("#randstr").val(res.randstr);
@@ -205,7 +206,10 @@
                     $("#randstr1").val(res.randstr);
                     submit_data={
                         "mobile":$("input[name='mobile']").val(),
-                        "type":"login"
+                        "type":"login",
+                        "ticket": res.ticket,
+                        "bizState": res.bizState,
+                        "randstr": res.randstr
                     };
                     $.ajax({
                         method: 'post',
@@ -254,6 +258,13 @@
 
             var mobile_captcha = new TencentCaptcha('196587903', mobile_captcha_callback, {});
             $('.btn-getcode').on('click', function () {
+
+                var mobile = $("input[name='mobile']").val();
+                if(mobile == null || mobile == ''){
+                    $("#message_mobile").addClass("errinfo");
+                    $("#message_mobile").text("请输入手机号码");
+                    return false;
+                }
                 mobile_captcha.show();
 
             });

+ 25 - 5
public/themes/default/views/app/auth/password_request.blade.php

@@ -131,6 +131,25 @@
         var sms_url="{{route('sms.send')}}";
         var find_type=1;
         var captcha_open ={{config('aix.system.site_safety.site_vo_code.captcha_open', 0) }};
+
+        var captcha_callback = function(res){
+            if(res.hasOwnProperty('errorMessage')){
+                alert(res.errorMessage)
+            }
+            if(res.ret == 0){
+                console.log('行为验证通过');
+
+                $("#ticket").val(res.ticket);
+                $("#bizState").val(res.bizState);
+                $("#randstr").val(res.randstr);
+                toSetSms(res);
+            }else{
+                console.log('用户主动关闭验证码')
+            }
+            console.log('callback:', res);
+        };
+        var captcha = new TencentCaptcha('196587903', captcha_callback, {});
+
         //找回用户类型
         $('.find_type').click(function(event) {
             var indexValue = $('.find_type').index(this);
@@ -179,14 +198,15 @@
                 error:function(data){
                     var error_obj=eval('(' + data.responseText + ')');
                     if(data.status==400) {//业务错误
-                        toSetSms({});
+                        captcha.show();
+
                     }
                 }
             });
         });
 
         // 发送手机验证码
-        function toSetSms(geet_result) {
+        function toSetSms(result) {
             function settime(countdown) {
                 if (countdown == 0) {
                     $('#J_getverificode').prop("disabled", 0);
@@ -207,13 +227,13 @@
             $('#J_getverificode').prop("disabled", !0);
             $('#J_getverificode').addClass('btn_disabled');
             $('#J_getverificode').val('发送中...');
-            geet_result.mobile= $.trim($('#mobile').val());
-            geet_result.type= "check";
+            result.mobile= $.trim($('#mobile').val());
+            result.type= "check";
             $.ajax({
                 url: sms_url,
                 type: 'POST',
                 dataType: 'json',
-                data: geet_result,
+                data: result,
                 success: function (data) {
                     // console.log(data);
                     setTimeout(function() {

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

@@ -11,6 +11,7 @@
 @push('js')
     <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
     <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
+    <script src="https://captcha.253.com/TCaptcha.js"></script>
 @endpush
 
 @section('content')
@@ -21,6 +22,9 @@
     </div>
     <div class="split-block"></div>
     <form method="post" id="form_account" action="{{route($sub_site.'mobile.login')}}">
+        <input type="hidden" name="ticket" id="ticket">
+        <input type="hidden" name="bizState" id="bizState">
+        <input type="hidden" name="randstr" id="randstr">
         {{ csrf_field() }}
         <div class="loging-input-group">
             <div class="group-list">
@@ -119,7 +123,7 @@
             $(".register_user").click(function(){
 				 var url=$(this).attr("url")
                 $.getJSON("{{route($sub_site.'register.status')}}", function (result) {
-                        
+
                         if (result.status == 0) {
                             qsToast({type:2,context: result.msg});
                         } else{
@@ -140,7 +144,43 @@
                 });
             };
 
-            gt_init(gt_call_back);//初始化极验
+            //gt_init(gt_call_back);//初始化极验
+
+            var captcha_callback = function(res){
+                if(res.hasOwnProperty('errorMessage')){
+                    alert(res.errorMessage)
+                }
+                if(res.ret == 0){
+                    console.log('行为验证通过');
+
+                    $("#ticket").val(res.ticket);
+                    $("#bizState").val(res.bizState);
+                    $("#randstr").val(res.randstr);
+                    ajax_login(1);
+                }else{
+                    console.log('用户主动关闭验证码')
+                }
+                console.log('callback:', res);
+            };
+
+
+            var captcha = new TencentCaptcha('196587903', captcha_callback, {});
+            $('.login-account').on('click', function () {
+                var usernameValue = $.trim($('input[name=account]').val());
+                var passwordValue = $.trim($('input[name=password]').val());
+                if (usernameValue == '') {
+                    qsToast({type:2,context: '请输入用户名/手机号'});
+                    return false;
+                }
+                if (passwordValue == '') {
+                    qsToast({type:2,context: '请输入密码'});
+                    return false;
+                }
+
+                //ajax_login(1);
+
+                captcha.show();
+            });
 
             $(".input-login").keydown(function(ev){
                 ev = ev || window.event;
@@ -222,9 +262,7 @@
                         error: function (errorData) {
                             //console.log(errorData);
                             var response=$.parseJSON(errorData.response);
-                            if (is_need_geetest==1){
-                                captchaObj.reset();
-                            }
+
                             if (errorData.status==422) {//验证错误
                                 $.each(response.errors,function (key,val) {
                                     qsToast({type:2,context: val[0]});
@@ -233,7 +271,7 @@
                             }
                             else if(errorData.status==400) {//业务错误
                                 qsToast({type:2,context: response.message});
-                                is_need_geetest=response.errors.is_need_geetest;
+                                //is_need_geetest=response.errors.is_need_geetest;
                             }
                         }
                     });

+ 144 - 57
public/themes/default/views/mobile/app/auth/login_mobile.blade.php

@@ -11,6 +11,7 @@
 @push('js')
     <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
     <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
+    <script src="https://captcha.253.com/TCaptcha.js"></script>
 @endpush
 
 @section('content')
@@ -138,7 +139,93 @@
                 });
             };
 
-            gt_init(gt_call_back);//初始化极验
+            //gt_init(gt_call_back);//初始化极验
+
+            var mobile_captcha_flag = false;
+            var mobile_captcha_callback = function(res){
+                if(res.hasOwnProperty('errorMessage')){
+                    alert(res.errorMessage)
+                }
+                if(res.ret == 0){
+                    mobile_captcha_flag = true;
+                    console.log('行为验证通过');
+                    $("#ticket1").val(res.ticket);
+                    $("#bizState1").val(res.bizState);
+                    $("#randstr1").val(res.randstr);
+                    submit_data={
+                        "mobile":$("input[name='mobile']").val(),
+                        "type":"login",
+                        "ticket": res.ticket,
+                        "bizState": res.bizState,
+                        "randstr": res.randstr
+                    };
+                    $.ajax({
+                        type: 'post',
+                        url: '{{route('sms.send')}}',
+                        data: submit_data,
+                        beforeSend:function () {
+                            // console.log('请求开始');
+                            // $(".errinfo").text("");
+                            // $(".errinfo").removeClass("errinfo");
+
+                        },
+                        complete:function() {
+                            console.log('请求结束');
+                        },
+                        success: function (data) {
+                            // console.log(data);
+                            qsToast({type:2,context: '验证码已发送,请注意查收'});
+                            settime();
+                        },
+                        error: function (errorData) {
+                            // console.log(errorData);
+                            if (countdown == 60) {
+                                $('#getVerfyCode').removeClass('qs-btn-border-disabled');
+                                $('#getVerfyCode').text('获取验证码');
+                            }
+                            var response=$.parseJSON(errorData.response);
+                            if (errorData.status==422) {//验证错误
+                                $.each(response.errors,function (key,val) {
+                                    qsToast({type:2,context: val[0]});
+                                    return false;
+                                });
+                            }
+                            else if(errorData.status==400) {//业务错误
+                                qsToast({type:2,context: response.message});
+                                //is_need_geetest=response.errors.is_need_geetest;
+                            }
+                        }
+                    });
+                }else{
+                    console.log('用户主动关闭验证码')
+                }
+                console.log('callback:', res);
+            }
+
+            var mobile_captcha = new TencentCaptcha('196587903', mobile_captcha_callback, {});
+            $('.btn-getcode').on('click', function () {
+                var mobile = $.trim($('input[name=mobile]').val());
+                if (mobile == '') {
+                    qsToast({type:2,context: '请输入手机号码'});
+                    return false;
+                }
+                if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {
+                    return false;
+                }
+                mobile_captcha.show();
+
+            });
+
+            $('.login-mobile').on('click', function () {
+                login_type=2;
+
+                if (mobile_captcha_flag){
+                    ajax_login(2);
+                }
+                else{
+                    alert('验证码组件异常')
+                }
+            });
 
             $(".input-login").keydown(function(ev){
                 ev = ev || window.event;
@@ -157,58 +244,58 @@
                     $('#autoLogin').val('0');
                 }
             })
-            $('.btn-getcode').on('click', function () {
-                var mobile = $.trim($('input[name=mobile]').val());
-                if (mobile == '') {
-                    qsToast({type:2,context: '请输入手机号码'});
-                    return false;
-                }
-                if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {
-                    return false;
-                }
-                $('#getVerfyCode').addClass('qs-btn-border-disabled');
-                $('#getVerfyCode').text('发送中...');
-                submit_data={
-                    "mobile":mobile,
-                    "type":"login"
-                };
-                $.ajax({
-                    type: 'post',
-                    url: '{{route('sms.send')}}',
-                    data: submit_data,
-                    beforeSend:function () {
-                       // console.log('请求开始');
-
-
-                    },
-                    complete:function() {
-                        //console.log('请求结束');
-                    },
-                    success: function (data) {
-                       // console.log(data);
-                        qsToast({type:2,context: '验证码已发送,请注意查收'});
-                        settime();
-                    },
-                    error: function (errorData) {
-                       // console.log(errorData);
-                        if (countdown == 60) {
-                            $('#getVerfyCode').removeClass('qs-btn-border-disabled');
-                            $('#getVerfyCode').text('获取验证码');
-                        }
-                        var response=$.parseJSON(errorData.response);
-                        if (errorData.status==422) {//验证错误
-                            $.each(response.errors,function (key,val) {
-                                qsToast({type:2,context: val[0]});
-                                return false;
-                            });
-                        }
-                        else if(errorData.status==400) {//业务错误
-                            qsToast({type:2,context: response.message});
-                            is_need_geetest=response.errors.is_need_geetest;
-                        }
-                    }
-                });
-            });
+            {{--$('.btn-getcode').on('click', function () {--}}
+            {{--    var mobile = $.trim($('input[name=mobile]').val());--}}
+            {{--    if (mobile == '') {--}}
+            {{--        qsToast({type:2,context: '请输入手机号码'});--}}
+            {{--        return false;--}}
+            {{--    }--}}
+            {{--    if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {--}}
+            {{--        return false;--}}
+            {{--    }--}}
+            {{--    $('#getVerfyCode').addClass('qs-btn-border-disabled');--}}
+            {{--    $('#getVerfyCode').text('发送中...');--}}
+            {{--    submit_data={--}}
+            {{--        "mobile":mobile,--}}
+            {{--        "type":"login"--}}
+            {{--    };--}}
+            {{--    $.ajax({--}}
+            {{--        type: 'post',--}}
+            {{--        url: '{{route('sms.send')}}',--}}
+            {{--        data: submit_data,--}}
+            {{--        beforeSend:function () {--}}
+            {{--           // console.log('请求开始');--}}
+
+
+            {{--        },--}}
+            {{--        complete:function() {--}}
+            {{--            //console.log('请求结束');--}}
+            {{--        },--}}
+            {{--        success: function (data) {--}}
+            {{--           // console.log(data);--}}
+            {{--            qsToast({type:2,context: '验证码已发送,请注意查收'});--}}
+            {{--            settime();--}}
+            {{--        },--}}
+            {{--        error: function (errorData) {--}}
+            {{--           // console.log(errorData);--}}
+            {{--            if (countdown == 60) {--}}
+            {{--                $('#getVerfyCode').removeClass('qs-btn-border-disabled');--}}
+            {{--                $('#getVerfyCode').text('获取验证码');--}}
+            {{--            }--}}
+            {{--            var response=$.parseJSON(errorData.response);--}}
+            {{--            if (errorData.status==422) {//验证错误--}}
+            {{--                $.each(response.errors,function (key,val) {--}}
+            {{--                    qsToast({type:2,context: val[0]});--}}
+            {{--                    return false;--}}
+            {{--                });--}}
+            {{--            }--}}
+            {{--            else if(errorData.status==400) {//业务错误--}}
+            {{--                qsToast({type:2,context: response.message});--}}
+            {{--                is_need_geetest=response.errors.is_need_geetest;--}}
+            {{--            }--}}
+            {{--        }--}}
+            {{--    });--}}
+            {{--});--}}
 
 
             function ajax_login(type, captchaObj) {
@@ -272,9 +359,9 @@
                         },
                         error: function (errorData) {
                             var response=$.parseJSON(errorData.response);
-                            if (is_need_geetest==1){
-                                captchaObj.reset();
-                            }
+                            // if (is_need_geetest==1){
+                            //     captchaObj.reset();
+                            // }
                             if (errorData.status==422) {//验证错误
                                 $.each(response.errors,function (key,val) {
                                     qsToast({type:2,context: val[0]});
@@ -283,7 +370,7 @@
                             }
                             else if(errorData.status==400) {//业务错误
                                 qsToast({type:2,context: response.message});
-                                is_need_geetest=response.errors.is_need_geetest;
+                                //is_need_geetest=response.errors.is_need_geetest;
                             }
                         }
                     });

+ 68 - 29
public/themes/default/views/mobile/app/auth/password_mobile.blade.php

@@ -11,6 +11,7 @@
 @push('js')
     <script type="text/javascript" src="{{ theme_asset('gt/gt.js') }}"></script>
     <script type="text/javascript" src="{{ theme_asset('gt/gt.handle.js') }}"></script>
+    <script src="https://captcha.253.com/TCaptcha.js"></script>
 @endpush
 
 @section('content')
@@ -47,38 +48,76 @@
     <script type="text/javascript" src="{{ theme_asset('app/js/regular.js') }}"></script>
 <script>
     //发送短信
-    var handler = function(captchaObj) {
-        captchaObj.appendTo("#popup-captcha");
-        captchaObj.onSuccess(function() {
-            var result = captchaObj.getValidate();
-            toSetSms(result);
-        });
+    // var handler = function(captchaObj) {
+    //     captchaObj.appendTo("#popup-captcha");
+    //     captchaObj.onSuccess(function() {
+    //         var result = captchaObj.getValidate();
+    //         toSetSms(result);
+    //     });
+    //
+    //     captchaObj.onError(function() {
+    //
+    //     });
+    //     $('#getVerfyCode').on('click', function () {
+    //         if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {
+    //             return false;
+    //         }
+    //         var mobileValue = $.trim($('input[name=mobile]').val());
+    //         if (mobileValue == '') {
+    //             qsToast({type:2,context: '请输入手机号码'});
+    //             return false;
+    //         }
+    //         if (mobileValue != "" && !regularMobile.test(mobileValue)) {
+    //             qsToast({type:2,context: '手机号码格式不正确'});
+    //             return false;
+    //         }
+    //         if (remoteValid('mobile',mobileValue)) {
+    //             qsToast({type:2,context: '该手机号没有注册账号'});
+    //             return false;
+    //         }
+    //         captchaObj.verify();
+    //
+    //     });
+    // };
+    // gt_init(handler);
 
-        captchaObj.onError(function() {
+    var captcha_callback = function(res){
+        if(res.hasOwnProperty('errorMessage')){
+            alert(res.errorMessage)
+        }
+        if(res.ret == 0){
+            console.log('行为验证通过');
+            $("#ticket").val(res.ticket);
+            $("#bizState").val(res.bizState);
+            $("#randstr").val(res.randstr);
+            toSetSms(res);
+        }else{
+            console.log('用户主动关闭验证码')
+        }
+        console.log('callback:', res);
+    }
 
-        });
-        $('#getVerfyCode').on('click', function () {
-            if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {
-                return false;
-            }
-            var mobileValue = $.trim($('input[name=mobile]').val());
-            if (mobileValue == '') {
-                qsToast({type:2,context: '请输入手机号码'});
-                return false;
-            }
-            if (mobileValue != "" && !regularMobile.test(mobileValue)) {
-                qsToast({type:2,context: '手机号码格式不正确'});
-                return false;
-            }
-            if (remoteValid('mobile',mobileValue)) {
-                qsToast({type:2,context: '该手机号没有注册账号'});
-                return false;
-            }
-            captchaObj.verify();
+    var captcha = new TencentCaptcha('196587903', captcha_callback, {});
+    $('#getVerfyCode').on('click', function () {
+        if ($('#getVerfyCode').hasClass('qs-btn-border-disabled')) {
+            return false;
+        }
+        var mobileValue = $.trim($('input[name=mobile]').val());
+        if (mobileValue == '') {
+            qsToast({type:2,context: '请输入手机号码'});
+            return false;
+        }
+        if (mobileValue != "" && !regularMobile.test(mobileValue)) {
+            qsToast({type:2,context: '手机号码格式不正确'});
+            return false;
+        }
+        if (remoteValid('mobile',mobileValue)) {
+            qsToast({type:2,context: '该手机号没有注册账号'});
+            return false;
+        }
+        captcha.show();
 
-        });
-    };
-    gt_init(handler);
+    });
 
     // 发送手机验证码
     function toSetSms(geet_result) {