2021-01-02 22:16:46 +08:00
|
|
|
import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
|
2021-02-18 21:02:56 +08:00
|
|
|
import {
|
|
|
|
|
ContentEnum,
|
|
|
|
|
PermissionModeEnum,
|
|
|
|
|
ThemeEnum,
|
|
|
|
|
RouterTransitionEnum,
|
|
|
|
|
SettingButtonPositionEnum,
|
|
|
|
|
} from '/@/enums/appEnum';
|
2020-11-25 21:26:10 +08:00
|
|
|
import { CacheTypeEnum } from '/@/enums/cacheEnum';
|
2020-11-19 23:01:27 +08:00
|
|
|
import type { LocaleType } from '/@/locales/types';
|
2021-02-03 23:52:55 +08:00
|
|
|
import { ThemeMode } from '../../build/config/lessModifyVars';
|
2020-11-23 00:35:15 +08:00
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
export interface MenuSetting {
|
2020-11-24 22:59:29 +08:00
|
|
|
bgColor: string;
|
|
|
|
|
fixed: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
collapsed: boolean;
|
2020-11-25 22:28:58 +08:00
|
|
|
canDrag: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
show: boolean;
|
2020-11-06 22:41:00 +08:00
|
|
|
hidden: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
split: boolean;
|
|
|
|
|
menuWidth: number;
|
|
|
|
|
mode: MenuModeEnum;
|
|
|
|
|
type: MenuTypeEnum;
|
2020-11-18 22:41:59 +08:00
|
|
|
theme: ThemeEnum;
|
2020-09-28 20:19:10 +08:00
|
|
|
topMenuAlign: 'start' | 'center' | 'end';
|
2020-11-06 22:41:00 +08:00
|
|
|
trigger: TriggerEnum;
|
2020-11-10 22:45:39 +08:00
|
|
|
accordion: boolean;
|
2020-12-21 23:38:16 +08:00
|
|
|
closeMixSidebarOnChange: boolean;
|
2020-12-22 23:18:50 +08:00
|
|
|
collapsedShowTitle: boolean;
|
2021-01-02 22:16:46 +08:00
|
|
|
mixSideTrigger: MixSidebarTriggerEnum;
|
2021-01-03 10:42:19 +08:00
|
|
|
mixSideFixed: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface MultiTabsSetting {
|
|
|
|
|
// 是否显示
|
|
|
|
|
show: boolean;
|
|
|
|
|
// 开启快速操作
|
|
|
|
|
showQuick: boolean;
|
2020-11-25 22:28:58 +08:00
|
|
|
canDrag: boolean;
|
2020-12-15 00:13:23 +08:00
|
|
|
|
|
|
|
|
// 显示刷新按钮
|
|
|
|
|
showRedo: boolean;
|
2021-01-06 20:10:16 +08:00
|
|
|
|
|
|
|
|
// 显示折叠按钮
|
|
|
|
|
showFold: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface HeaderSetting {
|
2020-11-24 22:59:29 +08:00
|
|
|
bgColor: string;
|
2020-09-28 20:19:10 +08:00
|
|
|
fixed: boolean;
|
|
|
|
|
show: boolean;
|
2020-11-18 22:41:59 +08:00
|
|
|
theme: ThemeEnum;
|
2020-12-15 00:13:23 +08:00
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
// 显示全屏按钮
|
|
|
|
|
showFullScreen: boolean;
|
|
|
|
|
// 开启全屏功能
|
|
|
|
|
useLockPage: boolean;
|
|
|
|
|
// 显示文档按钮
|
|
|
|
|
showDoc: boolean;
|
2020-10-21 21:15:06 +08:00
|
|
|
// 显示消息中心按钮
|
|
|
|
|
showNotice: boolean;
|
2020-12-10 23:58:11 +08:00
|
|
|
|
|
|
|
|
showSearch: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
}
|
2020-11-23 00:35:15 +08:00
|
|
|
|
|
|
|
|
export interface LocaleSetting {
|
2020-11-25 23:20:30 +08:00
|
|
|
show: boolean;
|
2020-11-23 00:35:15 +08:00
|
|
|
// Current language
|
|
|
|
|
lang: LocaleType;
|
|
|
|
|
// default language
|
|
|
|
|
fallback: LocaleType;
|
|
|
|
|
// available Locales
|
|
|
|
|
availableLocales: LocaleType[];
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-25 00:43:33 +08:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
export interface ProjectConfig {
|
2020-11-23 00:35:15 +08:00
|
|
|
locale: LocaleSetting;
|
2020-11-24 22:59:29 +08:00
|
|
|
|
2020-11-25 21:26:10 +08:00
|
|
|
permissionCacheType: CacheTypeEnum;
|
|
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
// 是否显示配置按钮
|
|
|
|
|
showSettingButton: boolean;
|
2021-02-18 21:02:56 +08:00
|
|
|
settingButtonPosition: SettingButtonPositionEnum;
|
2020-09-28 20:19:10 +08:00
|
|
|
// 权限模式
|
|
|
|
|
permissionMode: PermissionModeEnum;
|
|
|
|
|
// 网站灰色模式,用于可能悼念的日期开启
|
|
|
|
|
grayMode: boolean;
|
|
|
|
|
// 是否开启色弱模式
|
|
|
|
|
colorWeak: boolean;
|
|
|
|
|
// 主题色
|
|
|
|
|
themeColor: string;
|
2021-02-03 23:52:55 +08:00
|
|
|
themeMode: ThemeMode;
|
2020-09-28 20:19:10 +08:00
|
|
|
// 全屏显示主界面,不显示菜单,及顶部
|
|
|
|
|
fullContent: boolean;
|
|
|
|
|
// 区域宽度
|
|
|
|
|
contentMode: ContentEnum;
|
|
|
|
|
// 是否显示logo
|
|
|
|
|
showLogo: boolean;
|
2020-11-24 22:59:29 +08:00
|
|
|
showFooter: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
headerSetting: HeaderSetting;
|
|
|
|
|
// 菜单类型
|
|
|
|
|
// menuType: MenuTypeEnum;
|
|
|
|
|
menuSetting: MenuSetting;
|
|
|
|
|
|
|
|
|
|
// 多标签页设置
|
|
|
|
|
multiTabsSetting: MultiTabsSetting;
|
2020-11-25 00:43:33 +08:00
|
|
|
|
|
|
|
|
transitionSetting: TransitionSetting;
|
|
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
// pageLayout是否开启keep-alive
|
|
|
|
|
openKeepAlive: boolean;
|
|
|
|
|
|
2020-12-21 23:38:16 +08:00
|
|
|
//
|
2020-09-28 20:19:10 +08:00
|
|
|
// 锁屏时间
|
|
|
|
|
lockTime: number;
|
|
|
|
|
// 显示面包屑
|
|
|
|
|
showBreadCrumb: boolean;
|
2020-10-22 21:37:15 +08:00
|
|
|
// 显示面包屑图标
|
|
|
|
|
showBreadCrumbIcon: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
// 使用error-handler-plugin
|
|
|
|
|
useErrorHandle: boolean;
|
|
|
|
|
// 是否开启回到顶部
|
|
|
|
|
useOpenBackTop: boolean;
|
|
|
|
|
// 是否可以嵌入iframe页面
|
|
|
|
|
canEmbedIFramePage: boolean;
|
2020-10-13 01:40:18 +08:00
|
|
|
// 切换界面的时候是否删除未关闭的message及notify
|
|
|
|
|
closeMessageOnSwitch: boolean;
|
|
|
|
|
// 切换界面的时候是否取消已经发送但是未响应的http请求。
|
|
|
|
|
removeAllHttpPending: boolean;
|
2020-09-28 20:19:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface GlobConfig {
|
|
|
|
|
// 网站标题
|
|
|
|
|
title: string;
|
|
|
|
|
// 项目路径
|
|
|
|
|
apiUrl: string;
|
2020-12-08 22:18:20 +08:00
|
|
|
uploadUrl?: string;
|
2020-09-28 20:19:10 +08:00
|
|
|
urlPrefix?: string;
|
|
|
|
|
shortName: string;
|
|
|
|
|
}
|
|
|
|
|
export interface GlobEnvConfig {
|
|
|
|
|
// 网站标题
|
2020-10-10 21:28:43 +08:00
|
|
|
VITE_GLOB_APP_TITLE: string;
|
2020-09-28 20:19:10 +08:00
|
|
|
// 项目路径
|
2020-10-10 21:28:43 +08:00
|
|
|
VITE_GLOB_API_URL: string;
|
|
|
|
|
VITE_GLOB_API_URL_PREFIX?: string;
|
|
|
|
|
VITE_GLOB_APP_SHORT_NAME: string;
|
2020-12-08 22:18:20 +08:00
|
|
|
VITE_GLOB_UPLOAD_URL?: string;
|
2020-09-28 20:19:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface GlobWrap {
|
|
|
|
|
globSetting: Readonly<GlobConfig>;
|
|
|
|
|
}
|
2020-11-21 22:47:10 +08:00
|
|
|
|
2020-09-28 20:19:10 +08:00
|
|
|
interface ProjectSettingWrap {
|
|
|
|
|
projectSetting: Readonly<ProjectConfig>;
|
|
|
|
|
}
|