瀏覽代碼

取极验结果的更好的方式

Michael Wang 4 年之前
父節點
當前提交
98e6f4e181
共有 2 個文件被更改,包括 6 次插入50 次删除
  1. 0 45
      src/features/Login/GeeTest.vue
  2. 6 5
      src/features/Login/Login.vue

+ 0 - 45
src/features/Login/GeeTest.vue

@@ -15,53 +15,8 @@ export default {
   },
   async mounted() {
     const that = this;
-    // const emit = this.$emit.bind(this);
     function handler(captchaObj) {
       that.$emit("on-load", captchaObj);
-      // emit("on-result", captchaObj.getValidate());
-      // $("#submit").click(function (e) {
-      //   var result = captchaObj.getValidate();
-      //   if (!result) {
-      //     // $("#notice").show();
-      //     // setTimeout(function () {
-      //     //   $("#notice").hide();
-      //     // }, 2000);
-      //     e.preventDefault();
-      //   }
-      //   // const dom = $(".geetest_form").clone(true, true);
-      //   // $("#submit").append(dom);
-      //   // $(".geetest_form").children()[0].name = "challenge";
-      //   // $(".geetest_form").children()[1].name = "validate";
-      //   // $(".geetest_form").children()[2].name = "seccode";
-      //   $.ajax({
-      //     url: "/geetest/validate", // 加随机数防止缓存
-      //     type: "POST",
-      //     contentType: "application/json;charset=UTF-8",
-      //     data: JSON.stringify({
-      //       user_id: localStorage.getItem("uuidForEcs"),
-      //       client_type: "Web",
-      //       challenge: document.querySelector(".geetest_form").children()[0]
-      //         .value,
-      //       validate: document.querySelector(".geetest_form").children()[1]
-      //         .value,
-      //       seccode: document.querySelector(".geetest_form").children()[2]
-      //         .value,
-      //     }),
-      //     dataType: "json",
-      //     success: function (data) {
-      //       // 调用 initGeetest 初始化参数
-      //       // 参数1:配置参数
-      //       // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它调用相应的接口
-      //       console.log(data);
-      //       // alert(data);
-      //       // if(data.success) {
-      //       alert(data.msg);
-      //       // }
-      //       // debugger;
-      //     },
-      //   });
-      //   e.preventDefault();
-      // });
       // 将验证码加到id为captcha的元素里,同时会有三个input的值用于表单提交
       captchaObj.appendTo("#captcha");
       captchaObj.onReady(function () {

+ 6 - 5
src/features/Login/Login.vue

@@ -522,7 +522,8 @@ export default {
         }
 
         let repPara = this.loginForm;
-        const geeForm = document.querySelector(".geetest_form").children;
+        // const geeForm = document.querySelector(".geetest_form").children;
+        const geeRes = this.captchaObj.getValidate();
         // 以下网络请求失败,直接报网络异常错误
         loginResponse = await this.$http.post(
           "/api/ecs_core/verifyCode/gt/login",
@@ -535,9 +536,9 @@ export default {
             // geetest
             user_id: localStorage.getItem("uuidForEcs"),
             client_type: "Web",
-            challenge: geeForm[0].value,
-            validate: geeForm[1].value,
-            seccode: geeForm[2].value,
+            challenge: geeRes.geetest_challenge, // geeForm[0].value,
+            validate: geeRes.geetest_validate, // geeForm[1].value,
+            seccode: geeRes.geetest_seccode, // geeForm[2].value,
           }
         );
       } else {
@@ -1047,7 +1048,7 @@ export default {
       }
     },
     handleGtResult(captchaObj) {
-      console.log(captchaObj);
+      // console.log(captchaObj);
       this.captchaObj = captchaObj;
     },
   },