vue-vben-admin/types/config.d.ts

159 lines
4.1 KiB
TypeScript
Raw Permalink Normal View History

import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum'
import {
ContentEnum,
PermissionModeEnum,
ThemeEnum,
RouterTransitionEnum,
SettingButtonPositionEnum,
SessionTimeoutProcessingEnum,
} from '/@/enums/appEnum'
2021-02-25 20:17:08 +08:00
import { CacheTypeEnum } from '/@/enums/cacheEnum'
2020-11-23 00:35:15 +08:00
export type LocaleType = 'zh_CN' | 'en' | 'ru' | 'ja' | 'ko'
2020-09-28 20:19:10 +08:00
export interface MenuSetting {
bgColor: string
fixed: boolean
collapsed: boolean
siderHidden: 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
2020-09-28 20:19:10 +08:00
}
export interface MultiTabsSetting {
cache: boolean
show: boolean
showQuick: boolean
canDrag: boolean
showRedo: boolean
showFold: boolean
2020-09-28 20:19:10 +08:00
}
export interface HeaderSetting {
bgColor: string
fixed: boolean
show: boolean
theme: ThemeEnum
2021-02-25 20:17:08 +08:00
// Turn on full screen
showFullScreen: boolean
2021-02-25 20:17:08 +08:00
// Show document button
showDoc: boolean
2021-02-25 20:17:08 +08:00
// Show message center button
showNotice: boolean
showSearch: boolean
2020-09-28 20:19:10 +08:00
}
2020-11-23 00:35:15 +08:00
export interface LocaleSetting {
showPicker: boolean
2020-11-23 00:35:15 +08:00
// Current language
locale: LocaleType
2020-11-23 00:35:15 +08:00
// default language
fallback: LocaleType
2020-11-23 00:35:15 +08:00
// available Locales
availableLocales: LocaleType[]
2020-11-23 00:35:15 +08:00
}
2020-11-25 00:43:33 +08:00
export interface TransitionSetting {
// Whether to open the page switching animation
enable: boolean
2020-11-25 00:43:33 +08:00
// Route basic switching animation
basicTransition: RouterTransitionEnum
2020-11-25 00:43:33 +08:00
// Whether to open page switching loading
openPageLoading: boolean
2020-11-25 00:43:33 +08:00
// Whether to open the top progress bar
openNProgress: boolean
2020-11-25 00:43:33 +08:00
}
2020-09-28 20:19:10 +08:00
export interface ProjectConfig {
2021-02-25 20:17:08 +08:00
// Storage location of permission related information
permissionCacheType: CacheTypeEnum
2021-02-25 20:17:08 +08:00
// Whether to show the configuration button
showSettingButton: boolean
2021-04-07 23:14:51 +08:00
// Whether to show the theme switch button
showDarkModeToggle: boolean
2021-02-25 20:17:08 +08:00
// Configure where the button is displayed
settingButtonPosition: SettingButtonPositionEnum
2021-02-25 20:17:08 +08:00
// Permission mode
permissionMode: PermissionModeEnum
// Session timeout processing
sessionTimeoutProcessing: SessionTimeoutProcessingEnum
2021-02-25 20:17:08 +08:00
// Website gray mode, open for possible mourning dates
grayMode: boolean
2021-02-25 20:17:08 +08:00
// Whether to turn on the color weak mode
colorWeak: boolean
2021-02-25 20:17:08 +08:00
// Theme color
themeColor: string
2021-02-25 20:17:08 +08:00
// The main interface is displayed in full screen, the menu is not displayed, and the top
fullContent: boolean
2021-02-25 20:17:08 +08:00
// content width
contentMode: ContentEnum
2021-02-25 20:17:08 +08:00
// Whether to display the logo
showLogo: boolean
2021-02-25 20:17:08 +08:00
// Whether to show the global footer
showFooter: boolean
2020-09-28 20:19:10 +08:00
// menuType: MenuTypeEnum;
headerSetting: HeaderSetting
2021-02-25 20:17:08 +08:00
// menuSetting
menuSetting: MenuSetting
2021-02-25 20:17:08 +08:00
// Multi-tab settings
multiTabsSetting: MultiTabsSetting
2021-02-25 20:17:08 +08:00
// Animation configuration
transitionSetting: TransitionSetting
2021-02-25 20:17:08 +08:00
// pageLayout whether to enable keep-alive
openKeepAlive: boolean
2021-02-25 20:17:08 +08:00
// Show breadcrumbs
showBreadCrumb: boolean
2021-02-25 20:17:08 +08:00
// Show breadcrumb icon
showBreadCrumbIcon: boolean
2021-02-25 20:17:08 +08:00
// Use error-handler-plugin
useErrorHandle: boolean
2021-02-25 20:17:08 +08:00
// Whether to open back to top
useOpenBackTop: boolean
2021-02-25 20:17:08 +08:00
// Is it possible to embed iframe pages
canEmbedIFramePage: boolean
2021-02-25 20:17:08 +08:00
// Whether to delete unclosed messages and notify when switching the interface
closeMessageOnSwitch: boolean
2021-02-25 20:17:08 +08:00
// Whether to cancel the http request that has been sent but not responded when switching the interface.
removeAllHttpPending: boolean
2020-09-28 20:19:10 +08:00
}
export interface GlobConfig {
2021-02-25 20:17:08 +08:00
// Site title
title: string
2021-02-25 20:17:08 +08:00
// Service interface url
apiUrl: string
2021-02-25 20:17:08 +08:00
// Upload url
uploadUrl?: string
2021-02-25 20:17:08 +08:00
// Service interface url prefix
urlPrefix?: string
2021-02-25 20:17:08 +08:00
// Project abbreviation
shortName: string
2020-09-28 20:19:10 +08:00
}
export interface GlobEnvConfig {
2021-02-25 20:17:08 +08:00
// Site title
VITE_GLOB_APP_TITLE: string
2021-02-25 20:17:08 +08:00
// Service interface url
VITE_GLOB_API_URL: string
2021-02-25 20:17:08 +08:00
// Service interface url prefix
VITE_GLOB_API_URL_PREFIX?: string
2021-02-25 20:17:08 +08:00
// Project abbreviation
VITE_GLOB_APP_SHORT_NAME: string
2021-02-25 20:17:08 +08:00
// Upload url
VITE_GLOB_UPLOAD_URL?: string
2020-09-28 20:19:10 +08:00
}