uview-plus 3.6.29 → 3.7.0

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 (113) hide show
  1. package/README.md +20 -5
  2. package/changelog.md +312 -0
  3. package/components/u-album/album.js +1 -1
  4. package/components/u-avatar/avatar.js +4 -4
  5. package/components/u-avatar-group/avatarGroup.js +4 -4
  6. package/components/u-back-top/backtop.js +4 -4
  7. package/components/u-badge/badge.js +4 -4
  8. package/components/u-button/button.js +4 -4
  9. package/components/u-calendar/calendar.js +4 -4
  10. package/components/u-canvas/u-canvas.vue +146 -0
  11. package/components/u-car-keyboard/carKeyboard.js +4 -4
  12. package/components/u-cascader/u-cascader.vue +19 -10
  13. package/components/u-cate-tab/u-cate-tab.vue +14 -4
  14. package/components/u-cell/cell.js +4 -4
  15. package/components/u-cell-group/cellGroup.js +4 -4
  16. package/components/u-checkbox/checkbox.js +4 -4
  17. package/components/u-checkbox-group/checkboxGroup.js +4 -4
  18. package/components/u-circle-progress/circleProgress.js +4 -4
  19. package/components/u-code/code.js +3 -3
  20. package/components/u-code-input/codeInput.js +4 -4
  21. package/components/u-col/col.js +4 -4
  22. package/components/u-collapse/collapse.js +4 -4
  23. package/components/u-collapse-item/collapseItem.js +4 -4
  24. package/components/u-column-notice/columnNotice.js +4 -4
  25. package/components/u-count-down/countDown.js +4 -4
  26. package/components/u-count-to/countTo.js +4 -4
  27. package/components/u-cropper/u-cropper.vue +6 -3
  28. package/components/u-datetime-picker/datetimePicker.js +4 -4
  29. package/components/u-divider/divider.js +4 -4
  30. package/components/u-dragsort/u-dragsort.vue +85 -72
  31. package/components/u-empty/empty.js +4 -4
  32. package/components/u-form/form.js +4 -4
  33. package/components/u-form-item/formItem.js +4 -4
  34. package/components/u-gap/gap.js +4 -4
  35. package/components/u-grid/grid.js +4 -4
  36. package/components/u-grid/u-grid.vue +1 -1
  37. package/components/u-grid-item/gridItem.js +4 -4
  38. package/components/u-icon/icon.js +4 -4
  39. package/components/u-image/image.js +4 -4
  40. package/components/u-index-anchor/indexAnchor.js +4 -4
  41. package/components/u-index-list/indexList.js +4 -4
  42. package/components/u-input/input.js +1 -1
  43. package/components/u-input/u-input.vue +5 -2
  44. package/components/u-keyboard/keyboard.js +4 -4
  45. package/components/u-line/line.js +4 -4
  46. package/components/u-line-progress/lineProgress.js +4 -4
  47. package/components/u-link/link.js +4 -4
  48. package/components/u-list/list.js +4 -4
  49. package/components/u-list/u-list.vue +4 -1
  50. package/components/u-list-item/listItem.js +4 -4
  51. package/components/u-loading-icon/loadingIcon.js +4 -4
  52. package/components/u-loading-page/loadingPage.js +4 -4
  53. package/components/u-loadmore/loadmore.js +4 -4
  54. package/components/u-modal/modal.js +5 -5
  55. package/components/u-navbar/navbar.js +4 -4
  56. package/components/u-no-network/noNetwork.js +4 -4
  57. package/components/u-no-network/u-no-network.vue +7 -3
  58. package/components/u-notice-bar/noticeBar.js +4 -4
  59. package/components/u-notify/notify.js +4 -4
  60. package/components/u-number-box/numberBox.js +4 -4
  61. package/components/u-number-keyboard/numberKeyboard.js +4 -4
  62. package/components/u-overlay/overlay.js +4 -4
  63. package/components/u-parse/props.js +1 -1
  64. package/components/u-picker/picker.js +4 -4
  65. package/components/u-picker/props.js +4 -0
  66. package/components/u-picker/u-picker.vue +1 -1
  67. package/components/u-popup/popup.js +4 -4
  68. package/components/u-qrcode/qrcode.js +17 -67
  69. package/components/u-qrcode/u-qrcode.vue +178 -85
  70. package/components/u-radio/radio.js +4 -4
  71. package/components/u-radio-group/radioGroup.js +3 -3
  72. package/components/u-rate/rate.js +4 -4
  73. package/components/u-read-more/readMore.js +4 -4
  74. package/components/u-row/row.js +4 -4
  75. package/components/u-row-notice/rowNotice.js +4 -4
  76. package/components/u-scroll-list/scrollList.js +4 -4
  77. package/components/u-search/search.js +7 -5
  78. package/components/u-search/u-search.vue +2 -2
  79. package/components/u-section/section.js +4 -4
  80. package/components/u-select/u-select.vue +4 -1
  81. package/components/u-signature/u-signature.vue +1 -0
  82. package/components/u-skeleton/skeleton.js +4 -4
  83. package/components/u-slider/slider.js +4 -4
  84. package/components/u-status-bar/statusBar.js +4 -4
  85. package/components/u-steps/steps.js +4 -4
  86. package/components/u-steps/u-steps.vue +1 -1
  87. package/components/u-steps-item/stepsItem.js +4 -4
  88. package/components/u-sticky/sticky.js +4 -4
  89. package/components/u-subsection/subsection.js +4 -4
  90. package/components/u-swipe-action/swipeAction.js +4 -4
  91. package/components/u-swipe-action-item/swipeActionItem.js +4 -4
  92. package/components/u-swiper/swiper.js +4 -4
  93. package/components/u-swiper-indicator/swipterIndicator.js +4 -4
  94. package/components/u-switch/switch.js +4 -4
  95. package/components/u-tabbar/tabbar.js +4 -4
  96. package/components/u-tabbar-item/tabbarItem.js +4 -4
  97. package/components/u-tabs/tabs.js +4 -4
  98. package/components/u-tag/tag.js +4 -4
  99. package/components/u-text/text.js +4 -4
  100. package/components/u-textarea/textarea.js +4 -4
  101. package/components/u-toast/toast.js +4 -4
  102. package/components/u-toolbar/toolbar.js +4 -4
  103. package/components/u-tooltip/tooltip.js +4 -4
  104. package/components/u-transition/transition.js +4 -4
  105. package/components/u-upload/upload.js +4 -4
  106. package/libs/function/index.js +9 -4
  107. package/libs/util/gcanvas/bridge/bridge-weex.js +2 -1
  108. package/libs/util/gcanvas/env/image.js +24 -16
  109. package/package.json +2 -2
  110. package/types/comps/radio.d.ts +6 -2
  111. package/types/func.d.ts +317 -0
  112. package/types/index.d.ts +73 -105
  113. package/components/u-scroll-list/other.js +0 -0
package/README.md CHANGED
@@ -12,7 +12,19 @@
12
12
 
13
13
  ## 说明
14
14
 
15
- uview-plus,是uni-app全面兼容vue3/nvue/鸿蒙/uni-app-x(即将发布)的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。uview-plus是基于uView2.x移植的支持vue3的版本,感谢uView。
15
+ 【文档有广告,不喜勿入谢谢】
16
+
17
+ uview-plus,是uni-app全面兼容vue3/nvue/鸿蒙/uni-app-x(已经发布https://ext.dcloud.net.cn/plugin?name=uview-ultra)的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水。uview-plus是基于uView2.x移植的支持vue3的版本,感谢uView。
18
+
19
+ ## 版本
20
+
21
+ ### uview-plus v3 (uni-app版本)
22
+ 1. 保持选项式API,尽可能兼容原有uview2各种API,比如mixins,方便大家升级更容易;
23
+ 2. 新手友好,保持原汁原味js,二次开发方便,未使用typescript重写,但带有独立的类型申明包;
24
+
25
+ ### uview-ultra v4 (uni-app-x版本)
26
+ 1. 尽可能保持原有组件的API一致,方便大家升级;
27
+ 2. 使用uts + 组合式API架构级全新重构,但仍然保持源码的简易,不封装过于复杂,便于修改。
16
28
 
17
29
  ## 可视化设计
18
30
 
@@ -32,7 +44,13 @@ uview-plus现已推出免费可视化设计,可以方便的进行页面可视
32
44
  您可以通过**微信**扫码,查看最佳的演示效果。
33
45
  <br>
34
46
  <br>
35
- <img src="https://uview-plus.jiangruyi.com/common/h5_qrcode.png" width="220" height="220" >
47
+
48
+ | H5 | 微信小程序 | 安卓 | 鸿蒙Next(已上架) |
49
+ | --- | --- | --- | --- |
50
+ | <img src="https://uview-plus.jiangruyi.com/common/h5_qrcode.png" width="160" height="160" /> | <img src="https://uview-plus.jiangruyi.com/common/weixin_mini_qrcode.jpg" width="160" height="160" /> | <img src="https://uview-plus.jiangruyi.com/common/android_qrcode.png" width="160" height="160" /> | <img src="https://uview-plus.jiangruyi.com/common/hos_qrcode.jpg" width="160" height="160" /> |
51
+ <br>
52
+ <img src="https://uview-plus.jiangruyi.com/common/hos.png">
53
+
36
54
 
37
55
  ## 链接
38
56
 
@@ -41,9 +59,6 @@ uview-plus现已推出免费可视化设计,可以方便的进行页面可视
41
59
  - [升级指南](https://uview-plus.jiangruyi.com/components/changeGuide.html)
42
60
  - [关于我们](https://uview-plus.jiangruyi.com/cooperation/about.html)
43
61
 
44
- ## 交流反馈
45
-
46
- 欢迎加入我们的QQ群交流反馈:[点此跳转](https://uview-plus.jiangruyi.com/components/addQQGroup.html)
47
62
 
48
63
  ## 关于PR
49
64
 
package/changelog.md CHANGED
@@ -1,3 +1,315 @@
1
+ ## 3.7.0(2026-02-01)
2
+ fix: 修复up-qrcode二维码在微信小程序报错
3
+
4
+ ## 3.6.134(2026-01-30)
5
+ chore: dragsort可通过参数控制是否可震动
6
+
7
+ ## 3.6.132(2026-01-30)
8
+ feat: dragsort支持自定义拖动句柄
9
+
10
+ ## 3.6.131(2026-01-29)
11
+ fix: 优化dragdort组件
12
+
13
+ ## 3.6.130(2026-01-28)
14
+ improvment: cropper组件示例改为组合式API
15
+
16
+ ## 3.6.129(2026-01-28)
17
+ improvment: drag组件示例改为组合式API
18
+
19
+ ## 3.6.128(2026-01-27)
20
+ improvment: tooltip组件示例改为组合式API
21
+
22
+ ## 3.6.127(2026-01-27)
23
+ improvment: textarea组件示例改为组合式API
24
+
25
+ ## 3.6.126(2026-01-27)
26
+ improvment: text组件示例改为组合式API
27
+
28
+ ## 3.6.125(2026-01-27)
29
+ fix: 修复Cascader级联选择器设置默认值显示问题
30
+
31
+ 修复在传入默认值时多列只会显示第一列bug
32
+
33
+ ## 3.6.124(2026-01-27)
34
+ improvment: tabs组件示例改为组合式API
35
+
36
+ ## 3.6.123(2026-01-27)
37
+ improvment: swiper组件示例改为组合式API
38
+
39
+ ## 3.6.122(2026-01-26)
40
+ fix: 🐛 修复u-input在change事件里无法获取value的异常情况 #950
41
+
42
+ ## 3.6.120(2026-01-26)
43
+ improvment: 增加Cascader级联选择器的取消事件
44
+
45
+ ## 3.6.119(2026-01-26)
46
+ improvment: skeleton组件示例改为组合式API
47
+
48
+ ## 3.6.118(2026-01-26)
49
+ improvment: steps组件示例改为组合式API
50
+
51
+ ## 3.6.117(2026-01-24)
52
+ improvment: subsection组就示例改为组合式API
53
+
54
+ ## 3.6.116(2026-01-24)
55
+ improvment: 优化Cascader级联选择器右上角关闭图标的显示控制
56
+
57
+ 如果在级联文本过长或者类目过多时关闭图标会与类目文字重合,现在增加控制关闭图标的控制可以控制是否需要显示关闭图标,底部有取消按钮,关闭图标不是必须的
58
+
59
+ ## 3.6.115(2026-01-23)
60
+ improvment: scroll-list组就示例改为组合式API
61
+
62
+ ## 3.6.114(2026-01-23)
63
+ improvment: readmore组就示例改为组合式API
64
+
65
+ ## 3.6.113(2026-01-23)
66
+ improvment: popover组就示例改为组合式API
67
+
68
+ ## 3.6.112(2026-01-23)
69
+ improvment: picker组件示例改为组合式API
70
+
71
+ ## 3.6.111(2026-01-23)
72
+ improvment: no-network组件示例改为组合式API
73
+
74
+ ## 3.6.110(2026-01-22)
75
+ improvment: navbar组件示例改为组合式API
76
+
77
+ ## 3.6.109(2026-01-22)
78
+ improvment: modal组件示例改为组合式API
79
+
80
+ ## 3.6.108(2026-01-22)
81
+ improvment: loadmore组件示例改为组合式API
82
+
83
+ ## 3.6.107(2026-01-21)
84
+ improvment: list组件示例改为组合式API
85
+
86
+ ## 3.6.106(2026-01-21)
87
+ improvment: index-list2组件示例改为组合式API
88
+
89
+ ## 3.6.105(2026-01-21)
90
+ improvment: index-list组件示例改为组合式API
91
+
92
+ ## 3.6.104(2026-01-21)
93
+ improvment: layout组件示例改为组合式API
94
+
95
+ ## 3.6.103(2026-01-21)
96
+ improvment: input组件示例改为组合式API
97
+
98
+ ## 3.6.102(2026-01-20)
99
+ fix: 修复cascader缺少emits申明
100
+
101
+ ## 3.6.101(2026-01-20)
102
+ improvment: form组件示例改为组合式API
103
+
104
+ ## 3.6.100(2026-01-20)
105
+ improvment: datetimepicker组件示例改为组合式API
106
+
107
+ ## 3.6.99(2026-01-20)
108
+ fix: 修复cate-tab组件设置默认current不生效
109
+
110
+ ## 3.6.98(2026-01-20)
111
+ improvment: code-input组件示例改为组合式API
112
+
113
+ ## 3.6.97(2026-01-20)
114
+ improvment: calendar组件示例改为组合式API
115
+
116
+ ## 3.6.96(2026-01-20)
117
+ improvment: avatar组件示例改为组合式API
118
+
119
+ ## 3.6.95(2026-01-20)
120
+ improvment: album组件示例改为组合式API
121
+
122
+ ## 3.6.94(2026-01-19)
123
+ improvment: waterfall组件示例改为组合式API
124
+
125
+ ## 3.6.93(2026-01-19)
126
+ improvment: upload组件示例改为组合式API
127
+
128
+ ## 3.6.92(2026-01-17)
129
+ improvment: toast组件示例改为组合式API
130
+
131
+ ## 3.6.91(2026-01-16)
132
+ improvment: tag组件示例改为组合式API
133
+
134
+ ## 3.6.90(2026-01-16)
135
+ improvment: table2组件示例改为组合式API
136
+
137
+ ## 3.6.89(2026-01-16)
138
+ add: 增加鸿蒙Next已上架二维码
139
+
140
+ ## 3.6.88(2026-01-16)
141
+ improvment: table组件示例改为组合式API
142
+
143
+ ## 3.6.87(2026-01-15)
144
+ tabbar2组件示例改为组合式API
145
+ ## 3.6.86(2026-01-15)
146
+ improvment: tabbar组件示例改为组合式API
147
+ ## 3.6.85(2026-01-15)
148
+ improvment: switch组件示例改为组合式API
149
+
150
+ ## 3.6.84(2026-01-15)
151
+ improvment: slider组件示例改为组合式API
152
+
153
+ ## 3.6.83(2026-01-15)
154
+ improvment: search组件示例改为组合式API
155
+
156
+ ## 3.6.82(2026-01-15)
157
+ improvment: progress组件示例改为组合式API
158
+
159
+ ## 3.6.81(2026-01-15)
160
+ improvment: parse组件示例改为组合式API
161
+
162
+
163
+ ## 3.6.80(2026-01-15)
164
+ improvment: number-box组件示例改为组合式API
165
+
166
+ ## 3.6.78(2026-01-15)
167
+ improvment: notify组件示例改为组合式API
168
+
169
+ ## 3.6.77(2026-01-15)
170
+ improvment: notice-bar组件示例改为组合式API
171
+
172
+ ## 3.6.76(2026-01-15)
173
+ improvment: keyborad组件示例改为组合式API
174
+
175
+ ## 3.6.75(2026-01-15)
176
+ improvment: dropdown组件示例改为组合式API
177
+
178
+ ## 3.6.74(2026-01-15)
179
+ fix: 修复parse组件props缺少)
180
+
181
+ ## 3.6.73(2026-01-15)
182
+ improvment: count-to组件示例改为组合式API
183
+
184
+ ## 3.6.72(2026-01-15)
185
+ improvment: count-down组件示例改为组合式API
186
+
187
+ ## 3.6.71(2026-01-14)
188
+ improvment: collapse组件示例改为组合式API
189
+
190
+ ## 3.6.70(2026-01-14)
191
+ improvment: code组件示例改为组合式API
192
+
193
+ ## 3.6.69(2026-01-14)
194
+ improvment: card组件示例改为组合式API
195
+
196
+ ## 3.6.68(2026-01-13)
197
+ fix: 修复list组件在支付宝小程序下scrolltolower无法触发 #422
198
+ ## 3.6.67(2026-01-13)
199
+ fix: 删除经典下拉框的打印
200
+
201
+ ## 3.6.66(2026-01-12)
202
+ fix: 修正 RadioSlots 类型定义
203
+
204
+ ## 3.6.65(2026-01-12)
205
+ fix: 修复u-picker在hasInput下回显异常和vue报错
206
+
207
+ ## 3.6.64(2026-01-12)
208
+ fix: 解决cropper在ios小程序中底部操作栏被遮挡的问题
209
+
210
+ ## 3.6.63(2026-01-10)
211
+ improvment: badge组建示例改为组合式API
212
+
213
+ ## 3.6.62(2026-01-10)
214
+ improvment: alert组件示例改为组合式API
215
+
216
+ ## 3.6.61(2026-01-09)
217
+ improvment: action-sheet组件示例改为组合式API
218
+
219
+ ## 3.6.60(2026-01-09)
220
+ improvment: transition组件示例改为组合式API
221
+
222
+ ## 3.6.59(2026-01-09)
223
+ improvment: swipe-action组件示例改为组合式API
224
+
225
+ ## 3.6.58(2026-01-09)
226
+ improvment: sticky组件示例改为组合式API
227
+
228
+ ## 3.6.57(2026-01-08)
229
+ improvment: 优化完善no-nerwork组件细节
230
+
231
+ ## 3.6.56(2026-01-08)
232
+ fix: 修复signature的t方法
233
+
234
+ ## 3.6.55(2026-01-08)
235
+ perf:补充多处TS声明提示信息 #953
236
+
237
+ ## 3.6.54(2026-01-08)
238
+ fix: 修复slider示例页面变量重复
239
+ ## 3.6.53(2026-01-08)
240
+ fix: 修复qrcode组件鸿蒙兼容
241
+
242
+ ## 3.6.52(2026-01-08)
243
+ fix: nvue下采用webview支持二维码显示logo(因为gcanvas不支持图片渲染)
244
+
245
+ ## 3.6.51(2026-01-08)
246
+ fix: 修复qrcode组件在App不显示logo
247
+
248
+ improvment: qrcode逻辑优化封装
249
+
250
+ ## 3.6.50(2026-01-06)
251
+ improvment: rate组件示例改为组合式API
252
+
253
+ ## 3.6.49(2026-01-06)
254
+ improvment: radio组件示例改为组合式API
255
+
256
+ ## 3.6.48(2026-01-06)
257
+ improvment: popup组件示例改为组合式API
258
+
259
+ ## 3.6.47(2026-01-06)
260
+ improvment: overlay示例改为组合式API
261
+
262
+ ## 3.6.46(2026-01-05)
263
+ improvment: loading-page组建示例改为组合式API
264
+
265
+ ## 3.6.45(2026-01-05)
266
+ improvment: loading-icon组件示例改为组合式API
267
+
268
+ ## 3.6.44(2026-01-05)
269
+ improvment: link组件示例改为组合式API
270
+
271
+ ## 3.6.43(2026-01-05)
272
+ improvment: line组件示例改为组合式API
273
+
274
+ ## 3.6.42(2026-01-04)
275
+ improvment: layzload组件示例改为组合式API
276
+
277
+ ## 3.6.41(2026-01-04)
278
+ fix: 修复select组件缺少mixin
279
+
280
+ ## 3.6.40(2026-01-04)
281
+ improvment: 去除ReadmeQQ群链接
282
+
283
+ ## 3.6.39(2026-01-04)
284
+ improvment: image组件示例改为组合式API
285
+
286
+ ## 3.6.38(2026-01-03)
287
+ improvment: icon示例改为组合式API
288
+
289
+ ## 3.6.37(2025-12-31)
290
+ improvment: 静态资源修复
291
+
292
+ ## 3.6.36(2025-12-30)
293
+ improvment: grid示例改为组合式API
294
+
295
+ ## 3.6.35(2025-12-25)
296
+ fix: 修复grid布局由于内容溢出导致形变
297
+
298
+ ## 3.6.34(2025-12-24)
299
+ fix: modal组件asyncCloseTip多语言key未对应
300
+
301
+ ## 3.6.33(2025-12-23)
302
+ fix: 提升$parent方法兼容性修复表单验证失效
303
+
304
+ ## 3.6.32(2025-12-21)
305
+ improvment: 优化slider、search、steps等组件细节
306
+
307
+ ## 3.6.31(2025-12-19)
308
+ improvment: 优化search组件等
309
+
310
+ ## 3.6.30(2025-12-19)
311
+ improvment: 优化完善部分文件注释
312
+
1
313
  ## 3.6.29(2025-12-18)
2
314
  fix: 修复语法错
3
315
  ## 3.6.28(2025-12-18)
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
6
  * @LastAuthor : jry
7
7
  * @lastTime : 2025-08-16 16:32:24
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:49:22
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatar.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/avatar.js
9
9
  */
10
10
  export default {
11
11
  // avatar 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:49:55
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/avatarGroup.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/avatarGroup.js
9
9
  */
10
10
  export default {
11
11
  // avatarGroup 组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:50:18
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/backtop.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/backtop.js
9
9
  */
10
10
  export default {
11
11
  // backtop组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-23 19:51:50
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/badge.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/badge.js
9
9
  */
10
10
  export default {
11
11
  // 徽标数组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:51:27
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/button.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/button.js
9
9
  */
10
10
  export default {
11
11
  // button组件
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:52:43
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/calendar.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/calendar.js
9
9
  */
10
10
  import { t } from '../../libs/i18n'
11
11
  export default {
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <view class="u-canvas"
3
+ :id="rootId"
4
+ :style="{
5
+ width: useRootHeightAndWidth ? '100%' : 'auto',
6
+ height: useRootHeightAndWidth ? '100%' : 'auto',
7
+ }">
8
+ <!-- #ifdef MP || H5 -->
9
+ <canvas
10
+ class="u-canvas__canvas"
11
+ :id="cid"
12
+ :canvas-id="cid"
13
+ type="2d"
14
+ :style="{ width: sizeLocal + unit, height: sizeLocal + unit }" />
15
+ <!-- #endif -->
16
+
17
+ <!-- #ifdef APP-PLUS -->
18
+ <canvas
19
+ class="u-canvas__canvas"
20
+ :id="cid"
21
+ :canvas-id="cid"
22
+ :style="{ width: width + unit, height: height + unit }" />
23
+ <!-- #endif -->
24
+
25
+ <!-- #ifdef APP-NVUE -->
26
+ <gcanvas class="u-canvas__canvas" ref="gcanvess"
27
+ :style="{ width: width + unit, height: height + unit }">
28
+ </gcanvas>
29
+ </view>
30
+ </template>
31
+
32
+ <script>
33
+ // #ifdef APP-NVUE
34
+ // https://github.com/dcloudio/NvueCanvasDemo/blob/master/README.md
35
+ import {
36
+ enable,
37
+ WeexBridge,
38
+ Image as GImage
39
+ } from '../../libs/util/gcanvas/index.js';
40
+ // #endif
41
+ // 20260201不能在data中存储canvas,否则会导致在微信小程序getContext获取不到canvas对象报错Cannot read property 'type'
42
+ let canvas = null
43
+ export default {
44
+ name: "u-canvas",
45
+ props: {
46
+ cid: {
47
+ type: String,
48
+ default: () => {
49
+ return `u-qrcode-canvas${Math.floor(Math.random() * 1000000)}`
50
+ }
51
+ },
52
+ width: {
53
+ type: [String, Number],
54
+ default: 300
55
+ },
56
+ height: {
57
+ type: [String, Number],
58
+ default: 300
59
+ },
60
+ unit: {
61
+ type: String,
62
+ default: 'px'
63
+ },
64
+ },
65
+ data() {
66
+ return {
67
+ rootId: `rootId${Number(Math.random() * 100).toFixed(0)}`,
68
+ ganvas: null,
69
+ canvasContext: null,
70
+ widthLocal: this.width,
71
+ heightLocal: this.height,
72
+ };
73
+ },
74
+ methods: {
75
+ /**
76
+ * 获取节点
77
+ * @param id 节点id
78
+ * @param isCanvas 是否为Canvas节点
79
+ * @return {Promise<unknown>}
80
+ */
81
+ async getCanvasNode(id, isCanvas = true) {
82
+ let that = this
83
+ return new Promise((resolve, reject) => {
84
+ try {
85
+ // #ifdef APP-NVUE
86
+ setTimeout(() => {
87
+ /*获取元素引用*/
88
+ this.ganvas = this.$refs["gcanvess"]
89
+ /*通过元素引用获取canvas对象*/
90
+ let canvasNode = enable(this.ganvas, {
91
+ bridge: WeexBridge
92
+ })
93
+ resolve(canvasNode)
94
+ }, 200)
95
+ // #endif
96
+ // #ifndef APP-PLUS-NVUE
97
+ const query = uni.createSelectorQuery().in(that).select(`#${id}`);
98
+ query.fields({
99
+ node: true,
100
+ size: true
101
+ })
102
+ .exec((res) => {
103
+ if (isCanvas) {
104
+ if (res[0]?.node) {
105
+ resolve(res[0].node)
106
+ } else {
107
+ resolve(false)
108
+ console.error("获取节点出错", res)
109
+ }
110
+ } else {
111
+ resolve(res[0])
112
+ }
113
+ })
114
+ // #endif
115
+ } catch (e) {
116
+ console.error("获取节点失败", e)
117
+ }
118
+ })
119
+ },
120
+ getUPCanvasContext() {
121
+ // #ifdef APP-PLUS
122
+ return uni.createCanvasContext(this.cid, this);
123
+ // #endif
124
+ // #ifdef APP-PLUS-NVUE || MP || H5
125
+ return canvas.getContext('2d');
126
+ // #endif
127
+ },
128
+ /**
129
+ * 使用根节点宽高 设置新的size
130
+ * @return {Promise<void>}
131
+ */
132
+ async setNewSize(){
133
+ const rootNode = await this.getCanvasNode(this.rootId, false);
134
+ const { width , height } = rootNode;
135
+ this.widthLocal = height
136
+ this.heightLocal = width
137
+ },
138
+ },
139
+ async mounted() {
140
+ // 如果使用根节点的宽高 则 重新设置 size
141
+ if(this.useRootHeightAndWidth){
142
+ await this.setNewSize()
143
+ }
144
+ }
145
+ };
146
+ </script>
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author : LQ
3
3
  * @Description :
4
- * @version : 1.0
4
+ * @version : 3.0
5
5
  * @Date : 2021-08-20 16:44:21
6
- * @LastAuthor : LQ
7
- * @lastTime : 2021-08-20 16:53:20
8
- * @FilePath : /u-view2.0/uview-ui/libs/config/props/carKeyboard.js
6
+ * @LastAuthor : jry
7
+ * @lastTime : 2025-12-19 08:55:21
8
+ * @FilePath : /uview-plus/libs/config/props/carKeyboard.js
9
9
  */
10
10
  export default {
11
11
  // 车牌号键盘