zhuo
2025-04-23 c12fb3a61dd9703b8ded064a16c4b83087fb05a1
缓存存入由cookie修改为localStorage
已修改4个文件
55 ■■■■■ 文件已修改
src/main.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/app.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/auth.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js
@@ -1,7 +1,5 @@
import Vue from "vue";
import Cookies from "js-cookie";
import Element from "element-ui";
import "./assets/styles/element-variables.scss";
@@ -108,7 +106,7 @@
 */
Vue.use(Element, {
  size: Cookies.get("size") || "medium", // set element-ui default size
  size: localStorage.getItem("size") || "medium", // set element-ui default size
});
Vue.config.productionTip = false;
src/store/modules/app.js
@@ -1,13 +1,11 @@
import Cookies from 'js-cookie'
const state = {
  sidebar: {
    opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
    opened: localStorage.getItem('sidebarStatus') ? !!+localStorage.getItem('sidebarStatus') : true,
    withoutAnimation: false,
    hide: false
  },
  device: 'desktop',
  size: Cookies.get('size') || 'medium'
  size: localStorage.getItem('size') || 'medium'
}
const mutations = {
@@ -18,13 +16,13 @@
    state.sidebar.opened = !state.sidebar.opened
    state.sidebar.withoutAnimation = false
    if (state.sidebar.opened) {
      Cookies.set('sidebarStatus', 1)
      localStorage.setItem('sidebarStatus', 1)
    } else {
      Cookies.set('sidebarStatus', 0)
      localStorage.setItem('sidebarStatus', 0)
    }
  },
  CLOSE_SIDEBAR: (state, withoutAnimation) => {
    Cookies.set('sidebarStatus', 0)
    localStorage.setItem('sidebarStatus', 0)
    state.sidebar.opened = false
    state.sidebar.withoutAnimation = withoutAnimation
  },
@@ -33,7 +31,7 @@
  },
  SET_SIZE: (state, size) => {
    state.size = size
    Cookies.set('size', size)
    localStorage.setItem('size', size)
  },
  SET_SIDEBAR_HIDE: (state, status) => {
    state.sidebar.hide = status
src/utils/auth.js
@@ -1,15 +1,13 @@
import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token'
export function getToken() {
  return Cookies.get(TokenKey)
  return localStorage.getItem(TokenKey)
}
export function setToken(token) {
  return Cookies.set(TokenKey, token)
  return localStorage.setItem(TokenKey, token)
}
export function removeToken() {
  return Cookies.remove(TokenKey)
  return localStorage.removeItem(TokenKey)
}
src/views/login.vue
@@ -27,7 +27,7 @@
<!--            <img :src="codeUrl" @click="getCode" class="login-code-img" />-->
<!--          </div>-->
<!--        </el-form-item>-->
        <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
<!--        <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>-->
        <el-form-item style="width:100%;">
          <el-button :loading="loading" size="medium" type="primary" style="width:100%;"
            @click.native.prevent="handleLogin">
@@ -50,7 +50,6 @@
<script>
import { getCodeImg, getSsoAuthUrl } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
export default {
@@ -92,7 +91,7 @@
  },
  created() {
    // this.getCode();
    this.getCookie();
    // this.getCookie();
  },
  methods: {
    async goLogin() {
@@ -110,9 +109,9 @@
      });
    },
    getCookie() {
      const username = Cookies.get("username");
      const password = Cookies.get("password");
      const rememberMe = Cookies.get('rememberMe')
      const username = localStorage.getItem("username");
      const password = localStorage.getItem("password");
      const rememberMe = localStorage.getItem('rememberMe')
      this.loginForm = {
        username: username === undefined ? this.loginForm.username : username,
        password: password === undefined ? this.loginForm.password : decrypt(password),
@@ -123,15 +122,15 @@
      this.$refs.loginForm.validate(valid => {
        if (valid) {
          this.loading = true;
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
          } else {
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove('rememberMe');
          }
          // if (this.loginForm.rememberMe) {
          //   localStorage.setItem("username", this.loginForm.username, { expires: 30 });
          //   localStorage.setItem("password", encrypt(this.loginForm.password), { expires: 30 });
          //   localStorage.setItem('rememberMe', this.loginForm.rememberMe, { expires: 30 });
          // } else {
          //   localStorage.removeItem("username");
          //   localStorage.removeItem("password");
          //   localStorage.removeItem('rememberMe');
          // }
          this.$store.dispatch("Login", this.loginForm).then(() => {
            this.$router.push({ path: "/" }).catch(() => { });
          }).catch(() => {