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,221 +1,221 @@
1
- <script setup lang="ts">
2
- import { computed, defineEmits, ref } from 'vue'
3
-
4
- defineOptions({
5
- name: 'WuiUpdateComponent',
6
- })
7
- const prop = defineProps({
8
- show: {
9
- type: Boolean,
10
- default: false,
11
- },
12
- hydrocarbonProgramToken: {
13
- type: String,
14
- default: '',
15
- },
16
- baseUrl: {
17
- type: String,
18
- default: '',
19
- },
20
- sourceId: {
21
- type: String,
22
- default: '',
23
- },
24
- appId: {
25
- type: String,
26
- default: '',
27
- },
28
- })
29
- const emit = defineEmits(['close'])
30
- const closable = ref(true)
31
- const loading = ref(false)
32
- const percentage = ref(0) // 进度条数字
33
- const entities = ref([])
34
- // 更新内容
35
- const updateContent = ref('')
36
-
37
- // 计算属性,弹窗开关
38
- const show = computed({
39
- get() {
40
- return prop.show
41
- },
42
-
43
- set(value) {
44
- emit('close', value)
45
- },
46
- })
47
- const enterUpdate = ref(false)
48
- const isUpdate = ref(0)
49
- // 当前版本
50
- const currentVersion = ref('')
51
-
52
- // 最新版本
53
- const latestVersion = ref('')
54
-
55
- // 关闭弹窗
56
- function handleClose() {
57
- show.value = false
58
- }
59
-
60
- // 弹框进入时检查更新
61
- async function beforeEnter() {
62
- loading.value = true
63
- // 获取当前应用版本号
64
- const v1 = await new Promise<string>((resolve, reject) => {
65
- plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
66
- resolve(widgetInfo.version || '')
67
- })
68
- console.log(reject)
69
- })
70
- currentVersion.value = v1
71
- // 获取接口最新版本号
72
- uni.request({
73
- url:
74
- `${prop.baseUrl
75
- }/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
76
- method: 'GET',
77
- header: {
78
- 'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
79
- },
80
- success: (res: any) => {
81
- if (res.statusCode === 200) {
82
- if (res.data.entities.length > 0) {
83
- latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
84
- isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
85
- entities.value = res.data.entities // 获取接口数据
86
- updateContent.value = res.data.entities[0]['更新内容'] // 更新内容
87
- }
88
- }
89
-
90
- loading.value = false
91
- },
92
- fail: (err) => {
93
- loading.value = false
94
- console.log('接口版本err:', err)
95
- },
96
- })
97
- }
98
-
99
- // 下载安装包
100
- function downloadApk(code: string, name: string) {
101
- // 发起下载请求
102
- const downloadTask = uni.downloadFile({
103
- url: `${prop.baseUrl}/v3/files/hwane27308/${code}/${name}`,
104
- success: (res) => {
105
- if (res.statusCode === 200) {
106
- if (!res.tempFilePath)
107
- return
108
- // 下载完成后安装 APK
109
- plus.runtime.install(
110
- res.tempFilePath,
111
- {
112
- force: true, // 强制安装
113
- },
114
- () => {
115
- // 重启应用
116
- // plus.runtime.restart()
117
- // 关闭更新弹框
118
- show.value = false
119
- percentage.value = 0
120
- enterUpdate.value = false
121
- closable.value = true
122
- },
123
- )
124
- }
125
- },
126
- })
127
-
128
- // 监听下载进度变化
129
- downloadTask.onProgressUpdate((res) => {
130
- console.log('当前进度:', `${res.progress}%`)
131
- // 更新 UI(例如进度条)
132
- percentage.value = res.progress // 假设 this.progress 是绑定的数据
133
- })
134
- }
135
-
136
- // 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
137
- function compareVersions(v1: string, v2: string) {
138
- // 接口版本
139
- const v2Parts = v2.split('.').map(Number)
140
- // 本地版本
141
- const v1Parts = v1.split('.').map(Number)
142
- for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
143
- const part1 = v1Parts[i] || 0
144
- const part2 = v2Parts[i] || 0
145
- if (part1 !== part2)
146
- return part1 < part2 ? 1 : -1
147
- }
148
- return 0
149
- }
150
-
151
- // 更新按钮点击事件
152
- function actionUpdate() {
153
- enterUpdate.value = true
154
- closable.value = false
155
- isUpdate.value = 0
156
- // 获取最新安装包
157
- downloadApk(entities.value[0]['安装包唯一编码'], entities.value[0]['安装包名称'])
158
- }
159
- // 取消更新按钮点击事件
160
- // function calce() {
161
- // enterUpdate.value = false
162
- // closable.value = true
163
- // }
164
- </script>
165
-
166
- <template>
167
- <!-- 更新app组件 -->
168
- <wd-popup
169
- v-model="show"
170
- custom-style="border-radius:32rpx;"
171
- :z-index="99999999"
172
- :close-on-click-modal="false"
173
- :closable="closable"
174
- @close="handleClose"
175
- @before-enter="beforeEnter"
176
- >
177
- <view v-if="loading" class="loadingBox">
178
- <wd-loading />
179
- </view>
180
- <view v-else class="updateBox">
181
- <wd-text text="更新提示" :bold="true" color="#333" />
182
- <wd-text :text="`当前版本:${currentVersion} 最新版本:${latestVersion}`" color="#333" />
183
- <wd-text v-if="isUpdate > 0" :text="updateContent" line-height="20px" :lines="4" />
184
- <wd-button v-if="isUpdate !== 0" style="margin-top: auto" @click="actionUpdate">
185
- 更新
186
- </wd-button>
187
- <view v-if="enterUpdate" class="calc">
188
- <wd-progress :percentage="percentage" />
189
- <!-- <wd-button @click="calce">取消</wd-button> -->
190
- </view>
191
- </view>
192
- </wd-popup>
193
- </template>
194
-
195
- <style lang="scss" scoped>
196
- .updateBox {
197
- display: flex;
198
- flex-direction: column;
199
- align-items: center;
200
- width: 600rpx;
201
- min-height: 200rpx;
202
- padding: 32rpx;
203
- background-color: #fff;
204
- border-radius: 32rpx;
205
- .calc {
206
- width: 550rpx;
207
- margin-top: 40rpx;
208
- text-align: center;
209
- }
210
- }
211
- .loadingBox {
212
- display: flex;
213
- align-items: center;
214
- justify-content: center;
215
- width: 600rpx;
216
- height: 200rpx;
217
- padding: 32rpx;
218
- background-color: #fff;
219
- border-radius: 32rpx;
220
- }
221
- </style>
1
+ <script setup lang="ts">
2
+ import { computed, defineEmits, ref } from 'vue'
3
+
4
+ defineOptions({
5
+ name: 'WuiUpdateComponent',
6
+ })
7
+ const prop = defineProps({
8
+ show: {
9
+ type: Boolean,
10
+ default: false,
11
+ },
12
+ hydrocarbonProgramToken: {
13
+ type: String,
14
+ default: '',
15
+ },
16
+ baseUrl: {
17
+ type: String,
18
+ default: '',
19
+ },
20
+ sourceId: {
21
+ type: String,
22
+ default: '',
23
+ },
24
+ appId: {
25
+ type: String,
26
+ default: '',
27
+ },
28
+ })
29
+ const emit = defineEmits(['close'])
30
+ const closable = ref(true)
31
+ const loading = ref(false)
32
+ const percentage = ref(0) // 进度条数字
33
+ const entities = ref([])
34
+ // 更新内容
35
+ const updateContent = ref('')
36
+
37
+ // 计算属性,弹窗开关
38
+ const show = computed({
39
+ get() {
40
+ return prop.show
41
+ },
42
+
43
+ set(value) {
44
+ emit('close', value)
45
+ },
46
+ })
47
+ const enterUpdate = ref(false)
48
+ const isUpdate = ref(0)
49
+ // 当前版本
50
+ const currentVersion = ref('')
51
+
52
+ // 最新版本
53
+ const latestVersion = ref('')
54
+
55
+ // 关闭弹窗
56
+ function handleClose() {
57
+ show.value = false
58
+ }
59
+
60
+ // 弹框进入时检查更新
61
+ async function beforeEnter() {
62
+ loading.value = true
63
+ // 获取当前应用版本号
64
+ const v1 = await new Promise<string>((resolve, reject) => {
65
+ plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
66
+ resolve(widgetInfo.version || '')
67
+ })
68
+ console.log(reject)
69
+ })
70
+ currentVersion.value = v1
71
+ // 获取接口最新版本号
72
+ uni.request({
73
+ url:
74
+ `${prop.baseUrl
75
+ }/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
76
+ method: 'GET',
77
+ header: {
78
+ 'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
79
+ },
80
+ success: (res: any) => {
81
+ if (res.statusCode === 200) {
82
+ if (res.data.entities.length > 0) {
83
+ latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
84
+ isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
85
+ entities.value = res.data.entities // 获取接口数据
86
+ updateContent.value = res.data.entities[0]['更新内容'] // 更新内容
87
+ }
88
+ }
89
+
90
+ loading.value = false
91
+ },
92
+ fail: (err) => {
93
+ loading.value = false
94
+ console.log('接口版本err:', err)
95
+ },
96
+ })
97
+ }
98
+
99
+ // 下载安装包
100
+ function downloadApk(code: string, name: string) {
101
+ // 发起下载请求
102
+ const downloadTask = uni.downloadFile({
103
+ url: `${prop.baseUrl}/v3/files/hwane27308/${code}/${name}`,
104
+ success: (res) => {
105
+ if (res.statusCode === 200) {
106
+ if (!res.tempFilePath)
107
+ return
108
+ // 下载完成后安装 APK
109
+ plus.runtime.install(
110
+ res.tempFilePath,
111
+ {
112
+ force: true, // 强制安装
113
+ },
114
+ () => {
115
+ // 重启应用
116
+ // plus.runtime.restart()
117
+ // 关闭更新弹框
118
+ show.value = false
119
+ percentage.value = 0
120
+ enterUpdate.value = false
121
+ closable.value = true
122
+ },
123
+ )
124
+ }
125
+ },
126
+ })
127
+
128
+ // 监听下载进度变化
129
+ downloadTask.onProgressUpdate((res) => {
130
+ console.log('当前进度:', `${res.progress}%`)
131
+ // 更新 UI(例如进度条)
132
+ percentage.value = res.progress // 假设 this.progress 是绑定的数据
133
+ })
134
+ }
135
+
136
+ // 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
137
+ function compareVersions(v1: string, v2: string) {
138
+ // 接口版本
139
+ const v2Parts = v2.split('.').map(Number)
140
+ // 本地版本
141
+ const v1Parts = v1.split('.').map(Number)
142
+ for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
143
+ const part1 = v1Parts[i] || 0
144
+ const part2 = v2Parts[i] || 0
145
+ if (part1 !== part2)
146
+ return part1 < part2 ? 1 : -1
147
+ }
148
+ return 0
149
+ }
150
+
151
+ // 更新按钮点击事件
152
+ function actionUpdate() {
153
+ enterUpdate.value = true
154
+ closable.value = false
155
+ isUpdate.value = 0
156
+ // 获取最新安装包
157
+ downloadApk(entities.value[0]['安装包唯一编码'], entities.value[0]['安装包名称'])
158
+ }
159
+ // 取消更新按钮点击事件
160
+ // function calce() {
161
+ // enterUpdate.value = false
162
+ // closable.value = true
163
+ // }
164
+ </script>
165
+
166
+ <template>
167
+ <!-- 更新app组件 -->
168
+ <wd-popup
169
+ v-model="show"
170
+ custom-style="border-radius:32rpx;"
171
+ :z-index="99999999"
172
+ :close-on-click-modal="false"
173
+ :closable="closable"
174
+ @close="handleClose"
175
+ @before-enter="beforeEnter"
176
+ >
177
+ <view v-if="loading" class="loadingBox">
178
+ <wd-loading />
179
+ </view>
180
+ <view v-else class="updateBox">
181
+ <wd-text text="更新提示" :bold="true" color="#333" />
182
+ <wd-text :text="`当前版本:${currentVersion} 最新版本:${latestVersion}`" color="#333" />
183
+ <wd-text v-if="isUpdate > 0" :text="updateContent" line-height="20px" :lines="4" />
184
+ <wd-button v-if="isUpdate !== 0" style="margin-top: auto" @click="actionUpdate">
185
+ 更新
186
+ </wd-button>
187
+ <view v-if="enterUpdate" class="calc">
188
+ <wd-progress :percentage="percentage" />
189
+ <!-- <wd-button @click="calce">取消</wd-button> -->
190
+ </view>
191
+ </view>
192
+ </wd-popup>
193
+ </template>
194
+
195
+ <style lang="scss" scoped>
196
+ .updateBox {
197
+ display: flex;
198
+ flex-direction: column;
199
+ align-items: center;
200
+ width: 600rpx;
201
+ min-height: 200rpx;
202
+ padding: 32rpx;
203
+ background-color: #fff;
204
+ border-radius: 32rpx;
205
+ .calc {
206
+ width: 550rpx;
207
+ margin-top: 40rpx;
208
+ text-align: center;
209
+ }
210
+ }
211
+ .loadingBox {
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: center;
215
+ width: 600rpx;
216
+ height: 200rpx;
217
+ padding: 32rpx;
218
+ background-color: #fff;
219
+ border-radius: 32rpx;
220
+ }
221
+ </style>