diff --git a/src/layout/components/Header/index.vue b/src/layout/components/Header/index.vue index e47f91c..0dbadba 100644 --- a/src/layout/components/Header/index.vue +++ b/src/layout/components/Header/index.vue @@ -105,7 +105,6 @@ import Notice from "@/layout/components/Header/components/notice/index.vue"; import Breadcrumb from "@/layout/components/Header/components/breadcrumb/index.vue"; import myImage from "@/assets/img/my-image.jpg"; -import pinia from "@/store/index"; import { useI18n } from "vue-i18n"; import { Modal } from "@arco-design/web-vue"; import { useRouter } from "vue-router"; @@ -114,7 +113,7 @@ import { useUserInfoStore } from "@/store/modules/user-info"; import { useThemeConfig } from "@/store/modules/theme-config"; const i18n = useI18n(); const router = useRouter(); -const themeStore = useThemeConfig(pinia); +const themeStore = useThemeConfig(); const { collapsed, language } = storeToRefs(themeStore); const onCollapsed = () => { @@ -129,6 +128,7 @@ const onLange = (e: string) => { themeStore.setLanguage("en-US"); } i18n.locale.value = language.value; + console.log("国际化", language.value); }; const logOut = () => { @@ -139,7 +139,7 @@ const logOut = () => { closable: true, onBeforeOk: async () => { try { - const store = useUserInfoStore(pinia); + const store = useUserInfoStore(); await store.logOut(); router.replace("/login"); return true; diff --git a/src/store/config/config.ts b/src/store/config/config.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/store/config/index.ts b/src/store/config/index.ts new file mode 100644 index 0000000..c7cac3e --- /dev/null +++ b/src/store/config/index.ts @@ -0,0 +1,19 @@ +import { PersistedStateOptions } from "pinia-plugin-persistedstate"; + +/** + * @description pinia 持久化参数配置 + * @param {String} key 存储到持久化的 name + * @param {Array} paths 需要持久化的 state name + * @return persist + * */ +const piniaPersistConfig = (key: string, paths?: string[]) => { + const persist: PersistedStateOptions = { + key, + storage: localStorage, + // storage: sessionStorage, + paths + }; + return persist; +}; + +export default piniaPersistConfig; diff --git a/src/store/modules/route-list.ts b/src/store/modules/route-list.ts index 52cbdc9..6b5002f 100644 --- a/src/store/modules/route-list.ts +++ b/src/store/modules/route-list.ts @@ -9,7 +9,7 @@ import { defineStore } from "pinia"; * @methods setCurrentRoute 设置系统内的当前路由 * @methods removeTabsList 删除tabs页的指定路由 */ -export const useRoutesListStore = defineStore("routeList", { +export const useRoutesListStore = defineStore("route-list", { state: (): any => ({ routeTree: [], // 有访问权限的路由树 routeList: [], // 有访问权限的一维路由数组 diff --git a/src/store/modules/theme-config.ts b/src/store/modules/theme-config.ts index 61ed9f5..b425621 100644 --- a/src/store/modules/theme-config.ts +++ b/src/store/modules/theme-config.ts @@ -1,8 +1,9 @@ import { defineStore } from "pinia"; - /** * 全局配置 * @methods setCollapsed 设置菜单折叠 + * @methods setRefreshPage 刷新页面 + * @methods setLanguage 设置语言 */ export const useThemeConfig = defineStore("theme-config", { state: (): any => ({ @@ -25,6 +26,7 @@ export const useThemeConfig = defineStore("theme-config", { } }, persist: { - key: "theme-config" + key: "theme-config", + storage: localStorage } }); diff --git a/src/store/modules/user-info.ts b/src/store/modules/user-info.ts index 30cb2ef..c308548 100644 --- a/src/store/modules/user-info.ts +++ b/src/store/modules/user-info.ts @@ -26,6 +26,7 @@ export const useUserInfoStore = defineStore("user-info", { } }, persist: { - key: "user-info" + key: "user-info", + storage: localStorage } }); diff --git a/src/views/login/login.vue b/src/views/login/login.vue index 1975825..c0fa7b5 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -49,7 +49,6 @@