From c6177c2463d9ff59b886d7c7952e99cd2c6d353b Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 12 一月 2024 15:09:03 +0800
Subject: [PATCH] 修复弹窗bug

---
 src/views/Login.vue |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/views/Login.vue b/src/views/Login.vue
index 8fe248e..44925d8 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -80,7 +80,7 @@
 <!--        </a-tab-pane>-->
 <!--      </a-tabs>-->
       <div style="margin-bottom: 20px">
-        <a-checkbox :checked="isAuto" style="color:#fff;">自动登录</a-checkbox>
+        <a-checkbox :checked="saveAccount" style="color:#fff;" @change="isSave">记住密码</a-checkbox>
 <!--        <a style="float: right">忘记密码</a>-->
       </div>
       <a-form-item style="text-align: center">
@@ -91,11 +91,12 @@
           size="large"
           @click="handleSubmit"
           :loading="isLoading"
+          v-preventReClick="1500"
         >
           登录
         </a-button>
       </a-form-item>
-	  <center><p>技术支持:中国科学院</p></center>
+	  <center><p>技术支持:技术保障部</p></center>
     </a-form-model>
   </div>
   </div>
@@ -105,12 +106,14 @@
 
 import { login, getMenuAdmin } from "@/api/login";
 import Cookies from 'js-cookie';
+import {Base64} from "js-base64";
+
 export default {
   name: "login",
   data() {
     return {
       isLoading: false,
-      isAuto: false,
+      saveAccount: false,
       // hasErrors,
       // form: this.$form.createForm(this),
       form: {
@@ -128,8 +131,22 @@
     // this.$nextTick(() => {
     //   this.form.validateFields();
     // });
+    this.hasUserCodeOrPassword()
   },
   methods: {
+    hasUserCodeOrPassword(){
+      if (localStorage.getItem('userName') && localStorage.getItem('userPassword')) {
+        this.form.name = localStorage.getItem('userName')
+        this.form.pwd = Base64.decode(localStorage.getItem('userPassword'))//解密
+        this.saveAccount = true
+      }
+    },
+
+    isSave(e){
+      const t = this
+      t.saveAccount = !t.saveAccount
+    },
+
     handleSubmit() {
       this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
@@ -139,6 +156,13 @@
             Cookies.set('resTk', res.data.data.tk);
             Cookies.set('resUid', res.data.data.uid);
             Cookies.set('userInfo',JSON.stringify(res.data.data),{expires: 7})
+            if (this.saveAccount) {
+              localStorage.setItem('userName', this.form.name)
+              localStorage.setItem('userPassword', Base64.encode(this.form.pwd))
+            } else {
+              localStorage.removeItem('userName')
+              localStorage.removeItem('userPassword')
+            }
             this.$router.push('/home')
           } else {
             this.$message.warning(res.data.msg);

--
Gitblit v1.9.2