From a6cf96f37334e96e067b12be4620a56ee5de01cb Mon Sep 17 00:00:00 2001 From: pany <939630029@qq.com> Date: Fri, 19 Aug 2022 21:13:41 +0800 Subject: [PATCH] refactor: cache & constant --- src/constant/cacheKeys.ts | 10 ++++++++++ src/constant/key.ts | 7 ------- src/router/index.ts | 16 ++++++++++++++++ src/router/permission.ts | 2 +- src/store/modules/app.ts | 2 +- src/store/modules/user.ts | 2 +- src/utils/cache/cookies.ts | 8 ++++++++ src/utils/cache/localStorage.ts | 9 +++++++++ src/utils/cookies.ts | 16 ---------------- src/utils/service.ts | 2 +- 10 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 src/constant/cacheKeys.ts delete mode 100644 src/constant/key.ts create mode 100644 src/utils/cache/cookies.ts create mode 100644 src/utils/cache/localStorage.ts delete mode 100644 src/utils/cookies.ts diff --git a/src/constant/cacheKeys.ts b/src/constant/cacheKeys.ts new file mode 100644 index 0000000..b6ead2a --- /dev/null +++ b/src/constant/cacheKeys.ts @@ -0,0 +1,10 @@ +const SYSTEM_NAME = "v3-admin-vite" + +/** 缓存数据时用到的 Keys */ +class CacheKeys { + static TOKEN = `${SYSTEM_NAME}-token-key` + static SIDEBAR_STATUS = `${SYSTEM_NAME}-sidebar-status-key` + static ACTIVE_THEME_NAME = `${SYSTEM_NAME}-active-theme-name-key` +} + +export default CacheKeys diff --git a/src/constant/key.ts b/src/constant/key.ts deleted file mode 100644 index 605b446..0000000 --- a/src/constant/key.ts +++ /dev/null @@ -1,7 +0,0 @@ -class Keys { - static sidebarStatus = "v3-admin-vite-sidebar-status-key" - static token = "v3-admin-vite-token-key" - static activeThemeName = "v3-admin-vite-active-theme-name-key" -} - -export default Keys diff --git a/src/router/index.ts b/src/router/index.ts index da4e013..2f2dcd4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -71,6 +71,22 @@ export const constantRoutes: Array = [ } ] }, + { + path: "/table", + component: Layout, + redirect: "/table/index", + children: [ + { + path: "index", + component: () => import("@/views/table/index.vue"), + name: "Table", + meta: { + title: "表格", + icon: "table" + } + } + ] + }, { path: "/menu", component: Layout, diff --git a/src/router/permission.ts b/src/router/permission.ts index da5a0f6..4764ddf 100644 --- a/src/router/permission.ts +++ b/src/router/permission.ts @@ -4,7 +4,7 @@ import { useUserStoreHook } from "@/store/modules/user" import { usePermissionStoreHook } from "@/store/modules/permission" import { ElMessage } from "element-plus" import { whiteList } from "@/config/white-list" -import { getToken } from "@/utils/cookies" +import { getToken } from "@/utils/cache/cookies" import asyncRouteSettings from "@/config/async-route" import NProgress from "nprogress" import "nprogress/nprogress.css" diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index 949b403..c9835c6 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -1,5 +1,5 @@ import { defineStore } from "pinia" -import { getSidebarStatus, getActiveThemeName, setSidebarStatus, setActiveThemeName } from "@/utils/cookies" +import { getSidebarStatus, getActiveThemeName, setSidebarStatus, setActiveThemeName } from "@/utils/cache/localStorage" import themeList from "@/config/theme" export enum DeviceType { diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 9af6042..53f4acc 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -1,7 +1,7 @@ import store from "@/store" import { defineStore } from "pinia" import { usePermissionStore } from "./permission" -import { getToken, removeToken, setToken } from "@/utils/cookies" +import { getToken, removeToken, setToken } from "@/utils/cache/cookies" import router, { resetRouter } from "@/router" import { login, getUserInfo } from "@/api/login" import { RouteRecordRaw } from "vue-router" diff --git a/src/utils/cache/cookies.ts b/src/utils/cache/cookies.ts new file mode 100644 index 0000000..b723fcc --- /dev/null +++ b/src/utils/cache/cookies.ts @@ -0,0 +1,8 @@ +/** 统一处理 Cookie */ + +import CacheKeys from "@/constant/cacheKeys" +import Cookies from "js-cookie" + +export const getToken = () => Cookies.get(CacheKeys.TOKEN) +export const setToken = (token: string) => Cookies.set(CacheKeys.TOKEN, token) +export const removeToken = () => Cookies.remove(CacheKeys.TOKEN) diff --git a/src/utils/cache/localStorage.ts b/src/utils/cache/localStorage.ts new file mode 100644 index 0000000..faf55e5 --- /dev/null +++ b/src/utils/cache/localStorage.ts @@ -0,0 +1,9 @@ +/** 统一处理 localStorage */ + +import CacheKeys from "@/constant/cacheKeys" + +export const getSidebarStatus = () => localStorage.getItem(CacheKeys.SIDEBAR_STATUS) +export const setSidebarStatus = (sidebarStatus: string) => localStorage.setItem(CacheKeys.SIDEBAR_STATUS, sidebarStatus) + +export const getActiveThemeName = () => localStorage.getItem(CacheKeys.ACTIVE_THEME_NAME) +export const setActiveThemeName = (themeName: string) => localStorage.setItem(CacheKeys.ACTIVE_THEME_NAME, themeName) diff --git a/src/utils/cookies.ts b/src/utils/cookies.ts deleted file mode 100644 index 376904d..0000000 --- a/src/utils/cookies.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** 统一处理 Cookie */ - -import Keys from "@/constant/key" -import Cookies from "js-cookie" - -export const getSidebarStatus = () => Cookies.get(Keys.sidebarStatus) -export const setSidebarStatus = (sidebarStatus: string) => Cookies.set(Keys.sidebarStatus, sidebarStatus) - -export const getToken = () => Cookies.get(Keys.token) -export const setToken = (token: string) => Cookies.set(Keys.token, token) -export const removeToken = () => Cookies.remove(Keys.token) - -export const getActiveThemeName = () => Cookies.get(Keys.activeThemeName) -export const setActiveThemeName = (themeName: string) => { - Cookies.set(Keys.activeThemeName, themeName) -} diff --git a/src/utils/service.ts b/src/utils/service.ts index c126a47..d28870d 100644 --- a/src/utils/service.ts +++ b/src/utils/service.ts @@ -2,7 +2,7 @@ import axios, { AxiosInstance, AxiosRequestConfig } from "axios" import { useUserStoreHook } from "@/store/modules/user" import { ElMessage } from "element-plus" import { get } from "lodash-es" -import { getToken } from "@/utils/cookies" +import { getToken } from "@/utils/cache/cookies" /** 创建请求实例 */ function createService() {