mirror of
				https://github.com/pure-admin/vue-pure-admin.git
				synced 2025-11-03 13:44:47 +08:00 
			
		
		
		
	fix: 修复本地响应式存储对象设置问题
This commit is contained in:
		
							parent
							
								
									3a0b2e04d4
								
							
						
					
					
						commit
						241fc618b8
					
				@ -211,8 +211,9 @@ function setLayoutModel(layout: string) {
 | 
				
			|||||||
  $storage.layout = {
 | 
					  $storage.layout = {
 | 
				
			||||||
    layout,
 | 
					    layout,
 | 
				
			||||||
    theme: layoutTheme.value.theme,
 | 
					    theme: layoutTheme.value.theme,
 | 
				
			||||||
    darkMode: $storage.layout.darkMode,
 | 
					    darkMode: $storage.layout?.darkMode,
 | 
				
			||||||
    sidebarStatus: $storage.layout.sidebarStatus
 | 
					    sidebarStatus: $storage.layout?.sidebarStatus,
 | 
				
			||||||
 | 
					    epThemeColor: $storage.layout?.epThemeColor
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  useAppStoreHook().setLayout(layout);
 | 
					  useAppStoreHook().setLayout(layout);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,7 @@ import {
 | 
				
			|||||||
} from "@pureadmin/theme/dist/browser-utils";
 | 
					} from "@pureadmin/theme/dist/browser-utils";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function useDataThemeChange() {
 | 
					export function useDataThemeChange() {
 | 
				
			||||||
  const { layoutTheme } = useLayout();
 | 
					  const { layoutTheme, layout } = useLayout();
 | 
				
			||||||
  const themeColors = ref<Array<themeColorsType>>([
 | 
					  const themeColors = ref<Array<themeColorsType>>([
 | 
				
			||||||
    /* 道奇蓝(默认) */
 | 
					    /* 道奇蓝(默认) */
 | 
				
			||||||
    { color: "#1b2a47", themeColor: "default" },
 | 
					    { color: "#1b2a47", themeColor: "default" },
 | 
				
			||||||
@ -36,7 +36,7 @@ export function useDataThemeChange() {
 | 
				
			|||||||
  ]);
 | 
					  ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const { $storage } = useGlobal<GlobalPropertiesApi>();
 | 
					  const { $storage } = useGlobal<GlobalPropertiesApi>();
 | 
				
			||||||
 | 
					  const dataTheme = ref<boolean>($storage?.layout?.darkMode);
 | 
				
			||||||
  const body = document.documentElement as HTMLElement;
 | 
					  const body = document.documentElement as HTMLElement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /** 设置导航主题色 */
 | 
					  /** 设置导航主题色 */
 | 
				
			||||||
@ -45,8 +45,13 @@ export function useDataThemeChange() {
 | 
				
			|||||||
    toggleTheme({
 | 
					    toggleTheme({
 | 
				
			||||||
      scopeName: `layout-theme-${theme}`
 | 
					      scopeName: `layout-theme-${theme}`
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    $storage.layout.theme = theme;
 | 
					    $storage.layout = {
 | 
				
			||||||
    $storage.layout.darkMode = dataTheme.value;
 | 
					      layout: layout.value,
 | 
				
			||||||
 | 
					      theme,
 | 
				
			||||||
 | 
					      darkMode: dataTheme.value,
 | 
				
			||||||
 | 
					      sidebarStatus: $storage.layout?.sidebarStatus,
 | 
				
			||||||
 | 
					      epThemeColor: $storage.layout?.epThemeColor
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (theme === "default" || theme === "light") {
 | 
					    if (theme === "default" || theme === "light") {
 | 
				
			||||||
      setEpThemeColor(getConfig().EpThemeColor);
 | 
					      setEpThemeColor(getConfig().EpThemeColor);
 | 
				
			||||||
@ -82,7 +87,6 @@ export function useDataThemeChange() {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  const dataTheme = ref<boolean>($storage?.layout?.darkMode);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /** 日间、夜间主题切换 */
 | 
					  /** 日间、夜间主题切换 */
 | 
				
			||||||
  function dataThemeChange() {
 | 
					  function dataThemeChange() {
 | 
				
			||||||
@ -94,10 +98,8 @@ export function useDataThemeChange() {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (dataTheme.value) {
 | 
					    if (dataTheme.value) {
 | 
				
			||||||
      $storage.layout.darkMode = true;
 | 
					 | 
				
			||||||
      document.documentElement.classList.add("dark");
 | 
					      document.documentElement.classList.add("dark");
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      $storage.layout.darkMode = false;
 | 
					 | 
				
			||||||
      document.documentElement.classList.remove("dark");
 | 
					      document.documentElement.classList.remove("dark");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user