config.d.ts 3.5 KB
Newer Older
陈文彬 已提交
1
// 左侧菜单, 顶部菜单
V
vben 已提交
2 3
import { MenuTypeEnum, MenuModeEnum, TriggerEnum } from '/@/enums/menuEnum';
import { ContentEnum, PermissionModeEnum, ThemeEnum, RouterTransitionEnum } from '/@/enums/appEnum';
V
vben 已提交
4
import type { LocaleType } from '/@/locales/types';
V
vben 已提交
5

陈文彬 已提交
6 7
export interface MenuSetting {
  collapsed: boolean;
V
vben 已提交
8
  collapsedShowTitle: boolean;
陈文彬 已提交
9 10 11
  hasDrag: boolean;
  showSearch: boolean;
  show: boolean;
V
vben 已提交
12
  hidden: boolean;
陈文彬 已提交
13 14 15 16
  split: boolean;
  menuWidth: number;
  mode: MenuModeEnum;
  type: MenuTypeEnum;
V
vben 已提交
17
  theme: ThemeEnum;
陈文彬 已提交
18
  topMenuAlign: 'start' | 'center' | 'end';
V
vben 已提交
19
  collapsedShowSearch: boolean;
V
vben 已提交
20
  trigger: TriggerEnum;
V
vben 已提交
21
  accordion: boolean;
陈文彬 已提交
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
}

export interface MultiTabsSetting {
  // 是否显示
  show: boolean;
  // 开启快速操作
  showQuick: boolean;
  // 显示icon
  showIcon: boolean;
  // 缓存最大数量
  max: number;
}

export interface HeaderSetting {
  fixed: boolean;
  show: boolean;
V
vben 已提交
38
  theme: ThemeEnum;
陈文彬 已提交
39 40 41 42 43 44 45 46
  // 显示刷新按钮
  showRedo: boolean;
  // 显示全屏按钮
  showFullScreen: boolean;
  // 开启全屏功能
  useLockPage: boolean;
  // 显示文档按钮
  showDoc: boolean;
C
chen-xt 已提交
47 48
  // 显示消息中心按钮
  showNotice: boolean;
陈文彬 已提交
49
}
V
vben 已提交
50 51 52 53 54 55 56 57 58 59

export interface LocaleSetting {
  // Current language
  lang: LocaleType;
  // default language
  fallback: LocaleType;
  // available Locales
  availableLocales: LocaleType[];
}

陈文彬 已提交
60
export interface ProjectConfig {
V
vben 已提交
61
  locale: LocaleSetting;
62 63 64 65
  // header背景色
  headerBgColor: string;
  // 左侧菜单背景色
  menuBgColor: string;
陈文彬 已提交
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
  // 是否显示配置按钮
  showSettingButton: boolean;
  // 权限模式
  permissionMode: PermissionModeEnum;
  // 网站灰色模式,用于可能悼念的日期开启
  grayMode: boolean;
  // 是否开启色弱模式
  colorWeak: boolean;
  // 主题色
  themeColor: string;
  // 全屏显示主界面,不显示菜单,及顶部
  fullContent: boolean;
  // 区域宽度
  contentMode: ContentEnum;
  // 是否显示logo
  showLogo: boolean;
  headerSetting: HeaderSetting;
  // 菜单类型
  // menuType: MenuTypeEnum;
  menuSetting: MenuSetting;

  // 多标签页设置
  multiTabsSetting: MultiTabsSetting;
  // pageLayout是否开启keep-alive
  openKeepAlive: boolean;

  // 锁屏时间
  lockTime: number;
  // 显示面包屑
  showBreadCrumb: boolean;
Z
ZhaoBin 已提交
96 97
  // 显示面包屑图标
  showBreadCrumbIcon: boolean;
陈文彬 已提交
98 99 100 101 102 103 104 105 106 107 108 109
  // 使用error-handler-plugin
  useErrorHandle: boolean;
  // 开启页面切换动画
  openRouterTransition: boolean;
  // 路由切换动画
  routerTransition: RouterTransitionEnum;
  // 是否开启登录安全校验
  openLoginVerify: boolean;
  // 是否开启页面切换loading
  openPageLoading: boolean;
  // 是否开启回到顶部
  useOpenBackTop: boolean;
110 111
  // 开启顶部进度条
  openNProgress: boolean;
陈文彬 已提交
112 113
  // 是否可以嵌入iframe页面
  canEmbedIFramePage: boolean;
114 115 116 117
  // 切换界面的时候是否删除未关闭的message及notify
  closeMessageOnSwitch: boolean;
  // 切换界面的时候是否取消已经发送但是未响应的http请求。
  removeAllHttpPending: boolean;
陈文彬 已提交
118 119 120 121 122 123 124 125 126 127 128 129
}

export interface GlobConfig {
  // 网站标题
  title: string;
  // 项目路径
  apiUrl: string;
  urlPrefix?: string;
  shortName: string;
}
export interface GlobEnvConfig {
  // 网站标题
B
bin 已提交
130
  VITE_GLOB_APP_TITLE: string;
陈文彬 已提交
131
  // 项目路径
B
bin 已提交
132 133 134
  VITE_GLOB_API_URL: string;
  VITE_GLOB_API_URL_PREFIX?: string;
  VITE_GLOB_APP_SHORT_NAME: string;
陈文彬 已提交
135 136 137 138 139
}

interface GlobWrap {
  globSetting: Readonly<GlobConfig>;
}
V
vben 已提交
140

陈文彬 已提交
141 142 143
interface ProjectSettingWrap {
  projectSetting: Readonly<ProjectConfig>;
}