From 8e27bf9bcf84df45321571148ba4d30912dc2621 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 28 六月 2023 11:02:46 +0800
Subject: [PATCH] 记住密码
---
package-lock.json | 11 +++++++++++
package.json | 1 +
src/views/Login.vue | 27 +++++++++++++++++++++++++--
3 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 3ad5fc4..31888de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
"axios": "^1.4.0",
"core-js": "^3.6.5",
"echarts": "^5.1.2",
+ "js-base64": "^3.7.5",
"js-cookie": "^3.0.5",
"json-bigint": "^1.0.0",
"moment": "^2.29.1",
@@ -7980,6 +7981,11 @@
"resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.1.0.tgz",
"integrity": "sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=",
"dev": true
+ },
+ "node_modules/js-base64": {
+ "version": "3.7.5",
+ "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz",
+ "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA=="
},
"node_modules/js-cookie": {
"version": "3.0.5",
@@ -23179,6 +23185,11 @@
"integrity": "sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=",
"dev": true
},
+ "js-base64": {
+ "version": "3.7.5",
+ "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz",
+ "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA=="
+ },
"js-cookie": {
"version": "3.0.5",
"resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz",
diff --git a/package.json b/package.json
index 574e800..484ca2f 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"axios": "^1.4.0",
"core-js": "^3.6.5",
"echarts": "^5.1.2",
+ "js-base64": "^3.7.5",
"js-cookie": "^3.0.5",
"json-bigint": "^1.0.0",
"moment": "^2.29.1",
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 8fe248e..588b32d 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">
@@ -105,12 +105,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 +130,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 +155,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