From 2a125174ea501d53c59f627347bdec9012928960 Mon Sep 17 00:00:00 2001
From: china <527956374@qq.com>
Date: 星期一, 17 四月 2023 13:55:52 +0800
Subject: [PATCH] 拼图滑块验证

---
 src/views/user/login.vue |   69 ++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/src/views/user/login.vue b/src/views/user/login.vue
index aa875b7..3096f7a 100644
--- a/src/views/user/login.vue
+++ b/src/views/user/login.vue
@@ -42,7 +42,7 @@
       </el-form-item>
       <el-form-item v-if="loginForm.verifyType==='jigsaw'">
 <!--        <drag-verify @success="verifyTrue" ref="verify"/>-->
-        <transition duration="1000" name="el-fade-in">
+        <transition duration="1000" name="el-fade-in" v-if="verify">
           <jigsaw-verify v-if="loginForm.verifyType==='jigsaw'" :left="left" :top="top" @hide="verifyFalse" @success="handleLogin" />
         </transition>
       </el-form-item>
@@ -86,8 +86,8 @@
     return {
       verify:false,  // 婊戝姩鏍¢獙
       codeUrl: "",
-      left: null,    // 鎷煎浘楠岃瘉鐮佷綅缃�
-      top: null,     // 鎷煎浘楠岃瘉鐮佷綅缃�
+      left: '50%',    // 鎷煎浘楠岃瘉鐮佷綅缃�
+      top: '220px',     // 鎷煎浘楠岃瘉鐮佷綅缃�
       loginForm: {
         username: 'supervisor',
         password: '123456',
@@ -176,41 +176,46 @@
       this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe
     },
     handleLogin(param) {
-      // console.log(param);
-      if(param != null){
+      // 鎷煎浘楠岃瘉  娌℃湁杩斿洖param鏃跺��
+      if(this.loginForm.verifyType==='jigsaw' && !param.uuid){
+        this.verify = true
+        return false
+      }
+      // 鎷煎浘楠岃瘉  杩斿洖param鏃跺��
+      if(this.loginForm.verifyType==='jigsaw' && param.uuid){
         // 鎷煎浘楠岃瘉鐮佹椂锛岃皟鐢ㄦ柟浼氫紶鍏ode锛堢敤鎴烽獙璇佺爜浣嶇疆锛夛紝uuid
         this.loginForm.code = param.x;
         this.loginForm.uuid = param.uuid;
       }
       this.$refs.loginForm.validate(valid => {
-        if (valid) {
-          if (this.loginForm.verifyType==='slide' && !this.verify) {
-            this.$message.error('璇峰厛瀹屾垚楠岃瘉')
-            this.loading = false
-            return
-          }
-          this.loading = true;
-          if (this.loginForm.rememberMe) {
-            Cookies.set("username", this.loginForm.username, { expires: 30 });
-            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
-            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
-          } else {
-            Cookies.remove("username");
-            Cookies.remove("password");
-            Cookies.remove('rememberMe');
-          }
-          // console.log(this.loginForm);
-          // console.log("-----------------------------");
-          this.$store.dispatch("Login", this.loginForm).then(() => {
-            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
-          }).catch(() => {
-            this.loading = false;
-            if (this.captchaEnabled && this.loginForm.verifyType==='code') {
-              this.getCode();
+          if (valid) {
+            if (this.loginForm.verifyType==='slide' && !this.verify) {
+              this.$message.error('璇峰厛瀹屾垚楠岃瘉')
+              this.loading = false
+              return
             }
-          });
-        }
-      });
+            this.loading = true;
+            if (this.loginForm.rememberMe) {
+              Cookies.set("username", this.loginForm.username, { expires: 30 });
+              Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
+              Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
+            } else {
+              Cookies.remove("username");
+              Cookies.remove("password");
+              Cookies.remove('rememberMe');
+            }
+            // console.log(this.loginForm);
+            // console.log("-----------------------------");
+            this.$store.dispatch("Login", this.loginForm).then(() => {
+              this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
+            }).catch(() => {
+              this.loading = false;
+              if (this.captchaEnabled && this.loginForm.verifyType==='code') {
+                this.getCode();
+              }
+            });
+          }
+        });
     }
   }
 };

--
Gitblit v1.9.1