From 241fc618b8a45a330524a0aaaaba17e80191d531 Mon Sep 17 00:00:00 2001 From: xiaoxian521 <1923740402@qq.com> Date: Mon, 22 Aug 2022 20:17:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=BC=8F=E5=AD=98=E5=82=A8=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/setting/index.vue | 5 +++-- src/layout/hooks/useDataThemeChange.ts | 16 +++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/layout/components/setting/index.vue b/src/layout/components/setting/index.vue index 63397114d..42c9006a7 100644 --- a/src/layout/components/setting/index.vue +++ b/src/layout/components/setting/index.vue @@ -211,8 +211,9 @@ function setLayoutModel(layout: string) { $storage.layout = { layout, theme: layoutTheme.value.theme, - darkMode: $storage.layout.darkMode, - sidebarStatus: $storage.layout.sidebarStatus + darkMode: $storage.layout?.darkMode, + sidebarStatus: $storage.layout?.sidebarStatus, + epThemeColor: $storage.layout?.epThemeColor }; useAppStoreHook().setLayout(layout); } diff --git a/src/layout/hooks/useDataThemeChange.ts b/src/layout/hooks/useDataThemeChange.ts index 7976331cf..4b8c81fdc 100644 --- a/src/layout/hooks/useDataThemeChange.ts +++ b/src/layout/hooks/useDataThemeChange.ts @@ -13,7 +13,7 @@ import { } from "@pureadmin/theme/dist/browser-utils"; export function useDataThemeChange() { - const { layoutTheme } = useLayout(); + const { layoutTheme, layout } = useLayout(); const themeColors = ref>([ /* 道奇蓝(默认) */ { color: "#1b2a47", themeColor: "default" }, @@ -36,7 +36,7 @@ export function useDataThemeChange() { ]); const { $storage } = useGlobal(); - + const dataTheme = ref($storage?.layout?.darkMode); const body = document.documentElement as HTMLElement; /** 设置导航主题色 */ @@ -45,8 +45,13 @@ export function useDataThemeChange() { toggleTheme({ scopeName: `layout-theme-${theme}` }); - $storage.layout.theme = theme; - $storage.layout.darkMode = dataTheme.value; + $storage.layout = { + layout: layout.value, + theme, + darkMode: dataTheme.value, + sidebarStatus: $storage.layout?.sidebarStatus, + epThemeColor: $storage.layout?.epThemeColor + }; if (theme === "default" || theme === "light") { setEpThemeColor(getConfig().EpThemeColor); @@ -82,7 +87,6 @@ export function useDataThemeChange() { ); } }; - const dataTheme = ref($storage?.layout?.darkMode); /** 日间、夜间主题切换 */ function dataThemeChange() { @@ -94,10 +98,8 @@ export function useDataThemeChange() { } if (dataTheme.value) { - $storage.layout.darkMode = true; document.documentElement.classList.add("dark"); } else { - $storage.layout.darkMode = false; document.documentElement.classList.remove("dark"); } }