diff --git a/src/constant/cacheKeys.ts b/src/constant/cacheKeys.ts new file mode 100644 index 00000000..b6ead2a4 --- /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 605b446c..00000000 --- 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 da4e013f..2f2dcd41 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 da5a0f6d..4764ddf2 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 949b4039..c9835c6e 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 9af6042b..53f4acc5 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 00000000..b723fcc7 --- /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 00000000..faf55e50 --- /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 376904d0..00000000 --- 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 c126a479..d28870de 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() {