designStore.js 667 B

1234567891011121314151617181920212223242526272829
  1. import { defineStore } from 'pinia'
  2. import { theme } from '@/settings/designSetting'
  3. import { setLocalStorage, getLocalStorage } from '@/utils'
  4. import { useDarkThemeHook } from '@/hooks'
  5. const DESIGN_THEME = "DESIGN_THEME"
  6. const storageDesign = getLocalStorage(DESIGN_THEME)
  7. export const useDesignStore = defineStore({
  8. id: 'useDesignStore',
  9. state: () =>
  10. storageDesign || {
  11. // 是否暗黑
  12. ...theme,
  13. },
  14. getters: {
  15. getDarkTheme() {
  16. return this.darkTheme
  17. }
  18. },
  19. actions: {
  20. // 切换主题
  21. changeTheme(e) {
  22. this.darkTheme = e
  23. setLocalStorage(DESIGN_THEME, this.$state)
  24. useDarkThemeHook()
  25. }
  26. }
  27. })