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

63 lines
1.7 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 00:20:09 +08:00
themeColor: 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
themeColor: "#165dff" // 主题色
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
});