UNPKG

create-iking-admin

Version:

金合技术中台脚手架

104 lines (75 loc) 3.17 kB
/* * @Author: wfl * @LastEditors: wfl * @description: * @updateInfo: * @Date: 2022-07-29 11:45:14 * @LastEditTime: 2022-08-08 15:47:40 */ import type { ProjectConfig } from '@t/config'; import { computed } from 'vue'; import { ContentEnum, ThemeEnum } from '@/global/enums/appEnum'; import { useAppStore } from '@/global/store/modules/app'; type RootSetting = Omit< ProjectConfig, 'locale' | 'headerSetting' | 'menuSetting' | 'multiTabsSetting' >; export function useRootSetting() { const appStore = useAppStore(); const getPageLoading = computed(() => appStore.getPageLoading); const getOpenKeepAlive = computed(() => appStore.getProjectConfig.openKeepAlive); const getSettingButtonPosition = computed(() => appStore.getProjectConfig.settingButtonPosition); const getCanEmbedIFramePage = computed(() => appStore.getProjectConfig.canEmbedIFramePage); const getShowLogo = computed(() => appStore.getProjectConfig.showLogo); const getContentMode = computed(() => appStore.getProjectConfig.contentMode); const getUseOpenBackTop = computed(() => appStore.getProjectConfig.useOpenBackTop); const getShowSettingButton = computed(() => appStore.getProjectConfig.showSettingButton); const getUseErrorHandle = computed(() => appStore.getProjectConfig.useErrorHandle); const getShowFooter = computed(() => appStore.getProjectConfig.showFooter); const getShowBreadCrumb = computed(() => appStore.getProjectConfig.showBreadCrumb); const getThemeColor = computed(() => appStore.getProjectConfig.themeColor); const getShowBreadCrumbIcon = computed(() => appStore.getProjectConfig.showBreadCrumbIcon); const getFullContent = computed(() => appStore.getProjectConfig.fullContent); const getColorWeak = computed(() => appStore.getProjectConfig.colorWeak); const getGrayMode = computed(() => appStore.getProjectConfig.grayMode); const getLockTime = computed(() => appStore.getProjectConfig.lockTime); const getShowDarkModeToggle = computed(() => appStore.getProjectConfig.showDarkModeToggle); const getClearStorage = computed(() => appStore.getProjectConfig.clearStorageOnLogout); const getDarkMode = computed(() => appStore.getDarkMode); const getLayoutContentMode = computed(() => appStore.getProjectConfig.contentMode === ContentEnum.FULL ? ContentEnum.FULL : ContentEnum.FIXED, ); function setRootSetting(setting: Partial<RootSetting>) { appStore.setProjectConfig(setting); } function setDarkMode(mode: ThemeEnum) { appStore.setDarkMode(mode); } return { setRootSetting, getClearStorage, getSettingButtonPosition, getFullContent, getColorWeak, getGrayMode, getLayoutContentMode, getPageLoading, getOpenKeepAlive, getCanEmbedIFramePage, getShowLogo, getUseErrorHandle, getShowBreadCrumb, getShowBreadCrumbIcon, getUseOpenBackTop, getShowSettingButton, getShowFooter, getContentMode, getLockTime, getThemeColor, getDarkMode, setDarkMode, getShowDarkModeToggle, }; }