useRootSetting.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import type { ProjectConfig } from '/#/config';
  2. import { computed } from 'vue';
  3. import { useAppStore } from '/@/store/modules/app';
  4. import { useVentStore } from '/@/store/modules/vent';
  5. import { ContentEnum, ThemeEnum } from '/@/enums/appEnum';
  6. type RootSetting = Omit<ProjectConfig, 'locale' | 'headerSetting' | 'menuSetting' | 'multiTabsSetting'>;
  7. export function useRootSetting() {
  8. const appStore = useAppStore();
  9. const getPageLoading = computed(() => appStore.getPageLoading);
  10. const getOpenKeepAlive = computed(() => appStore.getProjectConfig.openKeepAlive);
  11. const getSettingButtonPosition = computed(() => appStore.getProjectConfig.settingButtonPosition);
  12. const getCanEmbedIFramePage = computed(() => appStore.getProjectConfig.canEmbedIFramePage);
  13. const getPermissionMode = computed(() => appStore.getProjectConfig.permissionMode);
  14. const getShowLogo = computed(() => appStore.getProjectConfig.showLogo);
  15. const getContentMode = computed(() => appStore.getProjectConfig.contentMode);
  16. const getUseOpenBackTop = computed(() => appStore.getProjectConfig.useOpenBackTop);
  17. const getShowSettingButton = computed(() => appStore.getProjectConfig.showSettingButton);
  18. const getUseErrorHandle = computed(() => appStore.getProjectConfig.useErrorHandle);
  19. const getShowFooter = computed(() => appStore.getProjectConfig.showFooter);
  20. const getShowBreadCrumb = computed(() => appStore.getProjectConfig.showBreadCrumb);
  21. const getThemeColor = computed(() => appStore.getProjectConfig.themeColor);
  22. const getShowBreadCrumbIcon = computed(() => appStore.getProjectConfig.showBreadCrumbIcon);
  23. const getFullContent = computed(() => appStore.getProjectConfig.fullContent);
  24. const getColorWeak = computed(() => appStore.getProjectConfig.colorWeak);
  25. const getGrayMode = computed(() => appStore.getProjectConfig.grayMode);
  26. const getLockTime = computed(() => appStore.getProjectConfig.lockTime);
  27. const getShowDarkModeToggle = computed(() => appStore.getProjectConfig.showDarkModeToggle);
  28. const getDarkMode = computed(() => appStore.getDarkMode);
  29. const getLayoutContentMode = computed(() => (appStore.getProjectConfig.contentMode === ContentEnum.FULL ? ContentEnum.FULL : ContentEnum.FIXED));
  30. function setRootSetting(setting: Partial<RootSetting>) {
  31. appStore.setProjectConfig(setting);
  32. }
  33. function setDarkMode(mode: ThemeEnum) {
  34. appStore.setDarkMode(mode);
  35. }
  36. return {
  37. setRootSetting,
  38. getSettingButtonPosition,
  39. getFullContent,
  40. getColorWeak,
  41. getGrayMode,
  42. getLayoutContentMode,
  43. getPageLoading,
  44. getOpenKeepAlive,
  45. getCanEmbedIFramePage,
  46. getPermissionMode,
  47. getShowLogo,
  48. getUseErrorHandle,
  49. getShowBreadCrumb,
  50. getShowBreadCrumbIcon,
  51. getUseOpenBackTop,
  52. getShowSettingButton,
  53. getShowFooter,
  54. getContentMode,
  55. getLockTime,
  56. getThemeColor,
  57. getDarkMode,
  58. setDarkMode,
  59. getShowDarkModeToggle,
  60. };
  61. }