themeConfig.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import { defineStore } from 'pinia';
  2. /**
  3. * 修改配置时:
  4. * 1、需要每次都清理 `window.localStorage` 浏览器永久缓存
  5. * 2、或者点击布局配置最底部 `一键恢复默认` 按钮即可看到效果
  6. */
  7. export const useThemeConfig = defineStore('themeConfig', {
  8. state: (): ThemeConfigState => ({
  9. themeConfig: {
  10. // 是否开启布局配置抽屉
  11. isDrawer: false,
  12. /**
  13. * 全局主题
  14. */
  15. // 默认 primary 主题颜色
  16. primary: '#2E5CF6',
  17. // 是否开启深色模式
  18. isIsDark: false,
  19. /**
  20. * 顶栏设置
  21. */
  22. // 默认顶栏导航背景颜色
  23. topBar: '#167af0',
  24. // 默认顶栏导航字体颜色
  25. topBarColor: '#ffffff',
  26. // 是否开启顶栏背景颜色渐变
  27. isTopBarColorGradual: false,
  28. /**
  29. * 菜单设置
  30. */
  31. // 默认菜单导航背景颜色
  32. menuBar: '#167af0',
  33. // 默认菜单导航字体颜色
  34. menuBarColor: '#ffffff',
  35. // 默认菜单高亮背景色
  36. menuBarActiveColor: '#ffffff',
  37. // 新增:默认菜单高亮字体颜色
  38. menuBarActiveFontColor: '#167af0',
  39. // 是否开启菜单背景颜色渐变
  40. isMenuBarColorGradual: false,
  41. /**
  42. * 分栏设置
  43. */
  44. // 默认分栏菜单背景颜色
  45. columnsMenuBar: '#545c64',
  46. // 默认分栏菜单字体颜色
  47. columnsMenuBarColor: '#e6e6e6',
  48. // 是否开启分栏菜单背景颜色渐变
  49. isColumnsMenuBarColorGradual: false,
  50. // 是否开启分栏菜单鼠标悬停预加载(预览菜单)
  51. isColumnsMenuHoverPreload: false,
  52. /**
  53. * 界面设置
  54. */
  55. // 是否开启菜单水平折叠效果
  56. isCollapse: false,
  57. // 是否开启菜单手风琴效果
  58. isUniqueOpened: true,
  59. // 是否开启固定 Header
  60. isFixedHeader: false,
  61. // 初始化变量,用于更新菜单 el-scrollbar 的高度,请勿删除
  62. isFixedHeaderChange: false,
  63. // 是否开启经典布局分割菜单(仅经典布局生效)
  64. isClassicSplitMenu: false,
  65. // 是否开启自动锁屏
  66. isLockScreen: false,
  67. // 开启自动锁屏倒计时(s/秒)
  68. lockScreenTime: 30,
  69. /**
  70. * 界面显示
  71. */
  72. // 是否开启侧边栏 Logo
  73. isShowLogo: true,
  74. // 初始化变量,用于 el-scrollbar 的高度更新,请勿删除
  75. isShowLogoChange: false,
  76. // 是否开启 Breadcrumb,强制经典、横向布局不显示
  77. isBreadcrumb: true,
  78. // 是否开启 Tagsview
  79. isTagsview: true,
  80. // 是否开启 Breadcrumb 图标
  81. isBreadcrumbIcon: false,
  82. // 是否开启 Tagsview 图标
  83. isTagsviewIcon: false,
  84. // 是否开启 TagsView 缓存
  85. isCacheTagsView: true,
  86. // 是否开启 TagsView 拖拽
  87. isSortableTagsView: true,
  88. // 是否开启 TagsView 共用
  89. isShareTagsView: false,
  90. // 是否开启 Footer 底部版权信息
  91. isFooter: true,
  92. // 是否开启灰色模式
  93. isGrayscale: false,
  94. // 是否开启色弱模式
  95. isInvert: false,
  96. // 是否开启水印
  97. isWartermark: false,
  98. // 水印文案
  99. wartermarkText: '',
  100. /**
  101. * 其它设置
  102. */
  103. // Tagsview 风格:可选值"<tags-style-one|tags-style-four|tags-style-five>",默认 tags-style-five
  104. // 定义的值与 `/src/layout/navBars/tagsView/tagsView.vue` 中的 class 同名
  105. tagsStyle: 'tags-style-five',
  106. // 主页面切换动画:可选值"<slide-right|slide-left|opacitys>",默认 slide-right
  107. animation: 'slide-right',
  108. // 分栏高亮风格:可选值"<columns-round|columns-card>",默认 columns-round
  109. columnsAsideStyle: 'columns-round',
  110. // 分栏布局风格:可选值"<columns-horizontal|columns-vertical>",默认 columns-horizontal
  111. columnsAsideLayout: 'columns-vertical',
  112. /**
  113. * 布局切换
  114. * 注意:为了演示,切换布局时,颜色会被还原成默认,代码位置:/@/layout/navBars/breadcrumb/setings.vue
  115. * 中的 `initSetLayoutChange(设置布局切换,重置主题样式)` 方法
  116. */
  117. // 布局切换:可选值"<defaults|classic|transverse|columns>",默认 defaults
  118. layout: 'transverse',
  119. /**
  120. * 后端控制路由
  121. */
  122. // 是否开启后端控制路由
  123. isRequestRoutes: true,
  124. /**
  125. * 全局网站标题 / 副标题
  126. */
  127. // 网站主标题(菜单导航、浏览器当前网页标题、登录form顶部右侧)
  128. globalTitle: 'SEO数据营销',
  129. // 网站副标题(登录左侧底部页顶部文字)
  130. globalViceTitle: 'SEO数据营销',
  131. // 网站副标题(登录页顶部文字)
  132. globalViceTitleMsg: '',
  133. // 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
  134. globalI18n: 'zh-cn',
  135. // 默认全局组件大小,可选值"<large|'default'|small>",默认 'default'
  136. globalComponentSize: 'default',
  137. // footer 页面作者
  138. footerAuthor: '',
  139. },
  140. }),
  141. actions: {
  142. setThemeConfig(data: ThemeConfigState) {
  143. this.themeConfig = data.themeConfig;
  144. },
  145. },
  146. });