207 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
		
		
			
		
	
	
			207 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
| 
								 | 
							
								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;
							 | 
						|||
| 
								 | 
							
								  // update-begin--author:liaozhiyang---date:20240408---for:【QQYUN-8922】左侧导航栏文字颜色调整区分彩色和暗黑
							 | 
						|||
| 
								 | 
							
								  isThemeBright: boolean;
							 | 
						|||
| 
								 | 
							
								  // update-end--author:liaozhiyang---date:20240408---for:【QQYUN-8922】左侧导航栏文字颜色调整区分彩色和暗黑
							 | 
						|||
| 
								 | 
							
								  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;
							 | 
						|||
| 
								 | 
							
								  // 是否显示全屏按钮
							 | 
						|||
| 
								 | 
							
								  showFullScreen: boolean;
							 | 
						|||
| 
								 | 
							
								  // 是否显示锁屏按钮
							 | 
						|||
| 
								 | 
							
								  useLockPage: boolean;
							 | 
						|||
| 
								 | 
							
								  // 是否显示文档连接
							 | 
						|||
| 
								 | 
							
								  showDoc: boolean;
							 | 
						|||
| 
								 | 
							
								  // 是否显示消息图标
							 | 
						|||
| 
								 | 
							
								  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;
							 | 
						|||
| 
								 | 
							
								  // Theme Mode
							 | 
						|||
| 
								 | 
							
								  themeMode: 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;
							 | 
						|||
| 
								 | 
							
								  aiIconShow: boolean;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								export interface GlobConfig {
							 | 
						|||
| 
								 | 
							
								  // Site title
							 | 
						|||
| 
								 | 
							
								  title: string;
							 | 
						|||
| 
								 | 
							
								  // Service interface url
							 | 
						|||
| 
								 | 
							
								  apiUrl: string;
							 | 
						|||
| 
								 | 
							
								  domainUrl: 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;
							 | 
						|||
| 
								 | 
							
								  // 短标题
							 | 
						|||
| 
								 | 
							
								  shortTitle: string;
							 | 
						|||
| 
								 | 
							
								  // 当前是否运行在 electron 平台
							 | 
						|||
| 
								 | 
							
								  isElectronPlatform: boolean;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  // 【CPTE作为乾坤子应用】是否以乾坤子应用模式启动
							 | 
						|||
| 
								 | 
							
								  isQiankunMicro: boolean;
							 | 
						|||
| 
								 | 
							
								  // 【CPTE作为乾坤子应用】乾坤子应用入口
							 | 
						|||
| 
								 | 
							
								  qiankunMicroAppEntry?: string;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								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;
							 | 
						|||
| 
								 | 
							
								  // 全局隐藏哪些布局,多个用逗号隔开
							 | 
						|||
| 
								 | 
							
								  VITE_GLOB_HIDE_LAYOUT_TYPES?: string;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								  // 【CPTE作为乾坤子应用】填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致
							 | 
						|||
| 
								 | 
							
								  VITE_GLOB_QIANKUN_MICRO_APP_NAME?: string;
							 | 
						|||
| 
								 | 
							
								  // 【CPTE作为乾坤子应用】作为乾坤子应用启动时必填,需与qiankun主应用注册子应用时填写的 entry 保持一致
							 | 
						|||
| 
								 | 
							
								  VITE_GLOB_QIANKUN_MICRO_APP_ENTRY?: string;
							 | 
						|||
| 
								 | 
							
								  //在线文档编辑版本。可选属性:wps, onlyoffice
							 | 
						|||
| 
								 | 
							
								  VITE_GLOB_ONLINE_DOCUMENT_VERSION?: string;
							 | 
						|||
| 
								 | 
							
								  // 当前运行在什么平台
							 | 
						|||
| 
								 | 
							
								  VITE_GLOB_RUN_PLATFORM?: 'web' | 'electron';
							 | 
						|||
| 
								 | 
							
								}
							 |