designSetting.ts 875 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { defineStore } from 'pinia';
  2. import { store } from '@/store';
  3. import designSetting from '@/settings/designSetting';
  4. const { darkTheme, appTheme, appThemeList } = designSetting;
  5. interface DesignSettingState {
  6. //深色主题
  7. darkTheme: boolean;
  8. //系统风格
  9. appTheme: string;
  10. //系统内置风格
  11. appThemeList: string[];
  12. }
  13. export const useDesignSettingStore = defineStore({
  14. id: 'app-design-setting',
  15. state: (): DesignSettingState => ({
  16. darkTheme,
  17. appTheme,
  18. appThemeList
  19. }),
  20. getters: {
  21. getDarkTheme(): boolean {
  22. return this.darkTheme;
  23. },
  24. getAppTheme(): string {
  25. return this.appTheme;
  26. },
  27. getAppThemeList(): string[] {
  28. return this.appThemeList;
  29. }
  30. },
  31. actions: {}
  32. });
  33. // Need to be used outside the setup
  34. export function useDesignSettingWithOut() {
  35. return useDesignSettingStore(store);
  36. }