Ver Fonte

update 修改非时效性数据存入Local中

LiuHao há 2 anos atrás
pai
commit
fda317b628
3 ficheiros alterados com 18 adições e 34 exclusões
  1. 4 14
      src/lang/index.ts
  2. 9 15
      src/store/modules/app.ts
  3. 5 5
      src/utils/auth.ts

+ 4 - 14
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';
 };

+ 9 - 15
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<string>('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 {

+ 5 - 5
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<null | string>(TokenKey, null);
+
+export const getToken = () => tokenStorage.value;
 
-export const setToken = (token: string) => Cookies.set(TokenKey, token);
+export const setToken = (token: string) => (tokenStorage.value = token);
 
-export const removeToken = () => Cookies.remove(TokenKey);
+export const removeToken = () => (tokenStorage.value = null);