wui-components-v2 1.1.69 → 1.1.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/api/core/index.ts +74 -74
  2. package/api/feishu.ts +20 -20
  3. package/api/index.ts +4 -4
  4. package/api/login.ts +51 -51
  5. package/api/menu.ts +45 -45
  6. package/api/page.ts +114 -114
  7. package/api/sys.ts +12 -12
  8. package/api/tree.ts +28 -28
  9. package/components/action-popup/action-popup.vue +116 -116
  10. package/components/add-address-list/add-address-list.vue +187 -187
  11. package/components/add-address-page/add-address-page.vue +77 -77
  12. package/components/add-address-page/config.ts +297 -297
  13. package/components/audio-play/audio-play.vue +220 -220
  14. package/components/batch-upload-file/batch-upload-file.vue +75 -75
  15. package/components/card-botom-buttons/card-botom-buttons.vue +279 -279
  16. package/components/custom-date-picker/custom-date-picker.vue +106 -106
  17. package/components/custom-select-picker/custom-select-picker.vue +95 -95
  18. package/components/demo-block/demo-block.vue +63 -63
  19. package/components/demo-card/demo-card.vue +44 -44
  20. package/components/detail-popup/detail-popup.vue +99 -99
  21. package/components/evaluation-page/evaluation-page.vue +196 -196
  22. package/components/fold-card/fold-card.vue +171 -171
  23. package/components/form-control/form-control.vue +661 -661
  24. package/components/global-loading/GlobalLoading.md +366 -366
  25. package/components/global-loading/global-loading.vue +55 -55
  26. package/components/global-message/GlobalMessage.md +570 -570
  27. package/components/global-message/global-message.vue +68 -68
  28. package/components/global-toast/GlobalToast.md +261 -261
  29. package/components/global-toast/global-toast.vue +56 -56
  30. package/components/label-value/label-value.vue +144 -144
  31. package/components/label-value/open-value-more.vue +56 -56
  32. package/components/list-top-buttons/list-top-buttons.vue +19 -19
  33. package/components/loading/loading.vue +5 -5
  34. package/components/login-form/login-form.vue +126 -126
  35. package/components/login-form-box/login-form-box.vue +65 -65
  36. package/components/mulselect-picker/mulselect-picker.vue +86 -86
  37. package/components/phone-login-form/phone-login-form.vue +204 -204
  38. package/components/privacy-popup/privacy-popup.vue +191 -191
  39. package/components/product-card/product-card.vue +201 -201
  40. package/components/scan-input/scan-input.vue +406 -406
  41. package/components/search/search.vue +128 -128
  42. package/components/select-col-picker/select-col-picker.vue +168 -168
  43. package/components/tab-search/tab-search.vue +73 -73
  44. package/components/tree-select/components/TreeNode.vue +200 -200
  45. package/components/tree-select/components/index.vue +471 -471
  46. package/components/tree-select/components/tree-select.vue +56 -56
  47. package/components/tree-select/index.vue +93 -93
  48. package/components/user-choose/user-choose.vue +169 -151
  49. package/components/video-play/video-play.vue +56 -56
  50. package/components/wui-auto-update-component/wui-auto-update-component.vue +132 -132
  51. package/components/wui-default/wui-default.vue +49 -49
  52. package/components/wui-details-page/wui-details-page.vue +147 -147
  53. package/components/wui-edit-page/wui-edit-page-copy.vue +757 -757
  54. package/components/wui-edit-page/wui-edit-page.vue +793 -793
  55. package/components/wui-enume-select-control/wui-enume-select-control.vue +92 -92
  56. package/components/wui-list/wui-list.vue +235 -235
  57. package/components/wui-login/wui-login.vue +43 -43
  58. package/components/wui-login1/wui-login.vue +41 -41
  59. package/components/wui-menus/wui-menus-top.vue +137 -137
  60. package/components/wui-menus/wui-menus-top1.vue +8 -8
  61. package/components/wui-menus/wui-menus.vue +247 -247
  62. package/components/wui-menus1/components/banner-carousel.vue +320 -320
  63. package/components/wui-menus1/components/navbar.vue +43 -43
  64. package/components/wui-menus1/components/quick-panel.vue +55 -55
  65. package/components/wui-menus1/components/search-bar.vue +49 -49
  66. package/components/wui-menus1/components/section-menus.vue +208 -208
  67. package/components/wui-menus1/wui-menus-top.vue +718 -718
  68. package/components/wui-menus1/wui-menus-top1.vue +398 -398
  69. package/components/wui-menus1/wui-menus.vue +564 -564
  70. package/components/wui-notify-info/notify-handle.vue +53 -53
  71. package/components/wui-notify-info/wui-notify-info.vue +280 -280
  72. package/components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue +75 -75
  73. package/components/wui-search-history-babbar/components/SearchBar.vue +70 -70
  74. package/components/wui-search-history-babbar/wui-search-history-babbar.vue +204 -204
  75. package/components/wui-select-list/wui-select-list.vue +310 -310
  76. package/components/wui-select-popup/wui-select-popup.vue +613 -612
  77. package/components/wui-system-settings/wui-system-settings.vue +144 -144
  78. package/components/wui-tabbar/wui-tabbar.vue +106 -106
  79. package/components/wui-tree-page/components/tree-item.vue +238 -238
  80. package/components/wui-tree-page/wui-tree-page.vue +297 -297
  81. package/components/wui-update-component/wui-update-component.vue +221 -221
  82. package/components/wui-user/wui-user.vue +202 -202
  83. package/composables/types/theme.ts +65 -65
  84. package/composables/types/user.ts +5 -5
  85. package/composables/useColorGenerator.ts +221 -221
  86. package/composables/useCompanyFieldFilter.ts +91 -91
  87. package/composables/useEnumes.ts +43 -43
  88. package/composables/useEventBus.ts +37 -37
  89. package/composables/useGlobalLoading.ts +47 -47
  90. package/composables/useGlobalMessage.ts +53 -53
  91. package/composables/useGlobalToast.ts +63 -63
  92. package/composables/useLocale.ts +54 -54
  93. package/composables/useManualTheme.ts +179 -179
  94. package/composables/useMenus.ts +193 -193
  95. package/composables/useSectionMenus.ts +120 -120
  96. package/composables/useTabbar.ts +50 -50
  97. package/composables/useTheme.ts +74 -74
  98. package/composables/useUser.ts +24 -24
  99. package/index.d.ts +90 -90
  100. package/index.ts +83 -83
  101. package/package.json +24 -24
  102. package/static/iconfont/iconfont.css +63 -63
  103. package/store/language.ts +151 -151
  104. package/store/manualThemeStore.ts +143 -143
  105. package/store/persist.ts +41 -41
  106. package/store/themeStore.ts +74 -74
  107. package/store/userStore.ts +22 -22
  108. package/styles/dark-mode.css +523 -523
  109. package/styles/dark-mode.min.css +1 -1
  110. package/styles/dark-mode.scss +498 -498
  111. package/type.ts +154 -154
  112. package/utils/control-tree.ts +353 -353
  113. package/utils/control-type-supportor.ts +148 -148
  114. package/utils/eventBus.ts +36 -36
  115. package/utils/idata-scan.ts +99 -99
  116. package/utils/index.ts +979 -979
  117. package/utils/rsaEncrypt.ts +10 -10
@@ -1,143 +1,143 @@
1
- import { defineStore } from 'pinia'
2
- import type { LocaleOption, ThemeColorOption, ThemeMode, ThemeState } from '../composables/types/theme'
3
- import { LocaleOptions, themeColorOptions } from '../composables/types/theme'
4
- /**
5
- * 完整版主题状态管理
6
- * 支持手动切换主题、主题色选择、跟随系统主题等完整功能
7
- */
8
- export const useManualThemeStore = defineStore('manualTheme', {
9
- state: (): ThemeState => ({
10
- theme: 'light',
11
- followSystem: true, // 是否跟随系统主题
12
- hasUserSet: false, // 用户是否手动设置过主题
13
- currentThemeColor: themeColorOptions[0],
14
- Locale: LocaleOptions[0],
15
- themeVars: {
16
- darkBackground: '#1B1B1E',
17
- darkBackground2: '#141414',
18
- darkBackground3: '#1c1c1c',
19
- darkBackground4: '#262626',
20
- darkBackground5: '#333333',
21
- darkBackground6: '#4a4a4a',
22
- darkBackground7: '#606060',
23
- darkColor: '#ffffff',
24
- darkColor2: '#e8e8e8',
25
- darkColor3: '#999999',
26
- colorTheme: themeColorOptions[0].primary,
27
- colorPrimary: themeColorOptions[0].primary, // 添加主色调变量,用于 tabbar 等组件
28
- },
29
- }),
30
-
31
- getters: {
32
- isDark: state => state.theme === 'dark',
33
- },
34
-
35
- actions: {
36
- /**
37
- * 手动切换主题
38
- * @param mode 指定主题模式,不传则自动切换
39
- */
40
- toggleTheme(mode?: ThemeMode) {
41
- this.theme = mode || (this.theme === 'light' ? 'dark' : 'light')
42
- this.hasUserSet = true // 标记用户已手动设置
43
- this.followSystem = false // 不再跟随系统
44
- this.setNavigationBarColor()
45
- },
46
-
47
- /**
48
- * 设置是否跟随系统主题
49
- * @param follow 是否跟随系统
50
- */
51
- setFollowSystem(follow: boolean) {
52
- this.followSystem = follow
53
- if (follow) {
54
- this.hasUserSet = false
55
- this.initTheme() // 重新获取系统主题
56
- }
57
- },
58
-
59
- /**
60
- * 设置导航栏颜色
61
- */
62
- setNavigationBarColor() {
63
- uni.setNavigationBarColor({
64
- frontColor: this.theme === 'light' ? '#ffffff' : '#ffffff',
65
- backgroundColor: this.theme === 'light' ? this.themeVars.colorTheme : '#000000',
66
- })
67
- },
68
-
69
- /**
70
- * 设置主题色
71
- * @param color 主题色选项
72
- */
73
- setCurrentThemeColor(color: ThemeColorOption) {
74
- this.currentThemeColor = color
75
- this.themeVars.colorTheme = color.primary
76
- this.themeVars.colorPrimary = color.primary // 同步更新主色调变量
77
- },
78
-
79
- /**
80
- * 设置语言
81
- */
82
- setLocale(locale: LocaleOption) {
83
- this.Locale = locale
84
- },
85
- /**
86
- * 获取系统主题
87
- * @returns 系统主题模式
88
- */
89
- getSystemTheme(): ThemeMode {
90
- try {
91
- // #ifdef MP-WEIXIN
92
- // 微信小程序使用 getAppBaseInfo
93
- const appBaseInfo = uni.getAppBaseInfo()
94
- if (appBaseInfo && appBaseInfo.theme) {
95
- return appBaseInfo.theme as ThemeMode
96
- }
97
- // #endif
98
-
99
- // #ifndef MP-WEIXIN
100
- // 其他平台使用 getSystemInfoSync
101
- const systemInfo = uni.getSystemInfoSync()
102
- if (systemInfo && systemInfo.theme) {
103
- return systemInfo.theme as ThemeMode
104
- }
105
- // #endif
106
- }
107
- catch (error) {
108
- console.warn('获取系统主题失败:', error)
109
- }
110
- return 'light' // 默认返回 light
111
- },
112
-
113
- /**
114
- * 初始化主题
115
- */
116
- initTheme() {
117
- // 如果用户已手动设置且不跟随系统,保持当前主题
118
- if (this.hasUserSet && !this.followSystem) {
119
- console.log('使用用户设置的主题:', this.theme)
120
- this.setNavigationBarColor()
121
- return
122
- }
123
-
124
- // 获取系统主题
125
- const systemTheme = this.getSystemTheme()
126
-
127
- // 如果是首次启动或跟随系统,使用系统主题
128
- if (!this.hasUserSet || this.followSystem) {
129
- this.theme = systemTheme
130
- if (!this.hasUserSet) {
131
- this.followSystem = true
132
- // console.log('首次启动,使用系统主题:', this.theme)
133
- }
134
- else {
135
- console.log('跟随系统主题:', this.theme)
136
- }
137
- }
138
-
139
- this.setNavigationBarColor()
140
- },
141
-
142
- },
143
- })
1
+ import { defineStore } from 'pinia'
2
+ import type { LocaleOption, ThemeColorOption, ThemeMode, ThemeState } from '../composables/types/theme'
3
+ import { LocaleOptions, themeColorOptions } from '../composables/types/theme'
4
+ /**
5
+ * 完整版主题状态管理
6
+ * 支持手动切换主题、主题色选择、跟随系统主题等完整功能
7
+ */
8
+ export const useManualThemeStore = defineStore('manualTheme', {
9
+ state: (): ThemeState => ({
10
+ theme: 'light',
11
+ followSystem: true, // 是否跟随系统主题
12
+ hasUserSet: false, // 用户是否手动设置过主题
13
+ currentThemeColor: themeColorOptions[0],
14
+ Locale: LocaleOptions[0],
15
+ themeVars: {
16
+ darkBackground: '#1B1B1E',
17
+ darkBackground2: '#141414',
18
+ darkBackground3: '#1c1c1c',
19
+ darkBackground4: '#262626',
20
+ darkBackground5: '#333333',
21
+ darkBackground6: '#4a4a4a',
22
+ darkBackground7: '#606060',
23
+ darkColor: '#ffffff',
24
+ darkColor2: '#e8e8e8',
25
+ darkColor3: '#999999',
26
+ colorTheme: themeColorOptions[0].primary,
27
+ colorPrimary: themeColorOptions[0].primary, // 添加主色调变量,用于 tabbar 等组件
28
+ },
29
+ }),
30
+
31
+ getters: {
32
+ isDark: state => state.theme === 'dark',
33
+ },
34
+
35
+ actions: {
36
+ /**
37
+ * 手动切换主题
38
+ * @param mode 指定主题模式,不传则自动切换
39
+ */
40
+ toggleTheme(mode?: ThemeMode) {
41
+ this.theme = mode || (this.theme === 'light' ? 'dark' : 'light')
42
+ this.hasUserSet = true // 标记用户已手动设置
43
+ this.followSystem = false // 不再跟随系统
44
+ this.setNavigationBarColor()
45
+ },
46
+
47
+ /**
48
+ * 设置是否跟随系统主题
49
+ * @param follow 是否跟随系统
50
+ */
51
+ setFollowSystem(follow: boolean) {
52
+ this.followSystem = follow
53
+ if (follow) {
54
+ this.hasUserSet = false
55
+ this.initTheme() // 重新获取系统主题
56
+ }
57
+ },
58
+
59
+ /**
60
+ * 设置导航栏颜色
61
+ */
62
+ setNavigationBarColor() {
63
+ uni.setNavigationBarColor({
64
+ frontColor: this.theme === 'light' ? '#ffffff' : '#ffffff',
65
+ backgroundColor: this.theme === 'light' ? this.themeVars.colorTheme : '#000000',
66
+ })
67
+ },
68
+
69
+ /**
70
+ * 设置主题色
71
+ * @param color 主题色选项
72
+ */
73
+ setCurrentThemeColor(color: ThemeColorOption) {
74
+ this.currentThemeColor = color
75
+ this.themeVars.colorTheme = color.primary
76
+ this.themeVars.colorPrimary = color.primary // 同步更新主色调变量
77
+ },
78
+
79
+ /**
80
+ * 设置语言
81
+ */
82
+ setLocale(locale: LocaleOption) {
83
+ this.Locale = locale
84
+ },
85
+ /**
86
+ * 获取系统主题
87
+ * @returns 系统主题模式
88
+ */
89
+ getSystemTheme(): ThemeMode {
90
+ try {
91
+ // #ifdef MP-WEIXIN
92
+ // 微信小程序使用 getAppBaseInfo
93
+ const appBaseInfo = uni.getAppBaseInfo()
94
+ if (appBaseInfo && appBaseInfo.theme) {
95
+ return appBaseInfo.theme as ThemeMode
96
+ }
97
+ // #endif
98
+
99
+ // #ifndef MP-WEIXIN
100
+ // 其他平台使用 getSystemInfoSync
101
+ const systemInfo = uni.getSystemInfoSync()
102
+ if (systemInfo && systemInfo.theme) {
103
+ return systemInfo.theme as ThemeMode
104
+ }
105
+ // #endif
106
+ }
107
+ catch (error) {
108
+ console.warn('获取系统主题失败:', error)
109
+ }
110
+ return 'light' // 默认返回 light
111
+ },
112
+
113
+ /**
114
+ * 初始化主题
115
+ */
116
+ initTheme() {
117
+ // 如果用户已手动设置且不跟随系统,保持当前主题
118
+ if (this.hasUserSet && !this.followSystem) {
119
+ console.log('使用用户设置的主题:', this.theme)
120
+ this.setNavigationBarColor()
121
+ return
122
+ }
123
+
124
+ // 获取系统主题
125
+ const systemTheme = this.getSystemTheme()
126
+
127
+ // 如果是首次启动或跟随系统,使用系统主题
128
+ if (!this.hasUserSet || this.followSystem) {
129
+ this.theme = systemTheme
130
+ if (!this.hasUserSet) {
131
+ this.followSystem = true
132
+ // console.log('首次启动,使用系统主题:', this.theme)
133
+ }
134
+ else {
135
+ console.log('跟随系统主题:', this.theme)
136
+ }
137
+ }
138
+
139
+ this.setNavigationBarColor()
140
+ },
141
+
142
+ },
143
+ })
package/store/persist.ts CHANGED
@@ -1,41 +1,41 @@
1
- /*
2
- * @Author: weisheng
3
- * @Date: 2025-06-23 22:23:05
4
- * @LastEditTime: 2025-06-24 19:03:21
5
- * @LastEditors: weisheng
6
- * @Description:
7
- * @FilePath: /wot-demo/src/store/persist.ts
8
- * 记得注释
9
- */
10
- import type { PiniaPluginContext } from 'pinia'
11
- import { CommonUtil } from '@wot-ui/ui'
12
-
13
- function persist({ store }: PiniaPluginContext, excludedIds: string[]) {
14
- // 检查当前store的id是否在排除列表中
15
- const isExcluded = excludedIds.includes(store.$id)
16
-
17
- // 如果当前store的id在排除列表中,则不进行持久化
18
- if (isExcluded) {
19
- return
20
- }
21
-
22
- // 暂存State
23
- let persistState = CommonUtil.deepClone(store.$state)
24
- // 从缓存中读取
25
- const storageState = uni.getStorageSync(store.$id)
26
- if (storageState) {
27
- persistState = storageState
28
- }
29
- store.$state = persistState
30
- store.$subscribe(() => {
31
- // 在存储变化的时候将store缓存
32
- uni.setStorageSync(store.$id, CommonUtil.deepClone(store.$state))
33
- })
34
- }
35
-
36
- export function persistPlugin(list: string[]) {
37
- return (context: PiniaPluginContext) => {
38
- // 调用persist函数,并传入排除列表
39
- persist(context, list)
40
- }
41
- }
1
+ /*
2
+ * @Author: weisheng
3
+ * @Date: 2025-06-23 22:23:05
4
+ * @LastEditTime: 2025-06-24 19:03:21
5
+ * @LastEditors: weisheng
6
+ * @Description:
7
+ * @FilePath: /wot-demo/src/store/persist.ts
8
+ * 记得注释
9
+ */
10
+ import type { PiniaPluginContext } from 'pinia'
11
+ import { CommonUtil } from '@wot-ui/ui'
12
+
13
+ function persist({ store }: PiniaPluginContext, excludedIds: string[]) {
14
+ // 检查当前store的id是否在排除列表中
15
+ const isExcluded = excludedIds.includes(store.$id)
16
+
17
+ // 如果当前store的id在排除列表中,则不进行持久化
18
+ if (isExcluded) {
19
+ return
20
+ }
21
+
22
+ // 暂存State
23
+ let persistState = CommonUtil.deepClone(store.$state)
24
+ // 从缓存中读取
25
+ const storageState = uni.getStorageSync(store.$id)
26
+ if (storageState) {
27
+ persistState = storageState
28
+ }
29
+ store.$state = persistState
30
+ store.$subscribe(() => {
31
+ // 在存储变化的时候将store缓存
32
+ uni.setStorageSync(store.$id, CommonUtil.deepClone(store.$state))
33
+ })
34
+ }
35
+
36
+ export function persistPlugin(list: string[]) {
37
+ return (context: PiniaPluginContext) => {
38
+ // 调用persist函数,并传入排除列表
39
+ persist(context, list)
40
+ }
41
+ }
@@ -1,74 +1,74 @@
1
- import { defineStore } from 'pinia'
2
- import type { SystemThemeState, ThemeMode } from '../composables/types/theme'
3
- import { themeColorOptions } from '../composables/types/theme'
4
-
5
- /**
6
- * 简化版系统主题状态管理
7
- * 仅支持跟随系统主题,不提供手动切换功能
8
- * 导航栏颜色通过 theme.json 自动处理
9
- */
10
- export const useThemeStore = defineStore('theme', {
11
- state: (): SystemThemeState => ({
12
- theme: 'light',
13
- themeVars: {
14
- darkBackground: '#0f0f0f',
15
- darkBackground2: '#1a1a1a',
16
- darkBackground3: '#242424',
17
- darkBackground4: '#2f2f2f',
18
- darkBackground5: '#3d3d3d',
19
- darkBackground6: '#4a4a4a',
20
- darkBackground7: '#606060',
21
- darkColor: '#ffffff',
22
- darkColor2: '#e0e0e0',
23
- darkColor3: '#a0a0a0',
24
- colorTheme: themeColorOptions[0].primary,
25
- },
26
- }),
27
-
28
- getters: {
29
- isDark: state => state.theme === 'dark',
30
- },
31
-
32
- actions: {
33
- /**
34
- * 获取系统主题
35
- * @returns 系统主题模式
36
- */
37
- getSystemTheme(): ThemeMode {
38
- // #ifdef MP-WEIXIN
39
- // 微信小程序使用 getAppBaseInfo
40
- const appBaseInfo = uni.getAppBaseInfo()
41
- if (appBaseInfo && appBaseInfo.theme) {
42
- return appBaseInfo.theme as ThemeMode
43
- }
44
- // #endif
45
-
46
- // #ifndef MP-WEIXIN
47
- // 其他平台使用 getSystemInfoSync
48
- const systemInfo = uni.getSystemInfoSync()
49
- if (systemInfo && systemInfo.theme) {
50
- return systemInfo.theme as ThemeMode
51
- }
52
- // #endif
53
-
54
- return 'light' // 默认返回 light
55
- },
56
-
57
- /**
58
- * 设置主题(仅内部使用)
59
- * @param theme 主题模式
60
- */
61
- setTheme(theme: ThemeMode) {
62
- this.theme = theme
63
- },
64
-
65
- /**
66
- * 初始化系统主题
67
- */
68
- initSystemTheme() {
69
- const systemTheme = this.getSystemTheme()
70
- this.theme = systemTheme
71
- console.log('初始化系统主题:', this.theme)
72
- },
73
- },
74
- })
1
+ import { defineStore } from 'pinia'
2
+ import type { SystemThemeState, ThemeMode } from '../composables/types/theme'
3
+ import { themeColorOptions } from '../composables/types/theme'
4
+
5
+ /**
6
+ * 简化版系统主题状态管理
7
+ * 仅支持跟随系统主题,不提供手动切换功能
8
+ * 导航栏颜色通过 theme.json 自动处理
9
+ */
10
+ export const useThemeStore = defineStore('theme', {
11
+ state: (): SystemThemeState => ({
12
+ theme: 'light',
13
+ themeVars: {
14
+ darkBackground: '#0f0f0f',
15
+ darkBackground2: '#1a1a1a',
16
+ darkBackground3: '#242424',
17
+ darkBackground4: '#2f2f2f',
18
+ darkBackground5: '#3d3d3d',
19
+ darkBackground6: '#4a4a4a',
20
+ darkBackground7: '#606060',
21
+ darkColor: '#ffffff',
22
+ darkColor2: '#e0e0e0',
23
+ darkColor3: '#a0a0a0',
24
+ colorTheme: themeColorOptions[0].primary,
25
+ },
26
+ }),
27
+
28
+ getters: {
29
+ isDark: state => state.theme === 'dark',
30
+ },
31
+
32
+ actions: {
33
+ /**
34
+ * 获取系统主题
35
+ * @returns 系统主题模式
36
+ */
37
+ getSystemTheme(): ThemeMode {
38
+ // #ifdef MP-WEIXIN
39
+ // 微信小程序使用 getAppBaseInfo
40
+ const appBaseInfo = uni.getAppBaseInfo()
41
+ if (appBaseInfo && appBaseInfo.theme) {
42
+ return appBaseInfo.theme as ThemeMode
43
+ }
44
+ // #endif
45
+
46
+ // #ifndef MP-WEIXIN
47
+ // 其他平台使用 getSystemInfoSync
48
+ const systemInfo = uni.getSystemInfoSync()
49
+ if (systemInfo && systemInfo.theme) {
50
+ return systemInfo.theme as ThemeMode
51
+ }
52
+ // #endif
53
+
54
+ return 'light' // 默认返回 light
55
+ },
56
+
57
+ /**
58
+ * 设置主题(仅内部使用)
59
+ * @param theme 主题模式
60
+ */
61
+ setTheme(theme: ThemeMode) {
62
+ this.theme = theme
63
+ },
64
+
65
+ /**
66
+ * 初始化系统主题
67
+ */
68
+ initSystemTheme() {
69
+ const systemTheme = this.getSystemTheme()
70
+ this.theme = systemTheme
71
+ console.log('初始化系统主题:', this.theme)
72
+ },
73
+ },
74
+ })
@@ -1,22 +1,22 @@
1
- import { defineStore } from 'pinia'
2
-
3
- const useUserStore = defineStore('userInfo', {
4
- state: () => ({
5
- id: '',
6
- name: '',
7
- nickName: '',
8
- }),
9
- getters: {
10
-
11
- },
12
- actions: {
13
- setUserInfo(userInfo: any) {
14
- this.id = userInfo.id
15
- this.name = userInfo.name
16
- this.nickName = userInfo.nickName
17
- },
18
-
19
- },
20
- })
21
-
22
- export default useUserStore
1
+ import { defineStore } from 'pinia'
2
+
3
+ const useUserStore = defineStore('userInfo', {
4
+ state: () => ({
5
+ id: '',
6
+ name: '',
7
+ nickName: '',
8
+ }),
9
+ getters: {
10
+
11
+ },
12
+ actions: {
13
+ setUserInfo(userInfo: any) {
14
+ this.id = userInfo.id
15
+ this.name = userInfo.name
16
+ this.nickName = userInfo.nickName
17
+ },
18
+
19
+ },
20
+ })
21
+
22
+ export default useUserStore