diff --git a/src/lang/index.ts b/src/lang/index.ts index f8c0801..dddb86b 100644 --- a/src/lang/index.ts +++ b/src/lang/index.ts @@ -4,7 +4,6 @@ import { createI18n } from 'vue-i18n'; // 本地语言包 import enUSLocale from './en_US'; import zhCNLocale from './zh_CN'; -import Cookies from 'js-cookie'; const messages = { zh_CN: { @@ -16,22 +15,13 @@ const messages = { }; /** - * 获取当前系统使用语言字符串 + * 获取当前语言 * @returns zh-cn|en ... */ export const getLanguage = () => { - // 本地缓存获取 - let language = Cookies.get('language'); - if (language) { - return language; - } - // 浏览器使用语言 - language = navigator.language.toLowerCase(); - const locales = Object.keys(messages); - for (const locale of locales) { - if (language.indexOf(locale) > -1) { - return locale; - } + const language = useStorage('language', 'zh_CN'); + if (language.value) { + return language.value; } return 'zh_CN'; }; diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts index 90a4d0e..90866c1 100644 --- a/src/store/modules/app.ts +++ b/src/store/modules/app.ts @@ -1,46 +1,42 @@ -import Cookies from 'js-cookie'; import zhCN from 'element-plus/es/locale/lang/zh-cn'; import enUS from 'element-plus/es/locale/lang/en'; export const useAppStore = defineStore('app', () => { - const sidebarStatus = Cookies.get('sidebarStatus'); + const sidebarStatus = useStorage('sidebarStatus', '1'); const sidebar = reactive({ - opened: sidebarStatus ? !!+sidebarStatus : true, + opened: sidebarStatus.value ? !!+sidebarStatus.value : true, withoutAnimation: false, hide: false }); const device = ref('desktop'); - const size = ref(Cookies.get('size') || 'default'); + const size = useStorage('size', 'default'); // 语言 - const language = ref(Cookies.get('language')); + const language = useStorage('language', 'zh_CN'); const languageObj: any = { en_US: enUS, zh_CN: zhCN }; const locale = computed(() => { - if (!language.value) { - return zhCN; - } return languageObj[language.value]; }); - const toggleSideBar = (withoutAnimation?: boolean) => { + const toggleSideBar = (withoutAnimation: boolean) => { if (sidebar.hide) { return false; } sidebar.opened = !sidebar.opened; - sidebar.withoutAnimation = withoutAnimation as boolean; + sidebar.withoutAnimation = withoutAnimation; if (sidebar.opened) { - Cookies.set('sidebarStatus', '1'); + sidebarStatus.value = '1'; } else { - Cookies.set('sidebarStatus', '0'); + sidebarStatus.value = '0'; } }; const closeSideBar = ({ withoutAnimation }: any): void => { - Cookies.set('sidebarStatus', '0'); + sidebarStatus.value = '0'; sidebar.opened = false; sidebar.withoutAnimation = withoutAnimation; }; @@ -49,7 +45,6 @@ export const useAppStore = defineStore('app', () => { }; const setSize = (s: string): void => { size.value = s; - Cookies.set('size', s); }; const toggleSideBarHide = (status: boolean): void => { sidebar.hide = status; @@ -57,7 +52,6 @@ export const useAppStore = defineStore('app', () => { const changeLanguage = (val: string): void => { language.value = val; - Cookies.set('language', val); }; return { diff --git a/src/utils/auth.ts b/src/utils/auth.ts index b753896..4020003 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,9 +1,9 @@ -import Cookies from 'js-cookie'; - const TokenKey = 'Admin-Token'; -export const getToken = () => Cookies.get(TokenKey); +const tokenStorage = useStorage(TokenKey, null); -export const setToken = (token: string) => Cookies.set(TokenKey, token); +export const getToken = () => tokenStorage.value; -export const removeToken = () => Cookies.remove(TokenKey); +export const setToken = (token: string) => (tokenStorage.value = token); + +export const removeToken = () => (tokenStorage.value = null);