兰宝车间质量管理系统-前端
疯狂的狮子Li
2023-04-03 1595cb282aab5399862fac6406b5de550863e3b6
src/store/modules/settings.ts
@@ -5,50 +5,50 @@
import { Ref } from 'vue';
export const useSettingsStore = defineStore('setting', () => {
   const storageSetting = JSON.parse(localStorage.getItem('layout-setting') || '{}');
  const storageSetting = JSON.parse(localStorage.getItem('layout-setting') || '{}');
   const prop: { [key: string]: Ref<any> } = {
      title: ref<string>(''),
      theme: ref<string>(storageSetting.theme || defaultSettings.theme),
      sideTheme: ref<string>(storageSetting.sideTheme || defaultSettings.sideTheme),
      showSettings: ref<boolean>(storageSetting.showSettings),
      topNav: ref<boolean>(storageSetting.topNav || defaultSettings.topNav),
      tagsView: ref<boolean>(storageSetting.tagsView || defaultSettings.tagsView),
      fixedHeader: ref<boolean>(storageSetting.fixedHeader || defaultSettings.fixedHeader),
      sidebarLogo: ref<boolean>(storageSetting.sidebarLogo || defaultSettings.sidebarLogo),
      dynamicTitle: ref<boolean>(storageSetting.dynamicTitle || defaultSettings.dynamicTitle),
      animationEnable: ref<boolean>(storageSetting.animationEnable || defaultSettings.animationEnable),
      dark: ref<boolean>(storageSetting.dark || defaultSettings.dark)
   };
  const prop: { [key: string]: Ref<any> } = {
    title: ref<string>(''),
    theme: ref<string>(storageSetting.theme || defaultSettings.theme),
    sideTheme: ref<string>(storageSetting.sideTheme || defaultSettings.sideTheme),
    showSettings: ref<boolean>(storageSetting.showSettings),
    topNav: ref<boolean>(storageSetting.topNav || defaultSettings.topNav),
    tagsView: ref<boolean>(storageSetting.tagsView || defaultSettings.tagsView),
    fixedHeader: ref<boolean>(storageSetting.fixedHeader || defaultSettings.fixedHeader),
    sidebarLogo: ref<boolean>(storageSetting.sidebarLogo || defaultSettings.sidebarLogo),
    dynamicTitle: ref<boolean>(storageSetting.dynamicTitle || defaultSettings.dynamicTitle),
    animationEnable: ref<boolean>(storageSetting.animationEnable || defaultSettings.animationEnable),
    dark: ref<boolean>(storageSetting.dark || defaultSettings.dark)
  };
   const { title, theme, sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle, animationEnable, dark } = prop;
  const { title, theme, sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle, animationEnable, dark } = prop;
   // actions
   const changeSetting = (param: { key: SettingTypeEnum; value: any }) => {
      const { key, value } = param;
      if (key in prop) {
         prop[key].value = value;
      }
   };
   const setTitle = (value: string) => {
      title.value = value;
      useDynamicTitle();
   };
   return {
      title,
      theme,
      sideTheme,
      showSettings,
      topNav,
      tagsView,
      fixedHeader,
      sidebarLogo,
      dynamicTitle,
      animationEnable,
      dark,
      changeSetting,
      setTitle
   };
  // actions
  const changeSetting = (param: { key: SettingTypeEnum; value: any }) => {
    const { key, value } = param;
    if (key in prop) {
      prop[key].value = value;
    }
  };
  const setTitle = (value: string) => {
    title.value = value;
    useDynamicTitle();
  };
  return {
    title,
    theme,
    sideTheme,
    showSettings,
    topNav,
    tagsView,
    fixedHeader,
    sidebarLogo,
    dynamicTitle,
    animationEnable,
    dark,
    changeSetting,
    setTitle
  };
});
export default useSettingsStore;