From e54afa9e32404cbca824fa41be070e573587588a Mon Sep 17 00:00:00 2001
From: pxzsky <pxzsky@163.com>
Date: 星期二, 14 三月 2023 18:42:30 +0800
Subject: [PATCH] 登录修改接口参数

---
 src/views/user/login.vue |  112 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 67 insertions(+), 45 deletions(-)

diff --git a/src/views/user/login.vue b/src/views/user/login.vue
index a093b95..53cec33 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,23 +65,27 @@
 </template>
 
 <script>
-import dragVerify from './dragVerify/index.vue'// 婊戝姩楠岃瘉缁勪欢
-import Cookies from "js-cookie";
-import { encrypt, decrypt } from '@/utils/jsencrypt'
+  import {getCodeImg, getCodeNone} from "@/api/login";
+  import dragVerify from './dragVerify/index.vue' // 婊戝姩楠岃瘉缁勪欢
+  import Cookies from "js-cookie";
+  import {encrypt} from '@/utils/jsencrypt'
 
-export default {
+  export default {
   components: {
     'drag-verify': dragVerify
   },
   data() {
     return {
-      verify:false,
+      verify:false,  // 婊戝姩鏍¢獙
       codeUrl: "",
       loginForm: {
-        username: "supervisor",
-        password: "123456",
-        rememberMe: false,
-        uuid: ""
+        username: 'supervisor',
+        password: '123456',
+        code:'',
+        uuid: '',
+        loginType: 'user_pass',  // 鐢ㄦ埛鍚嶃�佸瘑鐮佹柟寮忕櫥褰�
+        verifyType: 'slide'//  'code': 楠岃瘉鐮�  'slide':婊戝潡  'jigsaw':鎷煎浘
+        // rememberMe: false,
       },
       loginRules: {
         username: [
@@ -107,7 +113,9 @@
     }
   },
   created() {
-    // this.getCode();
+    // if(this.loginForm.verifyType==='code'){
+    // }
+    this.getCode();
     this.getCookie();
   },
   methods: {
@@ -115,35 +123,47 @@
       this.verify = true
     },
     getCode() {
-      getCodeImg().then(res => {
-        // console.log(res);
-        // this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
-        this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;
-        console.log("captchaEnabled = " + this.captchaEnabled);
-        if (this.captchaEnabled) {
-          // this.codeUrl = "data:image/gif;base64," + res.img;
-          this.codeUrl = "data:image/jpeg;base64," + res.data.img;
-          // this.loginForm.uuid = res.uuid;
-        }
-        // 鏈夋病鏈夐獙璇佺爜锛岄兘闇�瑕乽uid浣滀负鍞竴鏍囪瘑锛�2022-12-01
-        this.loginForm.uuid = res.data.uuid;
+      if(this.loginForm.verifyType==='code'){
+        getCodeImg().then(res => {
+          // console.log(res);
+          // this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
+          this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled;
+          console.log("captchaEnabled = " + this.captchaEnabled);
+          if (this.captchaEnabled) {
+            // this.codeUrl = "data:image/gif;base64," + res.img;
+            this.codeUrl = "data:image/jpeg;base64," + res.data.img;
+            // this.loginForm.uuid = res.uuid;
+          }
+          // 鏈夋病鏈夐獙璇佺爜锛岄兘闇�瑕乽uid浣滀负鍞竴鏍囪瘑锛�2022-12-01
+          this.loginForm.uuid = res.data.uuid;
 
-      }).catch(err=>{console.log(err);});
+        }).catch(err=>{console.log(err);});
+
+      } else if(this.loginForm.verifyType==='jigsaw'){
+        // 鎷煎浘鏂瑰紡锛岀湅闇�瑕佸暐鍙傛暟锛屾殏鏈疄鐜�
+
+      } else if(this.loginForm.verifyType==='slide' || this.loginForm.verifyType==='sms'){
+        // 涓嶉渶瑕侀獙璇佺爜锛屼絾浠嶉渶瑕佽姹傛帴鍙h幏鍙杣uid
+        getCodeNone().then(res => {
+          this.loginForm.uuid = res.data.uuid;
+        }).catch(err=>{console.error(err);});
+
+      } else {
+        this.$message.error('涓嶆敮鎸佺殑楠岃瘉鐮佺被鍨�:' + this.loginForm.verifyType);
+      }
     },
     getCookie() {
       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
@@ -158,13 +178,15 @@
             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.getCode();
-            // }
+            if (this.captchaEnabled && this.loginForm.verifyType==='code') {
+              this.getCode();
+            }
           });
         }
       });

--
Gitblit v1.9.1