projectSetting.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. import type { ProjectConfig } from '/@/types/config';
  2. import { MenuTypeEnum, MenuThemeEnum, MenuModeEnum, TriggerEnum } from '/@/enums/menuEnum';
  3. import { ContentEnum, PermissionModeEnum, RouterTransitionEnum } from '/@/enums/appEnum';
  4. import { primaryColor } from '../../build/config/lessModifyVars';
  5. import { isProdMode } from '/@/utils/env';
  6. // ! You need to clear the browser cache after the change
  7. const setting: ProjectConfig = {
  8. // color
  9. // TODO 主题色
  10. themeColor: primaryColor,
  11. // header bg color
  12. headerBgColor: '#ffffff',
  13. // sidebar menu bg color
  14. menuBgColor: '#273352',
  15. // Whether to show the configuration button
  16. showSettingButton: true,
  17. // 权限模式
  18. permissionMode: PermissionModeEnum.ROLE,
  19. // 网站灰色模式,用于可能悼念的日期开启
  20. grayMode: false,
  21. // 色弱模式
  22. colorWeak: false,
  23. // 是否取消菜单,顶部,多标签页显示, 用于可能内嵌在别的系统内
  24. fullContent: false,
  25. // content mode
  26. contentMode: ContentEnum.FULL,
  27. // 是否显示logo
  28. showLogo: true,
  29. // 头部配置
  30. headerSetting: {
  31. fixed: true,
  32. // 是否显示顶部
  33. show: true,
  34. // theme
  35. theme: MenuThemeEnum.LIGHT,
  36. // 开启锁屏功能
  37. useLockPage: true,
  38. // 显示刷新按钮
  39. showRedo: true,
  40. // 显示全屏按钮
  41. showFullScreen: true,
  42. // 显示文档按钮
  43. showDoc: true,
  44. // 是否显示github
  45. showGithub: true,
  46. // 显示消息中心按钮
  47. showNotice: true,
  48. },
  49. // 菜单配置
  50. menuSetting: {
  51. // 菜单折叠
  52. collapsed: false,
  53. // 折叠菜单时候是否显示菜单名
  54. collapsedShowTitle: false,
  55. // 是否可拖拽
  56. hasDrag: false,
  57. // 是否显示 没有dom
  58. show: true,
  59. // 是否显示 有dom
  60. hidden: true,
  61. // 是否显示搜索框
  62. showSearch: true,
  63. // 菜单宽度
  64. menuWidth: 200,
  65. // 菜单模式
  66. mode: MenuModeEnum.INLINE,
  67. // 菜单类型
  68. type: MenuTypeEnum.SIDEBAR,
  69. // 菜单主题
  70. theme: MenuThemeEnum.DARK,
  71. // 分割菜单
  72. split: false,
  73. // 顶部菜单布局
  74. topMenuAlign: 'center',
  75. // 折叠菜单时候隐藏搜索框
  76. collapsedShowSearch: false,
  77. // 折叠触发器的位置
  78. trigger: TriggerEnum.HEADER,
  79. // 开启手风琴模式,只显示一个菜单
  80. accordion: true,
  81. },
  82. // 消息配置
  83. messageSetting: {
  84. // 弹窗title
  85. title: '操作提示',
  86. // 取消按钮的文子,
  87. cancelText: '取消',
  88. // 确认按钮的文字
  89. okText: '确定',
  90. },
  91. // 多标签
  92. multiTabsSetting: {
  93. // 开启
  94. show: true,
  95. // 开启快速操作
  96. showQuick: true,
  97. // 显示icon
  98. showIcon: false,
  99. // 标签页缓存最大数量
  100. max: 12,
  101. },
  102. // 是否开启KeepAlive缓存 开发时候最好关闭,不然每次都需要清除缓存
  103. openKeepAlive: true,
  104. // 自动锁屏时间,为0不锁屏。 单位分钟 默认0
  105. lockTime: 0,
  106. // 显示面包屑
  107. showBreadCrumb: true,
  108. // 显示面包屑图标
  109. showBreadCrumbIcon: false,
  110. // 使用error-handler-plugin
  111. useErrorHandle: isProdMode(),
  112. // 开启页面切换动画
  113. openRouterTransition: true,
  114. // 路由切换动画
  115. routerTransition: RouterTransitionEnum.FADE_SIDE,
  116. // 是否开启登录安全校验
  117. openLoginVerify: true,
  118. // 是否监听网络变化
  119. listenNetWork: false,
  120. // 是否开启页面切换loading
  121. openPageLoading: true,
  122. // 是否开启回到顶部
  123. useOpenBackTop: true,
  124. // 开启顶部进度条
  125. openNProgress: isProdMode(),
  126. // 是否可以嵌入iframe页面
  127. canEmbedIFramePage: true,
  128. // 切换界面的时候是否删除未关闭的message及notify
  129. closeMessageOnSwitch: true,
  130. // 切换界面的时候是否取消已经发送但是未响应的http请求。
  131. // 如果开启,想对单独接口覆盖。可以在单独接口设置
  132. removeAllHttpPending: true,
  133. };
  134. export default setting;