projectSetting.ts 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. import type { ProjectConfig } from '/#/config';
  2. import { MenuTypeEnum, MenuModeEnum, TriggerEnum, MixSidebarTriggerEnum } from '/@/enums/menuEnum';
  3. import { CacheTypeEnum } from '/@/enums/cacheEnum';
  4. import {
  5. ContentEnum,
  6. PermissionModeEnum,
  7. ThemeEnum,
  8. RouterTransitionEnum,
  9. SettingButtonPositionEnum,
  10. SessionTimeoutProcessingEnum,
  11. TabsThemeEnum,
  12. } from '/@/enums/appEnum';
  13. import { SIDE_BAR_BG_COLOR_LIST, HEADER_PRESET_BG_COLOR_LIST } from './designSetting';
  14. import { primaryColor } from '../../build/config/themeConfig';
  15. // ! 改动后需要清空浏览器缓存
  16. const setting: ProjectConfig = {
  17. // 是否显示SettingButton
  18. showSettingButton: true,
  19. // 是否显示主题切换按钮
  20. showDarkModeToggle: true,
  21. // 设置按钮位置 可选项
  22. // SettingButtonPositionEnum.AUTO: 自动选择
  23. // SettingButtonPositionEnum.HEADER: 位于头部
  24. // SettingButtonPositionEnum.FIXED: 固定在右侧
  25. settingButtonPosition: SettingButtonPositionEnum.AUTO,
  26. // 权限模式,默认前端角色权限模式
  27. // ROUTE_MAPPING: 前端模式(菜单由路由生成,默认)
  28. // ROLE:前端模式(菜单路由分开)
  29. // BACK:后台模式
  30. permissionMode: PermissionModeEnum.BACK,
  31. // 权限缓存存放位置。默认存放于localStorage
  32. permissionCacheType: CacheTypeEnum.LOCAL,
  33. // 会话超时处理方案
  34. // SessionTimeoutProcessingEnum.ROUTE_JUMP: 路由跳转到登录页
  35. // SessionTimeoutProcessingEnum.PAGE_COVERAGE: 生成登录弹窗,覆盖当前页面
  36. sessionTimeoutProcessing: SessionTimeoutProcessingEnum.ROUTE_JUMP,
  37. // 项目主题色
  38. themeColor: primaryColor,
  39. // 网站灰色模式,用于可能悼念的日期开启
  40. grayMode: false,
  41. // 色弱模式
  42. colorWeak: false,
  43. // 是否取消菜单,顶部,多标签页显示, 用于可能内嵌在别的系统内
  44. fullContent: false,
  45. // 主题内容宽度
  46. contentMode: ContentEnum.FULL,
  47. // 是否显示logo
  48. showLogo: true,
  49. // 是否显示底部信息 copyright
  50. showFooter: false,
  51. // 头部配置
  52. headerSetting: {
  53. // 背景色
  54. bgColor: HEADER_PRESET_BG_COLOR_LIST[4],
  55. // 固定头部
  56. fixed: true,
  57. // 是否显示顶部
  58. show: true,
  59. // 主题
  60. theme: ThemeEnum.LIGHT,
  61. // 开启锁屏功能
  62. useLockPage: false,
  63. // 显示全屏按钮
  64. showFullScreen: false,
  65. // 显示官网按钮
  66. showDoc: false,
  67. // 显示消息中心按钮
  68. showNotice: true,
  69. // 显示菜单搜索按钮
  70. showSearch: true,
  71. },
  72. // 菜单配置
  73. menuSetting: {
  74. // 背景色
  75. bgColor: SIDE_BAR_BG_COLOR_LIST[0],
  76. // 是否固定住左侧菜单
  77. fixed: true,
  78. // 菜单折叠
  79. collapsed: false,
  80. // 折叠菜单时候是否显示菜单名
  81. collapsedShowTitle: false,
  82. // 是否可拖拽
  83. // Only limited to the opening of the left menu, the mouse has a drag bar on the right side of the menu
  84. canDrag: false,
  85. // Whether to show no dom
  86. show: true,
  87. // Whether to show dom
  88. hidden: false,
  89. // 菜单宽度
  90. menuWidth: 210,
  91. // 菜单模式
  92. mode: MenuModeEnum.INLINE,
  93. // 菜单类型
  94. type: MenuTypeEnum.SIDEBAR,
  95. // 菜单主题
  96. theme: ThemeEnum.DARK,
  97. // 分割菜单
  98. split: false,
  99. // 顶部菜单布局
  100. topMenuAlign: 'center',
  101. // 折叠触发器的位置
  102. trigger: TriggerEnum.HEADER,
  103. // 手风琴模式,只展示一个菜单
  104. accordion: true,
  105. // 在路由切换的时候关闭左侧混合菜单展开菜单
  106. closeMixSidebarOnChange: false,
  107. // 左侧混合菜单模块切换触发方式 ‘click’ |'hover'
  108. mixSideTrigger: MixSidebarTriggerEnum.CLICK,
  109. // 是否固定左侧混合菜单
  110. mixSideFixed: false,
  111. },
  112. // 多标签
  113. multiTabsSetting: {
  114. // 刷新后是否保留已经打开的标签页
  115. cache: false,
  116. // 开启
  117. show: true,
  118. // 是否可以拖拽
  119. canDrag: true,
  120. // 开启快速操作
  121. showQuick: true,
  122. // 是否显示刷新按钮
  123. showRedo: true,
  124. // 是否显示折叠按钮
  125. showFold: true,
  126. // 标签页样式
  127. theme: TabsThemeEnum.CARD,
  128. },
  129. // 动画配置
  130. transitionSetting: {
  131. // 是否开启切换动画
  132. // The disabled state will also disable pageLoadinng
  133. enable: true,
  134. // 动画名 Route basic switching animation
  135. basicTransition: RouterTransitionEnum.FADE_SIDE,
  136. // 是否打开页面切换loading
  137. // Only open when enable=true
  138. openPageLoading: true,
  139. //是否打开页面切换顶部进度条
  140. openNProgress: true,
  141. },
  142. // 是否开启KeepAlive缓存 开发时候最好关闭,不然每次都需要清除缓存
  143. openKeepAlive: true,
  144. // 自动锁屏时间,为0不锁屏。 单位分钟 默认1个小时
  145. lockTime: 0,
  146. // 显示面包屑
  147. showBreadCrumb: false,
  148. // 显示面包屑图标
  149. showBreadCrumbIcon: true,
  150. // 是否使用全局错误捕获
  151. useErrorHandle: false,
  152. // 是否开启回到顶部
  153. useOpenBackTop: true,
  154. // 是否可以嵌入iframe页面
  155. canEmbedIFramePage: true,
  156. // 切换界面的时候是否删除未关闭的message及notify
  157. closeMessageOnSwitch: true,
  158. // 切换界面的时候是否取消已经发送但是未响应的http请求。
  159. // 如果开启,想对单独接口覆盖。可以在单独接口设置
  160. removeAllHttpPending: false,
  161. };
  162. export default setting;