151 lines
5.7 KiB
TypeScript
151 lines
5.7 KiB
TypeScript
import {defineStore} from 'pinia';
|
|
|
|
/**
|
|
* 修改配置时:
|
|
* 1、需要每次都清理 `window.localStorage` 浏览器永久缓存
|
|
* 2、或者点击布局配置最底部 `一键恢复默认` 按钮即可看到效果
|
|
*/
|
|
export const useThemeConfig = defineStore('themeConfig', {
|
|
state: (): ThemeConfigState => ({
|
|
themeConfig: {
|
|
// 是否开启布局配置抽屉
|
|
isDrawer: false,
|
|
|
|
/**
|
|
* 全局主题
|
|
*/
|
|
// 默认 primary 主题颜色
|
|
primary: '#2E5CF6',
|
|
// 是否开启深色模式
|
|
isDark: false,
|
|
|
|
/**
|
|
* 顶栏设置
|
|
*/
|
|
// 默认顶栏导航背景颜色
|
|
topBar: '#2E5CF6',
|
|
// 默认顶栏导航字体颜色
|
|
topBarColor: '#FFFFFF',
|
|
// 是否开启顶栏背景颜色渐变
|
|
isTopBarColorGradual: false,
|
|
|
|
/**
|
|
* 菜单设置
|
|
*/
|
|
// 默认菜单导航背景颜色
|
|
menuBar: '#FFFFFF',
|
|
// 默认菜单导航字体颜色
|
|
menuBarColor: '#505968',
|
|
// 默认菜单高亮背景色
|
|
menuBarActiveColor: 'rgba(242, 243, 245, 1)',
|
|
// 是否开启菜单背景颜色渐变
|
|
isMenuBarColorGradual: false,
|
|
|
|
/**
|
|
* 分栏设置
|
|
*/
|
|
// 默认分栏菜单背景颜色
|
|
columnsMenuBar: '#545c64',
|
|
// 默认分栏菜单字体颜色
|
|
columnsMenuBarColor: '#e6e6e6',
|
|
// 是否开启分栏菜单背景颜色渐变
|
|
isColumnsMenuBarColorGradual: false,
|
|
// 是否开启分栏菜单鼠标悬停预加载(预览菜单)
|
|
isColumnsMenuHoverPreload: false,
|
|
|
|
/**
|
|
* 界面设置
|
|
*/
|
|
// 是否开启菜单水平折叠效果
|
|
isCollapse: false,
|
|
// 是否开启菜单手风琴效果
|
|
isUniqueOpened: true,
|
|
// 是否开启固定 Header
|
|
isFixedHeader: false,
|
|
// 初始化变量,用于更新菜单 el-scrollbar 的高度,请勿删除
|
|
isFixedHeaderChange: false,
|
|
// 是否开启经典布局分割菜单(仅经典布局生效)
|
|
isClassicSplitMenu: true,
|
|
// 是否开启自动锁屏
|
|
isLockScreen: false,
|
|
// 开启自动锁屏倒计时(s/秒)
|
|
lockScreenTime: 30,
|
|
|
|
/**
|
|
* 界面显示
|
|
*/
|
|
// 是否开启侧边栏 Logo
|
|
isShowLogo: false,
|
|
// 初始化变量,用于 el-scrollbar 的高度更新,请勿删除
|
|
isShowLogoChange: false,
|
|
// 是否开启 Breadcrumb,强制经典、横向布局不显示
|
|
isBreadcrumb: true,
|
|
// 是否开启 Tagsview
|
|
isTagsview: true,
|
|
// 是否开启 Breadcrumb 图标
|
|
isBreadcrumbIcon: false,
|
|
// 是否开启 Tagsview 图标
|
|
isTagsviewIcon: false,
|
|
// 是否开启 TagsView 缓存
|
|
isCacheTagsView: true,
|
|
// 是否开启 TagsView 拖拽
|
|
isSortableTagsView: true,
|
|
// 是否开启 TagsView 共用
|
|
isShareTagsView: false,
|
|
// 是否开启 Footer 底部版权信息
|
|
isFooter: true,
|
|
// 是否开启灰色模式
|
|
isGrayscale: false,
|
|
// 是否开启色弱模式
|
|
isInvert: false,
|
|
// 是否开启水印
|
|
isWartermark: true,
|
|
// 是否开启AI助手
|
|
isChat: false,
|
|
// 水印文案
|
|
wartermarkText: 'pjcloud',
|
|
// 首页快捷导航上限
|
|
quickLinkNum: 12,
|
|
/**
|
|
* 其它设置
|
|
*/
|
|
// Tagsview 风格:可选值"<tags-style-one|tags-style-four|tags-style-five>",默认 tags-style-five
|
|
// 定义的值与 `/src/layout/navBars/tagsView/tagsView.vue` 中的 class 同名
|
|
tagsStyle: 'tags-style-five',
|
|
// 主页面切换动画:可选值"<slide-right|slide-left|opacitys>",默认 slide-right
|
|
animation: 'slide-right',
|
|
// 分栏高亮风格:可选值"<columns-round|columns-card>",默认 columns-round
|
|
columnsAsideStyle: 'columns-round',
|
|
// 分栏布局风格:可选值"<columns-horizontal|columns-vertical>",默认 columns-horizontal
|
|
columnsAsideLayout: 'columns-vertical',
|
|
|
|
/**
|
|
* 布局切换
|
|
* 注意:为了演示,切换布局时,颜色会被还原成默认,代码位置:/@/layout/navBars/breadcrumb/setings.vue
|
|
* 中的 `initSetLayoutChange(设置布局切换,重置主题样式)` 方法
|
|
*/
|
|
// 布局切换:可选值"<defaults|classic|transverse|columns>",默认 defaults
|
|
layout: 'transverse',
|
|
|
|
/**
|
|
* 后端控制路由
|
|
*/
|
|
// 是否开启后端控制路由
|
|
isRequestRoutes: true,
|
|
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
|
|
globalI18n: 'zh-cn',
|
|
// 默认全局组件大小,可选值"<large|'default'|small>",默认 'default'
|
|
globalComponentSize: 'default',
|
|
// 网站主标题(菜单导航、浏览器当前网页标题、登录form顶部右侧)
|
|
globalTitle: import.meta.env.VITE_GLOBAL_TITLE,
|
|
// footer 标题内容
|
|
footerAuthor: import.meta.env.VITE_FOOTER_TITLE
|
|
},
|
|
}),
|
|
actions: {
|
|
setThemeConfig(data: ThemeConfigState) {
|
|
this.themeConfig = data.themeConfig;
|
|
},
|
|
},
|
|
});
|