| | |
| | | MenuSetting, |
| | | TransitionSetting, |
| | | MultiTabsSetting, |
| | | } from '/#/config'; |
| | | import type { BeforeMiniState } from '/#/store'; |
| | | } from '#/config'; |
| | | import type { BeforeMiniState, ApiAddress } from '#/store'; |
| | | |
| | | import { defineStore } from 'pinia'; |
| | | import { store } from '/@/store'; |
| | | import { store } from '@/store'; |
| | | |
| | | import { ThemeEnum } from '/@/enums/appEnum'; |
| | | import { APP_DARK_MODE_KEY_, PROJ_CFG_KEY } from '/@/enums/cacheEnum'; |
| | | import { Persistent } from '/@/utils/cache/persistent'; |
| | | import { darkMode } from '/@/settings/designSetting'; |
| | | import { resetRouter } from '/@/router'; |
| | | import { deepMerge } from '/@/utils'; |
| | | import { ThemeEnum } from '@/enums/appEnum'; |
| | | import { APP_DARK_MODE_KEY, PROJ_CFG_KEY, API_ADDRESS } from '@/enums/cacheEnum'; |
| | | import { Persistent } from '@/utils/cache/persistent'; |
| | | import { darkMode } from '@/settings/designSetting'; |
| | | import { resetRouter } from '@/router'; |
| | | import { deepMerge } from '@/utils'; |
| | | |
| | | interface AppState { |
| | | darkMode?: ThemeEnum; |
| | |
| | | return state.pageLoading; |
| | | }, |
| | | getDarkMode(state): 'light' | 'dark' | string { |
| | | return state.darkMode || localStorage.getItem(APP_DARK_MODE_KEY_) || darkMode; |
| | | return state.darkMode || localStorage.getItem(APP_DARK_MODE_KEY) || darkMode; |
| | | }, |
| | | |
| | | getBeforeMiniInfo(state): BeforeMiniState { |
| | |
| | | getMultiTabsSetting(): MultiTabsSetting { |
| | | return this.getProjectConfig.multiTabsSetting; |
| | | }, |
| | | getApiAddress() { |
| | | return JSON.parse(localStorage.getItem(API_ADDRESS) || '{}'); |
| | | }, |
| | | }, |
| | | actions: { |
| | | setPageLoading(loading: boolean): void { |
| | |
| | | |
| | | setDarkMode(mode: ThemeEnum): void { |
| | | this.darkMode = mode; |
| | | localStorage.setItem(APP_DARK_MODE_KEY_, mode); |
| | | localStorage.setItem(APP_DARK_MODE_KEY, mode); |
| | | }, |
| | | |
| | | setBeforeMiniInfo(state: BeforeMiniState): void { |
| | |
| | | }, |
| | | |
| | | setProjectConfig(config: DeepPartial<ProjectConfig>): void { |
| | | this.projectConfig = deepMerge(this.projectConfig || {}, config); |
| | | this.projectConfig = deepMerge(this.projectConfig || {}, config) as ProjectConfig; |
| | | Persistent.setLocal(PROJ_CFG_KEY, this.projectConfig); |
| | | }, |
| | | setMenuSetting(setting: Partial<MenuSetting>): void { |
| | | this.projectConfig!.menuSetting = deepMerge(this.projectConfig!.menuSetting, setting); |
| | | Persistent.setLocal(PROJ_CFG_KEY, this.projectConfig); |
| | | }, |
| | | |
| | |
| | | clearTimeout(timeId); |
| | | } |
| | | }, |
| | | setApiAddress(config: ApiAddress): void { |
| | | localStorage.setItem(API_ADDRESS, JSON.stringify(config)); |
| | | }, |
| | | }, |
| | | }); |
| | | |