import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum'; import { ContentEnum, PermissionModeEnum, ThemeEnum, RouterTransitionEnum, SettingButtonPositionEnum, SessionTimeoutProcessingEnum, } from '/@/enums/appEnum'; import { CacheTypeEnum } from '/@/enums/cacheEnum'; export type LocaleType = 'zh_CN' | 'en' | 'ru' | 'ja' | 'ko'; export interface MenuSetting { bgColor: string; fixed: boolean; collapsed: boolean; canDrag: boolean; show: boolean; hidden: boolean; split: boolean; menuWidth: number; mode: MenuModeEnum; type: MenuTypeEnum; theme: ThemeEnum; topMenuAlign: 'start' | 'center' | 'end'; trigger: TriggerEnum; accordion: boolean; closeMixSidebarOnChange: boolean; collapsedShowTitle: boolean; mixSideTrigger: MixSidebarTriggerEnum; mixSideFixed: boolean; } export interface MultiTabsSetting { cache: boolean; show: boolean; showQuick: boolean; canDrag: boolean; showRedo: boolean; showFold: boolean; theme: string; } export interface HeaderSetting { bgColor: string; fixed: boolean; show: boolean; theme: ThemeEnum; // Turn on full screen showFullScreen: boolean; // Whether to show the lock screen useLockPage: boolean; // Show document button showDoc: boolean; // Show message center button showNotice: boolean; showSearch: boolean; } export interface LocaleSetting { showPicker: boolean; // Current language locale: LocaleType; // default language fallback: LocaleType; // available Locales availableLocales: LocaleType[]; } export interface TransitionSetting { // Whether to open the page switching animation enable: boolean; // Route basic switching animation basicTransition: RouterTransitionEnum; // Whether to open page switching loading openPageLoading: boolean; // Whether to open the top progress bar openNProgress: boolean; } export interface ProjectConfig { // Storage location of permission related information permissionCacheType: CacheTypeEnum; // Whether to show the configuration button showSettingButton: boolean; // Whether to show the theme switch button showDarkModeToggle: boolean; // Configure where the button is displayed settingButtonPosition: SettingButtonPositionEnum; // Permission mode permissionMode: PermissionModeEnum; // Session timeout processing sessionTimeoutProcessing: SessionTimeoutProcessingEnum; // Website gray mode, open for possible mourning dates grayMode: boolean; // Whether to turn on the color weak mode colorWeak: boolean; // Theme color themeColor: string; // The main interface is displayed in full screen, the menu is not displayed, and the top fullContent: boolean; // content width contentMode: ContentEnum; // Whether to display the logo showLogo: boolean; // Whether to show the global footer showFooter: boolean; // menuType: MenuTypeEnum; headerSetting: HeaderSetting; // menuSetting menuSetting: MenuSetting; // Multi-tab settings multiTabsSetting: MultiTabsSetting; // Animation configuration transitionSetting: TransitionSetting; // pageLayout whether to enable keep-alive openKeepAlive: boolean; // Lock screen time lockTime: number; // Show breadcrumbs showBreadCrumb: boolean; // Show breadcrumb icon showBreadCrumbIcon: boolean; // Use error-handler-plugin useErrorHandle: boolean; // Whether to open back to top useOpenBackTop: boolean; // Is it possible to embed iframe pages canEmbedIFramePage: boolean; // Whether to delete unclosed messages and notify when switching the interface closeMessageOnSwitch: boolean; // Whether to cancel the http request that has been sent but not responded when switching the interface. removeAllHttpPending: boolean; } export interface GlobConfig { logoUrl: string; // Site title title: string; // Service interface url apiUrl: string; domainUrl: string; wsUrl: string; // Upload url (作废) uploadUrl?: string; openSso?: string; openQianKun?: string; casBaseUrl?: string; // onlineview url viewUrl?: string; // Service interface url prefix urlPrefix?: string; // Project abbreviation shortName: string; modalUrlArr: string; homePath: string; sysOrgCode: string; // isSimulate: boolean } export interface GlobEnvConfig { // Site title VITE_GLOB_APP_TITLE: string; // Service interface url VITE_GLOB_API_URL: string; VITE_USE_MOCK: string; // Service interface url prefix VITE_GLOB_API_URL_PREFIX?: string; // Project abbreviation VITE_GLOB_APP_SHORT_NAME: string; //是否开启单点登录 VITE_GLOB_APP_OPEN_SSO: string; //是否开启微应用模式 VITE_GLOB_APP_OPEN_QIANKUN: string; //单点服务端地址 VITE_GLOB_APP_CAS_BASE_URL: string; VITE_GLOB_DOMAIN_URL: string; // Upload url VITE_GLOB_UPLOAD_URL?: string; // view url VITE_GLOB_ONLINE_VIEW_URL?: string; // 3D modal names arr VITE_3D_MODAL_ARR: string; // 子应用 arr VITE_APP_SUB_APP?: Array; // 是否模拟 VITE_GLOB_IS_SIMULATE: boolean; // 海康平台URL VITE_HK_URL: string; // 海康平台appKey VITE_HK_APP_KEY: string; // 海康平台Signature VITE_HK_SIGNATURE: string; }