From e181f04c642204e79749af93fa921875ff6c21ba Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 20 五月 2025 10:46:35 +0800 Subject: [PATCH] refactor(qms): 重构趋势图展示逻辑 --- src/store/modules/settings.ts | 55 ++++++++++++++++++++----------------------------------- 1 files changed, 20 insertions(+), 35 deletions(-) diff --git a/src/store/modules/settings.ts b/src/store/modules/settings.ts index 861c6c8..ef49b3c 100644 --- a/src/store/modules/settings.ts +++ b/src/store/modules/settings.ts @@ -1,43 +1,29 @@ import { defineStore } from 'pinia'; import defaultSettings from '@/settings'; -import { SettingTypeEnum } from '@/enums/SettingTypeEnum'; import { useDynamicTitle } from '@/utils/dynamicTitle'; + export const useSettingsStore = defineStore('setting', () => { - const storageSetting = JSON.parse(localStorage.getItem('layout-setting') || '{}'); + const storageSetting = useStorage<LayoutSetting>('layout-setting', { + topNav: defaultSettings.topNav, + tagsView: defaultSettings.tagsView, + fixedHeader: defaultSettings.fixedHeader, + sidebarLogo: defaultSettings.sidebarLogo, + dynamicTitle: defaultSettings.dynamicTitle, + sideTheme: defaultSettings.sideTheme, + theme: defaultSettings.theme + }); const title = ref<string>(defaultSettings.title); - const theme = ref<string>(storageSetting.theme || defaultSettings.theme); - const sideTheme = ref<string>(storageSetting.sideTheme || defaultSettings.sideTheme); - const showSettings = ref<boolean>(storageSetting.showSettings || defaultSettings.showSettings); - const topNav = ref<boolean>(storageSetting.topNav === undefined ? defaultSettings.topNav : storageSetting.topNav); - const tagsView = ref<boolean>(storageSetting.tagsView === undefined ? defaultSettings.tagsView : storageSetting.tagsView); - const fixedHeader = ref<boolean>(storageSetting.fixedHeader === undefined ? defaultSettings.fixedHeader : storageSetting.fixedHeader); - const sidebarLogo = ref<boolean>(storageSetting.sidebarLogo === undefined ? defaultSettings.sidebarLogo : storageSetting.sidebarLogo); - const dynamicTitle = ref<boolean>(storageSetting.dynamicTitle === undefined ? defaultSettings.dynamicTitle : storageSetting.dynamicTitle); - const animationEnable = ref<boolean>( - storageSetting.animationEnable === undefined ? defaultSettings.animationEnable : storageSetting.animationEnable - ); - const dark = ref<boolean>(storageSetting.dark || defaultSettings.dark); + const theme = ref<string>(storageSetting.value.theme); + const sideTheme = ref<string>(storageSetting.value.sideTheme); + const showSettings = ref<boolean>(defaultSettings.showSettings); + const topNav = ref<boolean>(storageSetting.value.topNav); + const tagsView = ref<boolean>(storageSetting.value.tagsView); + const fixedHeader = ref<boolean>(storageSetting.value.fixedHeader); + const sidebarLogo = ref<boolean>(storageSetting.value.sidebarLogo); + const dynamicTitle = ref<boolean>(storageSetting.value.dynamicTitle); + const animationEnable = ref<boolean>(defaultSettings.animationEnable); + const dark = ref<boolean>(defaultSettings.dark); - const prop: { [key: string]: Ref<any> } = { - theme, - sideTheme, - showSettings, - topNav, - tagsView, - fixedHeader, - sidebarLogo, - dynamicTitle, - animationEnable, - dark - }; - - // 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(); @@ -54,7 +40,6 @@ dynamicTitle, animationEnable, dark, - changeSetting, setTitle }; }); -- Gitblit v1.9.3