From bbb6565e8a5989a2ba16c4f051c92659cd964dfa Mon Sep 17 00:00:00 2001
From: liuguocan <527956374@qq.com>
Date: 星期二, 14 三月 2023 14:18:22 +0800
Subject: [PATCH] 登录配置校验

---
 src/views/user/login.vue |   53 +++++++++++++++++++++++++++++------------------------
 1 files changed, 29 insertions(+), 24 deletions(-)

diff --git a/src/views/user/login.vue b/src/views/user/login.vue
index a093b95..497dfc6 100644
--- a/src/views/user/login.vue
+++ b/src/views/user/login.vue
@@ -23,19 +23,21 @@
           <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
         </el-input>
       </el-form-item>
-      <el-form-item>
-<!--        <el-input-->
-<!--          v-model="loginForm.code"-->
-<!--          auto-complete="off"-->
-<!--          placeholder="楠岃瘉鐮�"-->
-<!--          style="width: 63%"-->
-<!--          @keyup.enter.native="handleLogin"-->
-<!--        >-->
-<!--          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />-->
-<!--        </el-input>-->
-<!--        <div class="login-code">-->
-<!--          <img :src="codeUrl" @click="getCode" class="login-code-img"/>-->
-<!--        </div>-->
+      <el-form-item v-if="loginForm.verifyType==='code' && captchaEnabled">
+          <el-input
+            v-model="loginForm.code"
+            auto-complete="off"
+            placeholder="楠岃瘉鐮�"
+            style="width: 63%"
+            @keyup.enter.native="handleLogin"
+          >
+            <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+          </el-input>
+          <div class="login-code">
+            <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+          </div>
+      </el-form-item>
+      <el-form-item v-if="loginForm.verifyType==='slide'">
         <drag-verify @success="verifyTrue" ref="verify"/>
       </el-form-item>
       <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
@@ -63,6 +65,7 @@
 </template>
 
 <script>
+import { getCodeImg } from "@/api/login";
 import dragVerify from './dragVerify/index.vue'// 婊戝姩楠岃瘉缁勪欢
 import Cookies from "js-cookie";
 import { encrypt, decrypt } from '@/utils/jsencrypt'
@@ -73,12 +76,14 @@
   },
   data() {
     return {
-      verify:false,
+      verify:false,  // 婊戝姩鏍¢獙
       codeUrl: "",
       loginForm: {
+        verifyType: 'code',//  'code': 楠岃瘉鐮�  'slide':婊戝潡  'jigsaw':鎷煎浘
         username: "supervisor",
         password: "123456",
         rememberMe: false,
+        code:'',
         uuid: ""
       },
       loginRules: {
@@ -107,7 +112,9 @@
     }
   },
   created() {
-    // this.getCode();
+    if(this.loginForm.verifyType==='code'){
+      this.getCode();
+    }
     this.getCookie();
   },
   methods: {
@@ -134,16 +141,14 @@
       const username = Cookies.get("username");
       const password = Cookies.get("password");
       const rememberMe = Cookies.get('rememberMe')
-      this.loginForm = {
-        username: username === undefined ? this.loginForm.username : username,
-        password: password === undefined ? this.loginForm.password : decrypt(password),
-        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
-      };
+      this.loginForm.username = username === undefined ? this.loginForm.username : username
+      this.loginForm.password = password === undefined ? this.loginForm.password : password
+      this.loginForm.rememberMe = rememberMe === undefined ? this.loginForm.rememberMe : rememberMe
     },
     handleLogin() {
       this.$refs.loginForm.validate(valid => {
         if (valid) {
-          if (!this.verify) {
+          if (this.loginForm.verifyType==='slide' && !this.verify) {
             this.$message.error('璇峰厛瀹屾垚楠岃瘉')
             this.loading = false
             return
@@ -162,9 +167,9 @@
             this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
           }).catch(() => {
             this.loading = false;
-            // if (this.captchaEnabled) {
-            //   this.getCode();
-            // }
+            if (this.captchaEnabled && this.loginForm.verifyType==='code') {
+              this.getCode();
+            }
           });
         }
       });

--
Gitblit v1.9.1