global.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { GlobalState } from '@/stores/interface'
  2. import { DEFAULT_PRIMARY } from '@/config'
  3. import piniaPersistConfig from '@/stores/helper/persist'
  4. export const useGlobalStore = defineStore('admin-global', {
  5. // 修改默认值之后,需清除 localStorage 数据
  6. state: (): GlobalState => ({
  7. // 布局模式 (纵向:vertical | 经典:classic | 横向:transverse | 分栏:columns)
  8. layout: 'columns',
  9. // element 组件大小
  10. assemblySize: 'default',
  11. // 当前系统语言
  12. language: null,
  13. // 当前页面是否全屏
  14. maximize: false,
  15. // 主题颜色
  16. primary: DEFAULT_PRIMARY,
  17. // 深色模式
  18. isDark: false,
  19. // 灰色模式
  20. isGrey: false,
  21. // 色弱模式
  22. isWeak: false,
  23. // 侧边栏反转
  24. asideInverted: true,
  25. // 头部反转
  26. headerInverted: false,
  27. // 折叠菜单
  28. isCollapse: true,
  29. // 菜单手风琴
  30. accordion: true,
  31. // 面包屑导航
  32. breadcrumb: true,
  33. // 面包屑导航图标
  34. breadcrumbIcon: true,
  35. // 标签页
  36. tabs: true,
  37. // 标签页图标
  38. tabsIcon: true,
  39. // 页脚
  40. footer: false
  41. }),
  42. getters: {},
  43. actions: {
  44. // Set GlobalState
  45. setGlobalState(...args: ObjToKeyValArray<GlobalState>) {
  46. this.$patch({ [args[0]]: args[1] })
  47. }
  48. },
  49. persist: piniaPersistConfig('admin-global')
  50. })