马宇豪
2023-06-28 8e27bf9bcf84df45321571148ba4d30912dc2621
记住密码
已修改3个文件
39 ■■■■■ 文件已修改
package-lock.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Login.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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",
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",
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);