- import defaultSettings from "@/settings";
- import { useDynamicTitle } from "@/utils/dynamicTitle";
-
- const {
- sideTheme,
- showSettings,
- topNav,
- tagsView,
- fixedHeader,
- sidebarLogo,
- dynamicTitle,
- } = defaultSettings;
-
- const storageSetting = JSON.parse(localStorage.getItem("layout-setting")) || "";
-
- const useSettingsStore = defineStore("settings", {
- state: () => ({
- title: "",
- theme: storageSetting.theme || "#409EFF",
- sideTheme: storageSetting.sideTheme || sideTheme,
- showSettings: showSettings,
- topNav:
- storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
- tagsView:
- storageSetting.tagsView === undefined
- ? tagsView
- : storageSetting.tagsView,
- fixedHeader:
- storageSetting.fixedHeader === undefined
- ? fixedHeader
- : storageSetting.fixedHeader,
- sidebarLogo:
- storageSetting.sidebarLogo === undefined
- ? sidebarLogo
- : storageSetting.sidebarLogo,
- dynamicTitle:
- storageSetting.dynamicTitle === undefined
- ? dynamicTitle
- : storageSetting.dynamicTitle,
- }),
- actions: {
- // 修改布局设置
- changeSetting(data) {
- const { key, value } = data;
- if (this.hasOwnProperty(key)) {
- this[key] = value;
- }
- },
- // 设置网页标题
- setTitle(title) {
- this.title = title;
- useDynamicTitle();
- },
- },
- });
-
- export default useSettingsStore;