global.ts 1.4 KB

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