ebike-plus-ui/src/store/modules/theme-config.ts

92 lines
2.3 KiB
TypeScript
Raw Normal View History

2024-04-13 22:09:14 +08:00
import { defineStore } from "pinia";
2024-04-29 11:58:26 +08:00
import persistedstateConfig from "@/store/config/index";
2024-05-04 23:36:38 +08:00
interface ThemeConfig {
collapsed: Boolean;
refreshPage: Boolean;
language: string;
darkMode: Boolean;
isAccordion: Boolean;
isBreadcrumb: Boolean;
isTabs: Boolean;
isFooter: Boolean;
watermark: string;
watermarkStyle: any;
watermarkRotate: number;
watermarkGap: Array<number>;
layoutType: string;
2024-05-06 16:07:17 +08:00
grayMode: Boolean;
colorWeakMode: Boolean;
2024-05-06 00:20:09 +08:00
themeColor: string;
2024-05-06 16:07:17 +08:00
presetColors: Array<string>;
2024-05-04 23:36:38 +08:00
}
2024-04-13 22:09:14 +08:00
/**
*
* @methods setCollapsed
* @methods setRefreshPage
* @methods setLanguage
2024-04-13 22:09:14 +08:00
*/
2024-04-28 14:28:26 +08:00
export const useThemeConfig = defineStore("theme-config", {
2024-05-04 23:36:38 +08:00
state: (): ThemeConfig => ({
2024-04-21 17:09:20 +08:00
collapsed: false, // 是否折叠菜单
2024-04-27 19:18:49 +08:00
refreshPage: true, // 刷新页面
2024-05-01 23:56:53 +08:00
language: "zh-CN", // 系统语言
2024-05-03 18:05:14 +08:00
darkMode: false, // 黑暗模式
2024-05-04 23:36:38 +08:00
isAccordion: true, // 菜单手风琴
2024-05-03 18:05:14 +08:00
isBreadcrumb: true, // 面包屑渲染
isTabs: true, // 标签栏渲染
2024-05-04 23:36:38 +08:00
isFooter: true, // 页脚渲染
watermark: "dc admin", // 水印
watermarkStyle: {
fontSize: 12,
color: "rgba(0, 0, 0, 0.15)"
}, // 水印风格
watermarkRotate: 330, // 水印角度
watermarkGap: [100, 100], // 水印间隙
2024-05-06 00:20:09 +08:00
layoutType: "layoutDefaults", // 布局模式layoutDefaults、layoutHead、layoutMixing
2024-05-06 16:07:17 +08:00
colorWeakMode: false, // 色弱模式
grayMode: false, // 灰色模式
themeColor: "#165DFF", // 主题色
presetColors: [
"#165DFF",
"#F53F3F",
"#F77234",
"#FF7D00",
"#F7BA1E",
"#FADC19",
"#9FDB1D",
"#00B42A",
"#14C9C9",
"#3491FA",
"#165DFF",
"#722ED1",
"#D91AD9",
"#F5319D",
"#67C23A",
"#E6A23C",
"#F56C6C",
"#409EFF",
"#a27b42",
"#dfc683",
"#59a680",
"#b1d391"
]
2024-04-13 22:09:14 +08:00
}),
actions: {
2024-04-21 17:09:20 +08:00
// 折叠菜单
2024-04-28 14:28:26 +08:00
setCollapsed(data: boolean) {
2024-04-13 22:09:14 +08:00
this.collapsed = data;
2024-04-21 17:09:20 +08:00
},
// 刷新页面
setRefreshPage(data: Boolean) {
this.refreshPage = data;
2024-04-27 19:18:49 +08:00
},
// 设置语言
setLanguage(data: string) {
this.language = data;
2024-04-13 22:09:14 +08:00
}
},
2024-04-29 11:58:26 +08:00
persist: persistedstateConfig("theme-config")
2024-04-13 22:09:14 +08:00
});