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