wui-components-v2 1.1.70 → 1.1.72

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 (82) hide show
  1. package/api/feishu.ts +20 -20
  2. package/api/index.ts +4 -4
  3. package/api/login.ts +51 -51
  4. package/api/tree.ts +28 -28
  5. package/components/action-popup/action-popup.vue +116 -116
  6. package/components/add-address-list/add-address-list.vue +187 -187
  7. package/components/add-address-page/config.ts +297 -297
  8. package/components/audio-play/audio-play.vue +220 -220
  9. package/components/batch-upload-file/batch-upload-file.vue +75 -75
  10. package/components/card-botom-buttons/card-botom-buttons.vue +279 -279
  11. package/components/demo-card/demo-card.vue +44 -44
  12. package/components/fold-card/fold-card.vue +2 -2
  13. package/components/form-control/form-control.vue +9 -1
  14. package/components/global-loading/GlobalLoading.md +366 -366
  15. package/components/global-loading/global-loading.vue +55 -55
  16. package/components/global-message/GlobalMessage.md +570 -570
  17. package/components/global-toast/GlobalToast.md +261 -261
  18. package/components/global-toast/global-toast.vue +56 -56
  19. package/components/label-value/open-value-more.vue +56 -56
  20. package/components/loading/loading.vue +5 -5
  21. package/components/login-form-box/login-form-box.vue +65 -65
  22. package/components/phone-login-form/phone-login-form.vue +204 -204
  23. package/components/privacy-popup/privacy-popup.vue +191 -191
  24. package/components/scan-input/scan-input.vue +406 -406
  25. package/components/select-col-picker/select-col-picker.vue +168 -168
  26. package/components/tab-search/tab-search.vue +73 -73
  27. package/components/tree-select/components/TreeNode.vue +200 -200
  28. package/components/tree-select/components/index.vue +471 -471
  29. package/components/tree-select/components/tree-select.vue +56 -56
  30. package/components/tree-select/index.vue +93 -93
  31. package/components/user-choose/user-choose.vue +169 -151
  32. package/components/video-play/video-play.vue +56 -56
  33. package/components/wui-auto-update-component/wui-auto-update-component.vue +132 -132
  34. package/components/wui-default/wui-default.vue +49 -49
  35. package/components/wui-details-page/wui-details-page.vue +147 -147
  36. package/components/wui-edit-page/wui-edit-page-copy.vue +757 -757
  37. package/components/wui-edit-page/wui-edit-page.vue +793 -793
  38. package/components/wui-login/wui-login.vue +43 -43
  39. package/components/wui-login1/wui-login.vue +41 -41
  40. package/components/wui-menus/wui-menus-top.vue +137 -137
  41. package/components/wui-menus/wui-menus-top1.vue +8 -8
  42. package/components/wui-menus1/components/banner-carousel.vue +320 -320
  43. package/components/wui-menus1/components/quick-panel.vue +55 -55
  44. package/components/wui-menus1/components/search-bar.vue +49 -49
  45. package/components/wui-menus1/components/section-menus.vue +208 -208
  46. package/components/wui-menus1/wui-menus-top.vue +718 -718
  47. package/components/wui-menus1/wui-menus-top1.vue +398 -398
  48. package/components/wui-notify-info/notify-handle.vue +53 -53
  49. package/components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue +75 -75
  50. package/components/wui-search-history-babbar/components/SearchBar.vue +70 -70
  51. package/components/wui-select-list/wui-select-list.vue +1 -9
  52. package/components/wui-select-popup/wui-select-popup.vue +1 -0
  53. package/components/wui-tree-page/wui-tree-page.vue +297 -297
  54. package/components/wui-update-component/wui-update-component.vue +221 -221
  55. package/composables/types/theme.ts +65 -65
  56. package/composables/types/user.ts +5 -5
  57. package/composables/useColorGenerator.ts +221 -221
  58. package/composables/useCompanyFieldFilter.ts +26 -24
  59. package/composables/useEnumes.ts +43 -43
  60. package/composables/useEventBus.ts +37 -37
  61. package/composables/useGlobalLoading.ts +47 -47
  62. package/composables/useGlobalMessage.ts +53 -53
  63. package/composables/useGlobalToast.ts +63 -63
  64. package/composables/useLocale.ts +54 -54
  65. package/composables/useManualTheme.ts +179 -179
  66. package/composables/useSectionMenus.ts +120 -120
  67. package/composables/useTabbar.ts +50 -50
  68. package/composables/useTheme.ts +74 -74
  69. package/composables/useUser.ts +24 -24
  70. package/index.d.ts +90 -90
  71. package/package.json +24 -24
  72. package/store/manualThemeStore.ts +143 -143
  73. package/store/persist.ts +41 -41
  74. package/store/themeStore.ts +74 -74
  75. package/store/userStore.ts +22 -22
  76. package/styles/dark-mode.scss +498 -498
  77. package/type.ts +154 -154
  78. package/utils/control-tree.ts +353 -353
  79. package/utils/eventBus.ts +36 -36
  80. package/utils/idata-scan.ts +99 -99
  81. package/utils/index.ts +979 -979
  82. package/utils/rsaEncrypt.ts +10 -10
@@ -1,37 +1,37 @@
1
- import { onUnmounted } from 'vue'
2
- import { eventBus } from '../utils/eventBus'
3
-
4
- export function useEventBus() {
5
- const subscriptions: Array<{ event: string, callback: (...args: any[]) => void }> = []
6
-
7
- const on = (event: string, callback: (...args: any[]) => void) => {
8
- eventBus.on(event, callback)
9
- subscriptions.push({ event, callback })
10
- }
11
-
12
- const off = (event: string, callback: (...args: any[]) => void) => {
13
- eventBus.off(event, callback)
14
- }
15
-
16
- const emit = (event: string, ...args: any[]) => {
17
- eventBus.emit(event, ...args)
18
- }
19
-
20
- const once = (event: string, callback: (...args: any[]) => void) => {
21
- eventBus.once(event, callback)
22
- }
23
-
24
- onUnmounted(() => {
25
- // 组件卸载时自动取消订阅
26
- subscriptions.forEach(({ event, callback }) => {
27
- eventBus.off(event, callback)
28
- })
29
- })
30
-
31
- return {
32
- on,
33
- off,
34
- emit,
35
- once,
36
- }
37
- }
1
+ import { onUnmounted } from 'vue'
2
+ import { eventBus } from '../utils/eventBus'
3
+
4
+ export function useEventBus() {
5
+ const subscriptions: Array<{ event: string, callback: (...args: any[]) => void }> = []
6
+
7
+ const on = (event: string, callback: (...args: any[]) => void) => {
8
+ eventBus.on(event, callback)
9
+ subscriptions.push({ event, callback })
10
+ }
11
+
12
+ const off = (event: string, callback: (...args: any[]) => void) => {
13
+ eventBus.off(event, callback)
14
+ }
15
+
16
+ const emit = (event: string, ...args: any[]) => {
17
+ eventBus.emit(event, ...args)
18
+ }
19
+
20
+ const once = (event: string, callback: (...args: any[]) => void) => {
21
+ eventBus.once(event, callback)
22
+ }
23
+
24
+ onUnmounted(() => {
25
+ // 组件卸载时自动取消订阅
26
+ subscriptions.forEach(({ event, callback }) => {
27
+ eventBus.off(event, callback)
28
+ })
29
+ })
30
+
31
+ return {
32
+ on,
33
+ off,
34
+ emit,
35
+ once,
36
+ }
37
+ }
@@ -1,47 +1,47 @@
1
- /*
2
- * @Author: weisheng
3
- * @Date: 2025-04-18 10:46:28
4
- * @LastEditTime: 2025-06-14 21:24:21
5
- * @LastEditors: weisheng
6
- * @Description:
7
- * @FilePath: /wot-demo/src/composables/useGlobalLoading.ts
8
- * 记得注释
9
- */
10
- import { defineStore } from 'pinia'
11
- import type { ToastOptions } from '@wot-ui/ui/components/wd-toast/types'
12
- import { CommonUtil } from '@wot-ui/ui'
13
- import { getCurrentPath } from '../utils/index'
14
-
15
- interface GlobalLoading {
16
- loadingOptions: ToastOptions
17
- currentPage: string
18
- }
19
-
20
- const defaultOptions: ToastOptions = {
21
- show: false,
22
- }
23
- export const useGlobalLoading = defineStore('global-loading', {
24
- state: (): GlobalLoading => ({
25
- loadingOptions: defaultOptions,
26
- currentPage: '',
27
- }),
28
- getters: {},
29
- actions: {
30
- // 加载提示
31
- loading(option: ToastOptions | string) {
32
- this.currentPage = getCurrentPath()
33
- this.loadingOptions = CommonUtil.deepMerge({
34
- iconName: 'loading',
35
- duration: 0,
36
- cover: true,
37
- position: 'middle',
38
- show: true,
39
- }, typeof option === 'string' ? { msg: option } : option) as ToastOptions
40
- },
41
- // 关闭Toast
42
- close() {
43
- this.loadingOptions = defaultOptions
44
- this.currentPage = ''
45
- },
46
- },
47
- })
1
+ /*
2
+ * @Author: weisheng
3
+ * @Date: 2025-04-18 10:46:28
4
+ * @LastEditTime: 2025-06-14 21:24:21
5
+ * @LastEditors: weisheng
6
+ * @Description:
7
+ * @FilePath: /wot-demo/src/composables/useGlobalLoading.ts
8
+ * 记得注释
9
+ */
10
+ import { defineStore } from 'pinia'
11
+ import type { ToastOptions } from '@wot-ui/ui/components/wd-toast/types'
12
+ import { CommonUtil } from '@wot-ui/ui'
13
+ import { getCurrentPath } from '../utils/index'
14
+
15
+ interface GlobalLoading {
16
+ loadingOptions: ToastOptions
17
+ currentPage: string
18
+ }
19
+
20
+ const defaultOptions: ToastOptions = {
21
+ show: false,
22
+ }
23
+ export const useGlobalLoading = defineStore('global-loading', {
24
+ state: (): GlobalLoading => ({
25
+ loadingOptions: defaultOptions,
26
+ currentPage: '',
27
+ }),
28
+ getters: {},
29
+ actions: {
30
+ // 加载提示
31
+ loading(option: ToastOptions | string) {
32
+ this.currentPage = getCurrentPath()
33
+ this.loadingOptions = CommonUtil.deepMerge({
34
+ iconName: 'loading',
35
+ duration: 0,
36
+ cover: true,
37
+ position: 'middle',
38
+ show: true,
39
+ }, typeof option === 'string' ? { msg: option } : option) as ToastOptions
40
+ },
41
+ // 关闭Toast
42
+ close() {
43
+ this.loadingOptions = defaultOptions
44
+ this.currentPage = ''
45
+ },
46
+ },
47
+ })
@@ -1,53 +1,53 @@
1
- import { defineStore } from 'pinia'
2
- import { CommonUtil } from '@wot-ui/ui'
3
- import { getCurrentPath } from '../utils/index'
4
-
5
- export type GlobalMessageOptions = any & {
6
- success?: (res: any) => void
7
- fail?: (res: any) => void
8
- }
9
-
10
- interface GlobalMessage {
11
- messageOptions: GlobalMessageOptions | null
12
- currentPage: string
13
- }
14
-
15
- export const useGlobalMessage = defineStore('global-message', {
16
- state: (): GlobalMessage => ({
17
- messageOptions: null,
18
- currentPage: '',
19
- }),
20
- actions: {
21
- show(option: GlobalMessageOptions | string) {
22
- this.currentPage = getCurrentPath()
23
- this.messageOptions = {
24
- ...(CommonUtil.isString(option) ? { title: option } : option),
25
- cancelButtonProps: {
26
- round: false,
27
- },
28
- confirmButtonProps: {
29
- round: false,
30
- },
31
- }
32
- },
33
- alert(option: GlobalMessageOptions | string) {
34
- const messageOptions = CommonUtil.deepMerge({ type: 'alert' }, CommonUtil.isString(option) ? { title: option } : option) as any
35
- messageOptions.showCancelButton = false
36
- this.show(messageOptions)
37
- },
38
- confirm(option: GlobalMessageOptions | string) {
39
- const messageOptions = CommonUtil.deepMerge({ type: 'confirm' }, CommonUtil.isString(option) ? { title: option } : option) as any
40
- messageOptions.showCancelButton = true
41
- this.show(messageOptions)
42
- },
43
- prompt(option: GlobalMessageOptions | string) {
44
- const messageOptions = CommonUtil.deepMerge({ type: 'prompt' }, CommonUtil.isString(option) ? { title: option } : option) as any
45
- messageOptions.showCancelButton = true
46
- this.show(messageOptions)
47
- },
48
- close() {
49
- this.messageOptions = null
50
- this.currentPage = ''
51
- },
52
- },
53
- })
1
+ import { defineStore } from 'pinia'
2
+ import { CommonUtil } from '@wot-ui/ui'
3
+ import { getCurrentPath } from '../utils/index'
4
+
5
+ export type GlobalMessageOptions = any & {
6
+ success?: (res: any) => void
7
+ fail?: (res: any) => void
8
+ }
9
+
10
+ interface GlobalMessage {
11
+ messageOptions: GlobalMessageOptions | null
12
+ currentPage: string
13
+ }
14
+
15
+ export const useGlobalMessage = defineStore('global-message', {
16
+ state: (): GlobalMessage => ({
17
+ messageOptions: null,
18
+ currentPage: '',
19
+ }),
20
+ actions: {
21
+ show(option: GlobalMessageOptions | string) {
22
+ this.currentPage = getCurrentPath()
23
+ this.messageOptions = {
24
+ ...(CommonUtil.isString(option) ? { title: option } : option),
25
+ cancelButtonProps: {
26
+ round: false,
27
+ },
28
+ confirmButtonProps: {
29
+ round: false,
30
+ },
31
+ }
32
+ },
33
+ alert(option: GlobalMessageOptions | string) {
34
+ const messageOptions = CommonUtil.deepMerge({ type: 'alert' }, CommonUtil.isString(option) ? { title: option } : option) as any
35
+ messageOptions.showCancelButton = false
36
+ this.show(messageOptions)
37
+ },
38
+ confirm(option: GlobalMessageOptions | string) {
39
+ const messageOptions = CommonUtil.deepMerge({ type: 'confirm' }, CommonUtil.isString(option) ? { title: option } : option) as any
40
+ messageOptions.showCancelButton = true
41
+ this.show(messageOptions)
42
+ },
43
+ prompt(option: GlobalMessageOptions | string) {
44
+ const messageOptions = CommonUtil.deepMerge({ type: 'prompt' }, CommonUtil.isString(option) ? { title: option } : option) as any
45
+ messageOptions.showCancelButton = true
46
+ this.show(messageOptions)
47
+ },
48
+ close() {
49
+ this.messageOptions = null
50
+ this.currentPage = ''
51
+ },
52
+ },
53
+ })
@@ -1,63 +1,63 @@
1
- import { defineStore } from 'pinia'
2
- import type { ToastOptions } from '@wot-ui/ui/components/wd-toast/types'
3
- import { CommonUtil } from '@wot-ui/ui'
4
- import { getCurrentPath } from '../utils/index'
5
-
6
- interface GlobalToast {
7
- toastOptions: ToastOptions
8
- currentPage: string
9
- }
10
-
11
- const defaultOptions: ToastOptions = {
12
- duration: 2000,
13
- show: false,
14
- }
15
- export const useGlobalToast = defineStore('global-toast', {
16
- state: (): GlobalToast => ({
17
- toastOptions: defaultOptions,
18
- currentPage: '',
19
- }),
20
- getters: {},
21
- actions: {
22
- // 打开Toast
23
- show(option: ToastOptions | string) {
24
- this.currentPage = getCurrentPath()
25
- const options = CommonUtil.deepMerge(defaultOptions, typeof option === 'string' ? { msg: option } : option) as ToastOptions
26
- this.toastOptions = CommonUtil.deepMerge(options, {
27
- show: true,
28
- position: options.position || 'middle',
29
- }) as ToastOptions
30
- },
31
- // 成功提示
32
- success(option: ToastOptions | string) {
33
- this.show(CommonUtil.deepMerge({
34
- iconName: 'success',
35
- duration: 1500,
36
- }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
37
- },
38
- // 关闭提示
39
- error(option: ToastOptions | string) {
40
- this.show(CommonUtil.deepMerge({
41
- iconName: 'error',
42
- direction: 'vertical',
43
- }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
44
- },
45
- // 常规提示
46
- info(option: ToastOptions | string) {
47
- this.show(CommonUtil.deepMerge({
48
- iconName: 'info',
49
- }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
50
- },
51
- // 警告提示
52
- warning(option: ToastOptions | string) {
53
- this.show(CommonUtil.deepMerge({
54
- iconName: 'warning',
55
- }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
56
- },
57
- // 关闭Toast
58
- close() {
59
- this.toastOptions = defaultOptions
60
- this.currentPage = ''
61
- },
62
- },
63
- })
1
+ import { defineStore } from 'pinia'
2
+ import type { ToastOptions } from '@wot-ui/ui/components/wd-toast/types'
3
+ import { CommonUtil } from '@wot-ui/ui'
4
+ import { getCurrentPath } from '../utils/index'
5
+
6
+ interface GlobalToast {
7
+ toastOptions: ToastOptions
8
+ currentPage: string
9
+ }
10
+
11
+ const defaultOptions: ToastOptions = {
12
+ duration: 2000,
13
+ show: false,
14
+ }
15
+ export const useGlobalToast = defineStore('global-toast', {
16
+ state: (): GlobalToast => ({
17
+ toastOptions: defaultOptions,
18
+ currentPage: '',
19
+ }),
20
+ getters: {},
21
+ actions: {
22
+ // 打开Toast
23
+ show(option: ToastOptions | string) {
24
+ this.currentPage = getCurrentPath()
25
+ const options = CommonUtil.deepMerge(defaultOptions, typeof option === 'string' ? { msg: option } : option) as ToastOptions
26
+ this.toastOptions = CommonUtil.deepMerge(options, {
27
+ show: true,
28
+ position: options.position || 'middle',
29
+ }) as ToastOptions
30
+ },
31
+ // 成功提示
32
+ success(option: ToastOptions | string) {
33
+ this.show(CommonUtil.deepMerge({
34
+ iconName: 'success',
35
+ duration: 1500,
36
+ }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
37
+ },
38
+ // 关闭提示
39
+ error(option: ToastOptions | string) {
40
+ this.show(CommonUtil.deepMerge({
41
+ iconName: 'error',
42
+ direction: 'vertical',
43
+ }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
44
+ },
45
+ // 常规提示
46
+ info(option: ToastOptions | string) {
47
+ this.show(CommonUtil.deepMerge({
48
+ iconName: 'info',
49
+ }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
50
+ },
51
+ // 警告提示
52
+ warning(option: ToastOptions | string) {
53
+ this.show(CommonUtil.deepMerge({
54
+ iconName: 'warning',
55
+ }, typeof option === 'string' ? { msg: option } : option) as ToastOptions)
56
+ },
57
+ // 关闭Toast
58
+ close() {
59
+ this.toastOptions = defaultOptions
60
+ this.currentPage = ''
61
+ },
62
+ },
63
+ })
@@ -1,54 +1,54 @@
1
- import { computed, onBeforeMount } from 'vue'
2
- import { Locale } from '@wot-ui/ui'
3
- // 引入英文语言包
4
- import enUS from '@wot-ui/ui/locale/lang/en-US'
5
- // 引入中文语言包
6
- import zhCN from '@wot-ui/ui/locale/lang/zh-CN'
7
- // 引入阿拉伯语语言包
8
- import arSA from '@wot-ui/ui/locale/lang/ar-SA'
9
- import { useManualThemeStore } from '../store/manualThemeStore'
10
-
11
- import { useLanguageStore } from '../store/language'
12
- /**
13
- * 简化版系统语言切换组合式API
14
- *
15
- */
16
- export function useLocale() {
17
- const store = useManualThemeStore()
18
- const languageStore = useLanguageStore()
19
-
20
- // 获取语言包
21
- async function getLanguagePack(lang: string) {
22
- await languageStore.loadLanguage(lang)
23
- }
24
-
25
- // 系统语言切换
26
- function changeSystemLocale() {
27
- switch (store.Locale.value) {
28
- case 'en-US':
29
- Locale.use('en-US', enUS)
30
- getLanguagePack('en')
31
- break
32
- case 'ar-SA':
33
- Locale.use('ar-SA', arSA)
34
-
35
- break
36
- default:
37
- Locale.use('zh-CN', zhCN)
38
- getLanguagePack('zh')
39
- break
40
- }
41
- }
42
-
43
- // 组件挂载前初始化系统语言
44
- onBeforeMount(() => {
45
- changeSystemLocale()
46
- })
47
-
48
- return {
49
- // 状态(只读)
50
- locale: computed(() => store.Locale),
51
- // 方法
52
- changeSystemLocale,
53
- }
54
- }
1
+ import { computed, onBeforeMount } from 'vue'
2
+ import { Locale } from '@wot-ui/ui'
3
+ // 引入英文语言包
4
+ import enUS from '@wot-ui/ui/locale/lang/en-US'
5
+ // 引入中文语言包
6
+ import zhCN from '@wot-ui/ui/locale/lang/zh-CN'
7
+ // 引入阿拉伯语语言包
8
+ import arSA from '@wot-ui/ui/locale/lang/ar-SA'
9
+ import { useManualThemeStore } from '../store/manualThemeStore'
10
+
11
+ import { useLanguageStore } from '../store/language'
12
+ /**
13
+ * 简化版系统语言切换组合式API
14
+ *
15
+ */
16
+ export function useLocale() {
17
+ const store = useManualThemeStore()
18
+ const languageStore = useLanguageStore()
19
+
20
+ // 获取语言包
21
+ async function getLanguagePack(lang: string) {
22
+ await languageStore.loadLanguage(lang)
23
+ }
24
+
25
+ // 系统语言切换
26
+ function changeSystemLocale() {
27
+ switch (store.Locale.value) {
28
+ case 'en-US':
29
+ Locale.use('en-US', enUS)
30
+ getLanguagePack('en')
31
+ break
32
+ case 'ar-SA':
33
+ Locale.use('ar-SA', arSA)
34
+
35
+ break
36
+ default:
37
+ Locale.use('zh-CN', zhCN)
38
+ getLanguagePack('zh')
39
+ break
40
+ }
41
+ }
42
+
43
+ // 组件挂载前初始化系统语言
44
+ onBeforeMount(() => {
45
+ changeSystemLocale()
46
+ })
47
+
48
+ return {
49
+ // 状态(只读)
50
+ locale: computed(() => store.Locale),
51
+ // 方法
52
+ changeSystemLocale,
53
+ }
54
+ }