@10yun/cv-mobile-ui 0.5.27 → 0.5.29

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 (681) hide show
  1. package/build/parse-pages.js +50 -14
  2. package/build/parse-pages2.js +11 -10
  3. package/other/uParse/components/wxParseAudio.vue +1 -1
  4. package/other/uParse/components/wxParseVideo.vue +1 -1
  5. package/package.json +1 -1
  6. package/plugins/request.js +84 -69
  7. package/ui-cv/components/cv-btn-base/cv-btn-base.vue +66 -14
  8. package/ui-cv/components/cv-code-sms/cv-code-sms.vue +22 -15
  9. package/ui-cv/components/cv-date-base/cv-date-base.vue +1 -1
  10. package/ui-cv/components/cv-input-text/input.css +13 -0
  11. package/ui-cv/components/cv-picker1/cv-picker1.vue +1 -1
  12. package/uni-ui/lib/uni-icons/changelog.md +22 -0
  13. package/uni-ui/lib/uni-icons/package.json +42 -0
  14. package/uni-ui/lib/uni-icons/readme.md +8 -0
  15. package/uview-plus/LICENSE +1 -1
  16. package/uview-plus/README.md +22 -12
  17. package/uview-plus/changelog.md +752 -0
  18. package/uview-plus/components/u--form/u--form.vue +1 -1
  19. package/uview-plus/components/u--image/u--image.vue +1 -1
  20. package/uview-plus/components/u--input/u--input.vue +3 -3
  21. package/uview-plus/components/u--text/u--text.vue +1 -1
  22. package/uview-plus/components/u--textarea/u--textarea.vue +1 -1
  23. package/uview-plus/{libs/config/props → components/u-action-sheet}/actionSheet.js +3 -2
  24. package/uview-plus/components/u-action-sheet/props.js +20 -13
  25. package/uview-plus/components/u-action-sheet/style.css +18 -4
  26. package/uview-plus/components/u-action-sheet/style.scss +2 -2
  27. package/uview-plus/components/u-action-sheet/u-action-sheet.vue +21 -13
  28. package/uview-plus/components/u-action-sheet-data/style.css +10 -0
  29. package/uview-plus/components/u-action-sheet-data/style.scss +12 -0
  30. package/uview-plus/components/u-action-sheet-data/u-action-sheet-data.vue +94 -0
  31. package/uview-plus/{libs/config/props → components/u-album}/album.js +5 -2
  32. package/uview-plus/components/u-album/props.js +40 -14
  33. package/uview-plus/components/u-album/style.css +16 -2
  34. package/uview-plus/components/u-album/style.scss +0 -1
  35. package/uview-plus/components/u-album/u-album.vue +55 -30
  36. package/uview-plus/components/u-alert/props.js +12 -11
  37. package/uview-plus/components/u-alert/style.css +17 -2
  38. package/uview-plus/components/u-alert/u-alert.vue +12 -6
  39. package/uview-plus/components/u-avatar/props.js +20 -18
  40. package/uview-plus/components/u-avatar/style.css +18 -2
  41. package/uview-plus/components/u-avatar/style.scss +1 -0
  42. package/uview-plus/components/u-avatar/u-avatar.vue +20 -15
  43. package/uview-plus/{libs/config/props → components/u-avatar-group}/avatarGroup.js +1 -1
  44. package/uview-plus/components/u-avatar-group/props.js +13 -12
  45. package/uview-plus/components/u-avatar-group/style.css +17 -2
  46. package/uview-plus/components/u-avatar-group/u-avatar-group.vue +2 -73
  47. package/uview-plus/{libs/config/props → components/u-back-top}/backtop.js +2 -2
  48. package/uview-plus/components/u-back-top/props.js +14 -13
  49. package/uview-plus/components/u-back-top/style.css +17 -2
  50. package/uview-plus/components/u-back-top/u-back-top.vue +11 -9
  51. package/uview-plus/{libs/config/props → components/u-badge}/badge.js +1 -1
  52. package/uview-plus/components/u-badge/props.js +18 -17
  53. package/uview-plus/components/u-badge/style.css +17 -2
  54. package/uview-plus/components/u-badge/u-badge.vue +11 -7
  55. package/uview-plus/components/u-box/props.js +27 -0
  56. package/uview-plus/components/u-box/style.css +77 -0
  57. package/uview-plus/components/u-box/style.scss +38 -0
  58. package/uview-plus/components/u-box/u-box.vue +3 -0
  59. package/uview-plus/{libs/config/props → components/u-button}/button.js +2 -1
  60. package/uview-plus/components/u-button/nvue-parse.scss +2 -2
  61. package/uview-plus/components/u-button/props.js +37 -40
  62. package/uview-plus/components/u-button/style.css +21 -5
  63. package/uview-plus/components/u-button/u-button.vue +32 -21
  64. package/uview-plus/components/u-button/vue-parse.scss +4 -3
  65. package/uview-plus/components/u-button/vue.scss +9 -8
  66. package/uview-plus/{libs/config/props → components/u-calendar}/calendar.js +7 -4
  67. package/uview-plus/components/u-calendar/header.vue +3 -1
  68. package/uview-plus/components/u-calendar/month.vue +43 -19
  69. package/uview-plus/components/u-calendar/props.js +45 -30
  70. package/uview-plus/components/u-calendar/style.css +17 -2
  71. package/uview-plus/components/u-calendar/u-calendar.vue +53 -17
  72. package/uview-plus/components/u-car-keyboard/props.js +5 -3
  73. package/uview-plus/components/u-car-keyboard/style.css +18 -3
  74. package/uview-plus/components/u-car-keyboard/u-car-keyboard.vue +205 -1
  75. package/uview-plus/components/u-card/card.js +40 -0
  76. package/uview-plus/components/u-card/props.js +134 -0
  77. package/uview-plus/components/u-card/style.css +60 -0
  78. package/uview-plus/components/u-card/style.scss +47 -0
  79. package/uview-plus/components/u-card/u-card.vue +3 -0
  80. package/uview-plus/components/u-cate-tab/style.css +97 -0
  81. package/uview-plus/components/u-cate-tab/style.scss +114 -0
  82. package/uview-plus/components/u-cate-tab/u-cate-tab.vue +3 -0
  83. package/uview-plus/components/u-cell/props.js +24 -23
  84. package/uview-plus/components/u-cell/style.css +43 -3
  85. package/uview-plus/components/u-cell/style.scss +25 -2
  86. package/uview-plus/components/u-cell/u-cell.vue +44 -31
  87. package/uview-plus/components/u-cell-group/props.js +6 -5
  88. package/uview-plus/components/u-cell-group/style.css +17 -2
  89. package/uview-plus/components/u-cell-group/u-cell-group.vue +10 -6
  90. package/uview-plus/components/u-checkbox/props.js +22 -16
  91. package/uview-plus/components/u-checkbox/style.css +17 -2
  92. package/uview-plus/components/u-checkbox/u-checkbox.vue +87 -57
  93. package/uview-plus/{libs/config/props → components/u-checkbox-group}/checkboxGroup.js +1 -1
  94. package/uview-plus/components/u-checkbox-group/props.js +21 -19
  95. package/uview-plus/components/u-checkbox-group/style.css +17 -2
  96. package/uview-plus/components/u-checkbox-group/u-checkbox-group.vue +5 -5
  97. package/uview-plus/components/u-circle-progress/props.js +5 -4
  98. package/uview-plus/components/u-circle-progress/style.css +23 -8
  99. package/uview-plus/components/u-circle-progress/u-circle-progress.vue +5 -4
  100. package/uview-plus/components/u-code/props.js +10 -9
  101. package/uview-plus/components/u-code/style.css +17 -2
  102. package/uview-plus/components/u-code/u-code.vue +6 -5
  103. package/uview-plus/components/u-code-input/props.js +28 -18
  104. package/uview-plus/components/u-code-input/style.css +22 -6
  105. package/uview-plus/components/u-code-input/style.scss +5 -4
  106. package/uview-plus/components/u-code-input/u-code-input.vue +57 -11
  107. package/uview-plus/components/u-col/props.js +9 -8
  108. package/uview-plus/components/u-col/style.css +29 -14
  109. package/uview-plus/components/u-col/u-col.vue +10 -8
  110. package/uview-plus/components/u-collapse/props.js +7 -6
  111. package/uview-plus/components/u-collapse/style.css +17 -2
  112. package/uview-plus/components/u-collapse/u-collapse.vue +4 -3
  113. package/uview-plus/{libs/config/props → components/u-collapse-item}/collapseItem.js +7 -1
  114. package/uview-plus/components/u-collapse-item/props.js +51 -14
  115. package/uview-plus/components/u-collapse-item/style.css +17 -2
  116. package/uview-plus/components/u-collapse-item/u-collapse-item.vue +3 -1
  117. package/uview-plus/{libs/config/props → components/u-column-notice}/columnNotice.js +2 -1
  118. package/uview-plus/components/u-column-notice/props.js +18 -13
  119. package/uview-plus/components/u-column-notice/style.css +17 -2
  120. package/uview-plus/components/u-column-notice/u-column-notice.vue +15 -7
  121. package/uview-plus/components/u-copy/u-copy.vue +1 -0
  122. package/uview-plus/components/u-count-down/props.js +8 -7
  123. package/uview-plus/components/u-count-down/style.css +17 -2
  124. package/uview-plus/components/u-count-down/u-count-down.vue +146 -1
  125. package/uview-plus/components/u-count-to/props.js +15 -14
  126. package/uview-plus/components/u-count-to/style.css +17 -2
  127. package/uview-plus/components/u-count-to/u-count-to.vue +7 -4
  128. package/uview-plus/{libs/config/props → components/u-datetime-picker}/datetimePicker.js +7 -1
  129. package/uview-plus/components/u-datetime-picker/props.js +68 -26
  130. package/uview-plus/components/u-datetime-picker/style.css +42 -1
  131. package/uview-plus/components/u-datetime-picker/style.scss +26 -0
  132. package/uview-plus/components/u-datetime-picker/u-datetime-picker.vue +140 -40
  133. package/uview-plus/components/u-divider/props.js +12 -11
  134. package/uview-plus/components/u-divider/style.css +17 -2
  135. package/uview-plus/components/u-divider/u-divider.vue +8 -5
  136. package/uview-plus/components/u-dropdown/props.js +12 -17
  137. package/uview-plus/components/u-dropdown/style.css +63 -3
  138. package/uview-plus/components/u-dropdown/style.scss +68 -18
  139. package/uview-plus/components/u-dropdown/u-dropdown.vue +208 -1
  140. package/uview-plus/components/u-dropdown-item/props.js +47 -37
  141. package/uview-plus/components/u-dropdown-item/style.css +19 -6
  142. package/uview-plus/components/u-dropdown-item/style.scss +4 -9
  143. package/uview-plus/components/u-dropdown-item/u-dropdown-item.vue +126 -1
  144. package/uview-plus/components/u-empty/props.js +15 -14
  145. package/uview-plus/components/u-empty/style.css +17 -2
  146. package/uview-plus/components/u-empty/u-empty.vue +12 -8
  147. package/uview-plus/components/u-float-button/style.css +41 -0
  148. package/uview-plus/components/u-float-button/style.scss +17 -0
  149. package/uview-plus/components/u-float-button/u-float-button.vue +164 -0
  150. package/uview-plus/{libs/config/props → components/u-form}/form.js +3 -3
  151. package/uview-plus/components/u-form/props.js +12 -11
  152. package/uview-plus/components/u-form/u-form.vue +1 -1
  153. package/uview-plus/{libs/config/props → components/u-form-item}/formItem.js +2 -0
  154. package/uview-plus/components/u-form-item/props.js +22 -11
  155. package/uview-plus/components/u-form-item/style.css +17 -4
  156. package/uview-plus/components/u-form-item/style.scss +0 -2
  157. package/uview-plus/components/u-form-item/u-form-item.vue +42 -15
  158. package/uview-plus/components/u-gap/props.js +8 -7
  159. package/uview-plus/components/u-gap/style.css +17 -2
  160. package/uview-plus/components/u-gap/u-gap.vue +8 -7
  161. package/uview-plus/components/u-grid/props.js +12 -6
  162. package/uview-plus/components/u-grid/style.css +23 -3
  163. package/uview-plus/components/u-grid/style.scss +8 -1
  164. package/uview-plus/components/u-grid/u-grid.vue +11 -4
  165. package/uview-plus/components/u-grid-item/props.js +6 -5
  166. package/uview-plus/components/u-grid-item/style.css +17 -2
  167. package/uview-plus/components/u-grid-item/u-grid-item.vue +17 -14
  168. package/uview-plus/{libs/config/props → components/u-icon}/icon.js +1 -1
  169. package/uview-plus/components/u-icon/props.js +21 -20
  170. package/uview-plus/components/u-icon/style.css +19 -4
  171. package/uview-plus/components/u-icon/style.scss +2 -3
  172. package/uview-plus/components/u-icon/u-icon.vue +85 -34
  173. package/uview-plus/components/u-image/props.js +20 -19
  174. package/uview-plus/components/u-image/style.css +17 -2
  175. package/uview-plus/components/u-image/u-image.vue +59 -24
  176. package/uview-plus/components/u-index-anchor/props.js +9 -8
  177. package/uview-plus/components/u-index-anchor/style.css +17 -2
  178. package/uview-plus/components/u-index-anchor/u-index-anchor.vue +12 -10
  179. package/uview-plus/components/u-index-item/props.js +5 -3
  180. package/uview-plus/components/u-index-item/style.css +17 -2
  181. package/uview-plus/components/u-index-item/u-index-item.vue +7 -6
  182. package/uview-plus/{libs/config/props → components/u-index-list}/indexList.js +3 -2
  183. package/uview-plus/components/u-index-list/props.js +14 -8
  184. package/uview-plus/components/u-index-list/style.css +19 -3
  185. package/uview-plus/components/u-index-list/style.scss +2 -1
  186. package/uview-plus/components/u-index-list/u-index-list.vue +193 -60
  187. package/uview-plus/{libs/config/props → components/u-input}/input.js +1 -1
  188. package/uview-plus/components/u-input/props.js +40 -38
  189. package/uview-plus/components/u-input/style.css +17 -2
  190. package/uview-plus/components/u-input/u-input.vue +70 -54
  191. package/uview-plus/components/u-keyboard/props.js +20 -19
  192. package/uview-plus/components/u-keyboard/style.css +17 -2
  193. package/uview-plus/components/u-keyboard/u-keyboard.vue +4 -3
  194. package/uview-plus/components/u-lazy-load/style.css +38 -0
  195. package/uview-plus/components/u-lazy-load/style.scss +17 -0
  196. package/uview-plus/components/u-lazy-load/u-lazy-load.vue +3 -0
  197. package/uview-plus/components/u-line/props.js +10 -9
  198. package/uview-plus/components/u-line/style.css +17 -2
  199. package/uview-plus/components/u-line/u-line.vue +7 -6
  200. package/uview-plus/components/u-line-progress/props.js +9 -8
  201. package/uview-plus/components/u-line-progress/style.css +17 -2
  202. package/uview-plus/components/u-line-progress/u-line-progress.vue +11 -8
  203. package/uview-plus/{libs/config/props → components/u-link}/link.js +1 -1
  204. package/uview-plus/components/u-link/props.js +11 -10
  205. package/uview-plus/components/u-link/style.css +17 -2
  206. package/uview-plus/components/u-link/u-link.vue +10 -7
  207. package/uview-plus/components/u-list/props.js +43 -18
  208. package/uview-plus/components/u-list/style.css +17 -2
  209. package/uview-plus/components/u-list/u-list.vue +41 -10
  210. package/uview-plus/components/u-list-item/props.js +5 -4
  211. package/uview-plus/components/u-list-item/style.css +17 -2
  212. package/uview-plus/components/u-list-item/u-list-item.vue +5 -4
  213. package/uview-plus/{libs/config/props → components/u-loading-icon}/loadingIcon.js +1 -1
  214. package/uview-plus/components/u-loading-icon/props.js +15 -14
  215. package/uview-plus/components/u-loading-icon/style.css +21 -5
  216. package/uview-plus/components/u-loading-icon/style.scss +3 -3
  217. package/uview-plus/components/u-loading-icon/u-loading-icon.vue +3 -1
  218. package/uview-plus/{libs/config/props → components/u-loading-page}/loadingPage.js +2 -1
  219. package/uview-plus/components/u-loading-page/props.js +19 -12
  220. package/uview-plus/components/u-loading-page/style.css +19 -4
  221. package/uview-plus/components/u-loading-page/u-loading-page.vue +15 -9
  222. package/uview-plus/components/u-loadmore/props.js +22 -21
  223. package/uview-plus/components/u-loadmore/style.css +17 -2
  224. package/uview-plus/components/u-loadmore/u-loadmore.vue +13 -9
  225. package/uview-plus/components/u-mask/u-mask.vue +122 -0
  226. package/uview-plus/{libs/config/props → components/u-modal}/modal.js +5 -1
  227. package/uview-plus/components/u-modal/props.js +40 -19
  228. package/uview-plus/components/u-modal/style.css +21 -2
  229. package/uview-plus/components/u-modal/style.scss +69 -65
  230. package/uview-plus/components/u-modal/u-modal.vue +184 -1
  231. package/uview-plus/{libs/config/props → components/u-navbar}/navbar.js +2 -1
  232. package/uview-plus/components/u-navbar/props.js +26 -19
  233. package/uview-plus/components/u-navbar/style.css +17 -2
  234. package/uview-plus/components/u-navbar/u-navbar.vue +25 -12
  235. package/uview-plus/components/u-navbar-mini/props.js +51 -0
  236. package/uview-plus/components/u-navbar-mini/style.css +60 -0
  237. package/uview-plus/components/u-navbar-mini/style.scss +38 -0
  238. package/uview-plus/components/u-navbar-mini/u-navbar-mini.vue +89 -0
  239. package/uview-plus/components/u-no-network/props.js +7 -6
  240. package/uview-plus/components/u-no-network/style.css +17 -2
  241. package/uview-plus/components/u-no-network/u-no-network.vue +8 -6
  242. package/uview-plus/{libs/config/props → components/u-notice-bar}/noticeBar.js +3 -2
  243. package/uview-plus/components/u-notice-bar/props.js +21 -16
  244. package/uview-plus/components/u-notice-bar/style.css +17 -2
  245. package/uview-plus/components/u-notice-bar/u-notice-bar.vue +10 -4
  246. package/uview-plus/components/u-notify/props.js +13 -12
  247. package/uview-plus/components/u-notify/style.css +17 -2
  248. package/uview-plus/components/u-notify/u-notify.vue +20 -16
  249. package/uview-plus/{libs/config/props → components/u-number-box}/numberBox.js +5 -1
  250. package/uview-plus/components/u-number-box/props.js +46 -25
  251. package/uview-plus/components/u-number-box/style.css +17 -2
  252. package/uview-plus/components/u-number-box/u-number-box.vue +72 -35
  253. package/uview-plus/components/u-number-keyboard/props.js +7 -6
  254. package/uview-plus/components/u-number-keyboard/style.css +19 -4
  255. package/uview-plus/components/u-number-keyboard/u-number-keyboard.vue +9 -6
  256. package/uview-plus/components/u-overlay/props.js +8 -7
  257. package/uview-plus/components/u-overlay/style.css +17 -2
  258. package/uview-plus/components/u-overlay/u-overlay.vue +14 -5
  259. package/uview-plus/components/u-parse/node/node.vue +12 -4
  260. package/uview-plus/components/u-parse/parser.js +1337 -1333
  261. package/uview-plus/components/u-parse/props.js +48 -47
  262. package/uview-plus/components/u-parse/u-parse.vue +6 -6
  263. package/uview-plus/{libs/config/props → components/u-picker}/picker.js +10 -4
  264. package/uview-plus/components/u-picker/props.js +60 -18
  265. package/uview-plus/components/u-picker/style.css +29 -2
  266. package/uview-plus/components/u-picker/style.scss +12 -1
  267. package/uview-plus/components/u-picker/u-picker.vue +174 -58
  268. package/uview-plus/components/u-picker-column/props.js +4 -3
  269. package/uview-plus/components/u-picker-column/style.css +17 -2
  270. package/uview-plus/components/u-picker-column/u-picker-column.vue +3 -3
  271. package/uview-plus/components/u-picker-data/style.css +10 -0
  272. package/uview-plus/components/u-picker-data/style.scss +12 -0
  273. package/uview-plus/components/u-picker-data/u-picker-data.vue +110 -0
  274. package/uview-plus/{libs/config/props → components/u-popup}/popup.js +1 -1
  275. package/uview-plus/components/u-popup/props.js +19 -18
  276. package/uview-plus/components/u-popup/style.css +27 -2
  277. package/uview-plus/components/u-popup/style.scss +86 -75
  278. package/uview-plus/components/u-popup/u-popup.vue +250 -1
  279. package/uview-plus/components/u-qrcode/qrcode.js +1235 -0
  280. package/uview-plus/components/u-qrcode/style.css +20 -0
  281. package/uview-plus/components/u-qrcode/style.scss +23 -0
  282. package/uview-plus/components/u-qrcode/u-qrcode.vue +3 -0
  283. package/uview-plus/components/u-radio/props.js +17 -16
  284. package/uview-plus/components/u-radio/style.css +17 -2
  285. package/uview-plus/components/u-radio/u-radio.vue +32 -27
  286. package/uview-plus/components/u-radio-group/props.js +26 -20
  287. package/uview-plus/{libs/config/props → components/u-radio-group}/radioGroup.js +4 -3
  288. package/uview-plus/components/u-radio-group/style.css +17 -2
  289. package/uview-plus/components/u-radio-group/u-radio-group.vue +12 -4
  290. package/uview-plus/components/u-rate/props.js +18 -17
  291. package/uview-plus/components/u-rate/style.css +17 -2
  292. package/uview-plus/components/u-rate/u-rate.vue +17 -14
  293. package/uview-plus/components/u-read-more/props.js +12 -11
  294. package/uview-plus/components/u-read-more/style.css +18 -2
  295. package/uview-plus/components/u-read-more/style.scss +23 -22
  296. package/uview-plus/components/u-read-more/u-read-more.vue +2 -118
  297. package/uview-plus/components/u-row/props.js +7 -6
  298. package/uview-plus/components/u-row/style.css +17 -2
  299. package/uview-plus/components/u-row/u-row.vue +9 -7
  300. package/uview-plus/components/u-row-notice/props.js +11 -10
  301. package/uview-plus/components/u-row-notice/style.css +18 -2
  302. package/uview-plus/components/u-row-notice/style.scss +1 -0
  303. package/uview-plus/components/u-row-notice/u-row-notice.vue +17 -15
  304. package/uview-plus/components/u-safe-bottom/props.js +5 -3
  305. package/uview-plus/components/u-safe-bottom/u-safe-bottom.vue +3 -1
  306. package/uview-plus/components/u-scroll-list/nvue.js +1 -3
  307. package/uview-plus/components/u-scroll-list/props.js +10 -9
  308. package/uview-plus/components/u-scroll-list/style.css +18 -2
  309. package/uview-plus/components/u-scroll-list/style.scss +2 -0
  310. package/uview-plus/components/u-scroll-list/u-scroll-list.vue +17 -12
  311. package/uview-plus/components/u-search/props.js +42 -27
  312. package/uview-plus/{libs/config/props → components/u-search}/search.js +3 -2
  313. package/uview-plus/components/u-search/style.css +23 -2
  314. package/uview-plus/components/u-search/style.scss +8 -0
  315. package/uview-plus/components/u-search/u-search.vue +22 -8
  316. package/uview-plus/components/u-select/style.css +45 -0
  317. package/uview-plus/components/u-select/style.scss +47 -0
  318. package/uview-plus/components/u-select/u-select.vue +3 -0
  319. package/uview-plus/components/u-skeleton/props.js +15 -14
  320. package/uview-plus/components/u-skeleton/style.css +17 -2
  321. package/uview-plus/components/u-skeleton/u-skeleton.vue +22 -19
  322. package/uview-plus/components/u-slider/mpwxs.js +2 -1
  323. package/uview-plus/components/u-slider/nvue.js +2 -1
  324. package/uview-plus/components/u-slider/props.js +50 -14
  325. package/uview-plus/{libs/config/props → components/u-slider}/slider.js +3 -1
  326. package/uview-plus/components/u-slider/style.css +81 -1
  327. package/uview-plus/components/u-slider/style.scss +76 -0
  328. package/uview-plus/components/u-slider/u-slider.vue +446 -1
  329. package/uview-plus/components/u-status-bar/props.js +10 -4
  330. package/uview-plus/{libs/config/props → components/u-status-bar}/statusBar.js +2 -1
  331. package/uview-plus/components/u-status-bar/u-status-bar.vue +23 -8
  332. package/uview-plus/components/u-steps/props.js +11 -10
  333. package/uview-plus/components/u-steps/style.css +21 -2
  334. package/uview-plus/components/u-steps/style.scss +4 -0
  335. package/uview-plus/components/u-steps/u-steps.vue +9 -5
  336. package/uview-plus/components/u-steps-item/props.js +13 -7
  337. package/uview-plus/components/u-steps-item/style.css +19 -3
  338. package/uview-plus/components/u-steps-item/style.scss +3 -2
  339. package/uview-plus/components/u-steps-item/u-steps-item.vue +53 -25
  340. package/uview-plus/components/u-sticky/props.js +10 -9
  341. package/uview-plus/components/u-sticky/u-sticky.vue +21 -14
  342. package/uview-plus/components/u-subsection/props.js +13 -12
  343. package/uview-plus/components/u-subsection/style.css +31 -16
  344. package/uview-plus/components/u-subsection/style.scss +13 -13
  345. package/uview-plus/components/u-subsection/u-subsection.vue +35 -22
  346. package/uview-plus/components/u-swipe-action/props.js +10 -4
  347. package/uview-plus/components/u-swipe-action/u-swipe-action.vue +18 -3
  348. package/uview-plus/components/u-swipe-action-item/alipay.sjs +229 -0
  349. package/uview-plus/components/u-swipe-action-item/index.wxs +20 -15
  350. package/uview-plus/components/u-swipe-action-item/nvue - backup.js +3 -2
  351. package/uview-plus/components/u-swipe-action-item/nvue.js +4 -3
  352. package/uview-plus/components/u-swipe-action-item/other.js +178 -0
  353. package/uview-plus/components/u-swipe-action-item/props.js +15 -10
  354. package/uview-plus/components/u-swipe-action-item/style.css +18 -2
  355. package/uview-plus/components/u-swipe-action-item/style.scss +1 -0
  356. package/uview-plus/{libs/config/props → components/u-swipe-action-item}/swipeActionItem.js +1 -0
  357. package/uview-plus/components/u-swipe-action-item/u-swipe-action-item.vue +85 -28
  358. package/uview-plus/components/u-swiper/props.js +28 -27
  359. package/uview-plus/components/u-swiper/style.css +20 -2
  360. package/uview-plus/components/u-swiper/style.scss +3 -0
  361. package/uview-plus/{libs/config/props → components/u-swiper}/swiper.js +1 -1
  362. package/uview-plus/components/u-swiper/u-swiper.vue +63 -52
  363. package/uview-plus/components/u-swiper-indicator/props.js +9 -8
  364. package/uview-plus/components/u-swiper-indicator/style.css +17 -2
  365. package/uview-plus/components/u-swiper-indicator/u-swiper-indicator.vue +10 -6
  366. package/uview-plus/components/u-switch/props.js +15 -14
  367. package/uview-plus/components/u-switch/style.css +17 -2
  368. package/uview-plus/components/u-switch/u-switch.vue +16 -14
  369. package/uview-plus/components/u-tabbar/props.js +13 -11
  370. package/uview-plus/components/u-tabbar/style.css +17 -2
  371. package/uview-plus/components/u-tabbar/u-tabbar.vue +6 -5
  372. package/uview-plus/components/u-tabbar-item/props.js +10 -9
  373. package/uview-plus/components/u-tabbar-item/style.css +22 -2
  374. package/uview-plus/components/u-tabbar-item/style.scss +5 -0
  375. package/uview-plus/components/u-tabbar-item/u-tabbar-item.vue +8 -5
  376. package/uview-plus/components/u-table/props.js +4 -3
  377. package/uview-plus/components/u-table/style.css +17 -2
  378. package/uview-plus/components/u-table/u-table.vue +3 -3
  379. package/uview-plus/components/u-tabs/props.js +21 -15
  380. package/uview-plus/components/u-tabs/style.css +22 -3
  381. package/uview-plus/components/u-tabs/style.scss +5 -1
  382. package/uview-plus/{libs/config/props → components/u-tabs}/tabs.js +9 -8
  383. package/uview-plus/components/u-tabs/u-tabs.vue +78 -24
  384. package/uview-plus/components/u-tabs-item/props.js +4 -3
  385. package/uview-plus/components/u-tabs-item/u-tabs-item.vue +3 -3
  386. package/uview-plus/components/u-tag/props.js +44 -18
  387. package/uview-plus/components/u-tag/style.css +17 -2
  388. package/uview-plus/components/u-tag/tag.js +35 -0
  389. package/uview-plus/components/u-tag/u-tag.vue +177 -1
  390. package/uview-plus/components/u-td/props.js +4 -3
  391. package/uview-plus/components/u-td/style.css +17 -2
  392. package/uview-plus/components/u-td/u-td.vue +3 -3
  393. package/uview-plus/components/u-text/props.js +30 -24
  394. package/uview-plus/components/u-text/style.css +17 -6
  395. package/uview-plus/components/u-text/style.scss +58 -62
  396. package/uview-plus/{libs/config/props → components/u-text}/text.js +4 -3
  397. package/uview-plus/components/u-text/u-text.vue +2 -143
  398. package/uview-plus/components/u-text/value.js +14 -12
  399. package/uview-plus/components/u-textarea/props.js +28 -26
  400. package/uview-plus/components/u-textarea/style.css +17 -2
  401. package/uview-plus/components/u-textarea/u-textarea.vue +2 -221
  402. package/uview-plus/components/u-toast/style.css +18 -3
  403. package/uview-plus/{libs/config/props → components/u-toast}/toast.js +2 -2
  404. package/uview-plus/components/u-toast/u-toast.vue +31 -21
  405. package/uview-plus/components/u-toolbar/props.js +15 -9
  406. package/uview-plus/components/u-toolbar/style.css +24 -2
  407. package/uview-plus/components/u-toolbar/style.scss +5 -0
  408. package/uview-plus/{libs/config/props → components/u-toolbar}/toolbar.js +1 -1
  409. package/uview-plus/components/u-toolbar/u-toolbar.vue +34 -23
  410. package/uview-plus/components/u-tooltip/props.js +15 -14
  411. package/uview-plus/components/u-tooltip/style.css +17 -2
  412. package/uview-plus/{libs/config/props → components/u-tooltip}/tooltip.js +1 -1
  413. package/uview-plus/components/u-tooltip/u-tooltip.vue +22 -44
  414. package/uview-plus/components/u-tr/props.js +4 -3
  415. package/uview-plus/components/u-tr/style.css +16 -1
  416. package/uview-plus/components/u-tr/u-tr.vue +3 -3
  417. package/uview-plus/components/u-transition/props.js +8 -7
  418. package/uview-plus/components/u-transition/style.css +17 -2
  419. package/uview-plus/components/u-transition/transition.js +18 -164
  420. package/uview-plus/components/u-transition/transitionMixin.js +163 -0
  421. package/uview-plus/components/u-transition/u-transition.vue +8 -7
  422. package/uview-plus/components/u-upload/mixin.js +6 -4
  423. package/uview-plus/components/u-upload/props.js +73 -26
  424. package/uview-plus/components/u-upload/style.css +44 -8
  425. package/uview-plus/components/u-upload/style.scss +22 -0
  426. package/uview-plus/components/u-upload/u-upload.vue +463 -106
  427. package/uview-plus/{libs/config/props → components/u-upload}/upload.js +13 -4
  428. package/uview-plus/components/u-upload/utils.js +82 -49
  429. package/uview-plus/components/u-view/style.css +26 -0
  430. package/uview-plus/components/u-view/style.scss +4 -0
  431. package/uview-plus/components/u-view/u-view.vue +3 -0
  432. package/uview-plus/components/u-waterfall/style.css +51 -0
  433. package/uview-plus/components/u-waterfall/style.scss +23 -0
  434. package/uview-plus/components/u-waterfall/u-waterfall.vue +3 -0
  435. package/uview-plus/index.css +2157 -943
  436. package/uview-plus/index.js +89 -21
  437. package/uview-plus/libs/config/config.js +23 -2
  438. package/uview-plus/libs/config/props.js +120 -94
  439. package/uview-plus/libs/css/color-libcss.scss +117 -0
  440. package/uview-plus/libs/css/color.scss +156 -0
  441. package/uview-plus/libs/css/common-libcss.scss +118 -14
  442. package/uview-plus/libs/css/common.scss +27 -12
  443. package/uview-plus/libs/css/components-libcss.scss +16 -1
  444. package/uview-plus/libs/css/components.scss +21 -2
  445. package/uview-plus/libs/css/flex-libcss.scss +1868 -924
  446. package/uview-plus/libs/css/flex.scss +151 -83
  447. package/uview-plus/libs/css/vue-libcss.scss +8 -4
  448. package/uview-plus/libs/css/vue.scss +3 -2
  449. package/uview-plus/libs/function/calc.js +64 -0
  450. package/uview-plus/libs/function/colorGradient.js +8 -8
  451. package/uview-plus/libs/function/debounce.js +2 -2
  452. package/uview-plus/libs/function/digit.js +5 -5
  453. package/uview-plus/libs/function/http.js +4 -0
  454. package/uview-plus/libs/function/index.js +213 -68
  455. package/uview-plus/libs/function/test.js +64 -32
  456. package/uview-plus/libs/function/throttle.js +3 -3
  457. package/uview-plus/libs/luch-request/core/Request.js +1 -0
  458. package/uview-plus/libs/mixin/button.js +6 -2
  459. package/uview-plus/libs/mixin/mixin.js +49 -13
  460. package/uview-plus/libs/mixin/mpMixin.js +6 -2
  461. package/uview-plus/libs/mixin/mpShare.js +24 -10
  462. package/uview-plus/libs/mixin/openType.js +4 -2
  463. package/uview-plus/libs/mixin/style.js +10 -9
  464. package/uview-plus/libs/mixin/touch.js +4 -2
  465. package/uview-plus/libs/util/gcanvas/bridge/bridge-weex.js +241 -0
  466. package/uview-plus/libs/util/gcanvas/context-2d/FillStyleLinearGradient.js +18 -0
  467. package/uview-plus/libs/util/gcanvas/context-2d/FillStylePattern.js +8 -0
  468. package/uview-plus/libs/util/gcanvas/context-2d/FillStyleRadialGradient.js +17 -0
  469. package/uview-plus/libs/util/gcanvas/context-2d/RenderingContext.js +666 -0
  470. package/uview-plus/libs/util/gcanvas/context-webgl/ActiveInfo.js +11 -0
  471. package/uview-plus/libs/util/gcanvas/context-webgl/Buffer.js +21 -0
  472. package/uview-plus/libs/util/gcanvas/context-webgl/Framebuffer.js +21 -0
  473. package/uview-plus/libs/util/gcanvas/context-webgl/GLenum.js +298 -0
  474. package/uview-plus/libs/util/gcanvas/context-webgl/GLmethod.js +142 -0
  475. package/uview-plus/libs/util/gcanvas/context-webgl/GLtype.js +23 -0
  476. package/uview-plus/libs/util/gcanvas/context-webgl/Program.js +21 -0
  477. package/uview-plus/libs/util/gcanvas/context-webgl/Renderbuffer.js +21 -0
  478. package/uview-plus/libs/util/gcanvas/context-webgl/RenderingContext.js +1191 -0
  479. package/uview-plus/libs/util/gcanvas/context-webgl/Shader.js +22 -0
  480. package/uview-plus/libs/util/gcanvas/context-webgl/ShaderPrecisionFormat.js +11 -0
  481. package/uview-plus/libs/util/gcanvas/context-webgl/Texture.js +22 -0
  482. package/uview-plus/libs/util/gcanvas/context-webgl/UniformLocation.js +22 -0
  483. package/uview-plus/libs/util/gcanvas/context-webgl/classUtils.js +3 -0
  484. package/uview-plus/libs/util/gcanvas/env/canvas.js +74 -0
  485. package/uview-plus/libs/util/gcanvas/env/image.js +96 -0
  486. package/uview-plus/libs/util/gcanvas/env/tool.js +24 -0
  487. package/uview-plus/libs/util/gcanvas/index.js +39 -0
  488. package/uview-plus/libs/util/route.js +6 -6
  489. package/uview-plus/libs/vue.js +3 -0
  490. package/uview-plus/package.json +15 -10
  491. package/uview-plus/types/comps/_common.d.ts +9 -0
  492. package/uview-plus/types/comps/actionSheet.d.ts +121 -0
  493. package/uview-plus/types/comps/album.d.ts +82 -0
  494. package/uview-plus/types/comps/alert.d.ts +55 -0
  495. package/uview-plus/types/comps/avatar.d.ts +85 -0
  496. package/uview-plus/types/comps/avatarGroup.d.ts +62 -0
  497. package/uview-plus/types/comps/backTop.d.ts +74 -0
  498. package/uview-plus/types/comps/badge.d.ts +76 -0
  499. package/uview-plus/types/comps/button.d.ts +169 -0
  500. package/uview-plus/types/comps/calendar.d.ts +164 -0
  501. package/uview-plus/types/comps/cell.d.ts +133 -0
  502. package/uview-plus/types/comps/cellGroup.d.ts +27 -0
  503. package/uview-plus/types/comps/checkbox.d.ts +69 -0
  504. package/uview-plus/types/comps/checkboxGroup.d.ts +93 -0
  505. package/uview-plus/types/comps/code.d.ts +69 -0
  506. package/uview-plus/types/comps/codeInput.d.ts +98 -0
  507. package/uview-plus/types/comps/col.d.ts +43 -0
  508. package/uview-plus/types/comps/collapse.d.ts +52 -0
  509. package/uview-plus/types/comps/collapseItem.d.ts +83 -0
  510. package/uview-plus/types/comps/countDown.d.ts +60 -0
  511. package/uview-plus/types/comps/countTo.d.ts +88 -0
  512. package/uview-plus/types/comps/datetimePicker.d.ts +146 -0
  513. package/uview-plus/types/comps/divider.d.ts +58 -0
  514. package/uview-plus/types/comps/empty.d.ts +72 -0
  515. package/uview-plus/types/comps/form.d.ts +76 -0
  516. package/uview-plus/types/comps/formItem.d.ts +68 -0
  517. package/uview-plus/types/comps/gap.d.ts +35 -0
  518. package/uview-plus/types/comps/grid.d.ts +34 -0
  519. package/uview-plus/types/comps/gridItem.d.ts +28 -0
  520. package/uview-plus/types/comps/icon.d.ts +93 -0
  521. package/uview-plus/types/comps/image.d.ts +119 -0
  522. package/uview-plus/types/comps/indexAnchor.d.ts +38 -0
  523. package/uview-plus/types/comps/indexItem.d.ts +18 -0
  524. package/uview-plus/types/comps/indexList.d.ts +39 -0
  525. package/uview-plus/types/comps/input.d.ts +234 -0
  526. package/uview-plus/types/comps/keyboard.d.ts +125 -0
  527. package/uview-plus/types/comps/line.d.ts +44 -0
  528. package/uview-plus/types/comps/lineProgress.d.ts +51 -0
  529. package/uview-plus/types/comps/link.d.ts +51 -0
  530. package/uview-plus/types/comps/list.d.ts +92 -0
  531. package/uview-plus/types/comps/listItem.d.ts +18 -0
  532. package/uview-plus/types/comps/loadMore.d.ts +108 -0
  533. package/uview-plus/types/comps/loadingIcon.d.ts +68 -0
  534. package/uview-plus/types/comps/loadingPage.d.ts +58 -0
  535. package/uview-plus/types/comps/modal.d.ts +115 -0
  536. package/uview-plus/types/comps/navbar.d.ts +113 -0
  537. package/uview-plus/types/comps/noNetwork.d.ts +40 -0
  538. package/uview-plus/types/comps/noticeBar.d.ts +85 -0
  539. package/uview-plus/types/comps/notify.d.ts +73 -0
  540. package/uview-plus/types/comps/numberBox.d.ts +155 -0
  541. package/uview-plus/types/comps/overlay.d.ts +46 -0
  542. package/uview-plus/types/comps/parse.d.ts +101 -0
  543. package/uview-plus/types/comps/picker.d.ts +115 -0
  544. package/uview-plus/types/comps/popup.d.ts +103 -0
  545. package/uview-plus/types/comps/radio.d.ts +77 -0
  546. package/uview-plus/types/comps/radioGroup.d.ts +97 -0
  547. package/uview-plus/types/comps/rate.d.ts +85 -0
  548. package/uview-plus/types/comps/readMore.d.ts +80 -0
  549. package/uview-plus/types/comps/row.d.ts +34 -0
  550. package/uview-plus/types/comps/safeBottom.d.ts +16 -0
  551. package/uview-plus/types/comps/scrollList.d.ts +51 -0
  552. package/uview-plus/types/comps/search.d.ts +172 -0
  553. package/uview-plus/types/comps/skeleton.d.ts +70 -0
  554. package/uview-plus/types/comps/slider.d.ts +79 -0
  555. package/uview-plus/types/comps/statusBar.d.ts +22 -0
  556. package/uview-plus/types/comps/steps.d.ts +48 -0
  557. package/uview-plus/types/comps/stepsItem.d.ts +41 -0
  558. package/uview-plus/types/comps/sticky.d.ts +48 -0
  559. package/uview-plus/types/comps/subsection.d.ts +64 -0
  560. package/uview-plus/types/comps/swipeAction.d.ts +24 -0
  561. package/uview-plus/types/comps/swipeActionItem.d.ts +58 -0
  562. package/uview-plus/types/comps/swiper.d.ts +142 -0
  563. package/uview-plus/types/comps/swiperIndicator.d.ts +37 -0
  564. package/uview-plus/types/comps/switch.d.ts +73 -0
  565. package/uview-plus/types/comps/tabbar.d.ts +54 -0
  566. package/uview-plus/types/comps/tabbarItem.d.ts +52 -0
  567. package/uview-plus/types/comps/tabs.d.ts +85 -0
  568. package/uview-plus/types/comps/tag.d.ts +93 -0
  569. package/uview-plus/types/comps/text.d.ts +110 -0
  570. package/uview-plus/types/comps/textarea.d.ts +158 -0
  571. package/uview-plus/types/comps/toast.d.ts +63 -0
  572. package/uview-plus/types/comps/tooltip.d.ts +71 -0
  573. package/uview-plus/types/comps/transition.d.ts +61 -0
  574. package/uview-plus/types/comps/upload.d.ts +204 -0
  575. package/uview-plus/types/comps.d.ts +101 -0
  576. package/uview-plus/types/index.d.ts +172 -0
  577. package/uview-plus/types/package.json +26 -0
  578. package/uview-ui/changelog.md +26 -0
  579. package/uview-ui/components/u--form/u--form.vue +1 -1
  580. package/uview-ui/components/u--image/u--image.vue +1 -1
  581. package/uview-ui/components/u--input/u--input.vue +1 -1
  582. package/uview-ui/components/u--text/u--text.vue +1 -1
  583. package/uview-ui/components/u--textarea/u--textarea.vue +1 -1
  584. package/uview-ui/components/u-action-sheet/props.js +1 -1
  585. package/uview-ui/components/u-action-sheet/style.css +1 -1
  586. package/uview-ui/components/u-avatar/style.css +1 -0
  587. package/uview-ui/components/u-avatar/style.scss +1 -0
  588. package/uview-ui/components/u-button/nvue-parse.scss +1 -1
  589. package/uview-ui/components/u-button/style.css +2 -2
  590. package/uview-ui/components/u-button/u-button.vue +7 -2
  591. package/uview-ui/components/u-button/vue-parse.scss +1 -1
  592. package/uview-ui/components/u-car-keyboard/style.css +1 -1
  593. package/uview-ui/components/u-checkbox/u-checkbox.vue +2 -2
  594. package/uview-ui/components/u-circle-progress/style.css +6 -6
  595. package/uview-ui/components/u-col/style.css +13 -13
  596. package/uview-ui/components/u-datetime-picker/props.js +4 -0
  597. package/uview-ui/components/u-datetime-picker/u-datetime-picker.vue +13 -2
  598. package/uview-ui/components/u-form-item/u-form-item.vue +1 -1
  599. package/uview-ui/components/u-icon/style.css +1 -1
  600. package/uview-ui/components/u-image/u-image.vue +3 -2
  601. package/uview-ui/components/u-input/style.css +3 -0
  602. package/uview-ui/components/u-input/style.scss +8 -0
  603. package/uview-ui/components/u-input/u-input.vue +5 -5
  604. package/uview-ui/components/u-loading-icon/style.css +1 -1
  605. package/uview-ui/components/u-loading-page/style.css +2 -2
  606. package/uview-ui/components/u-modal/props.js +5 -0
  607. package/uview-ui/components/u-modal/u-modal.vue +1 -1
  608. package/uview-ui/components/u-number-keyboard/style.css +2 -2
  609. package/uview-ui/components/u-parse/u-parse.vue +1 -1
  610. package/uview-ui/components/u-picker/u-picker.vue +5 -2
  611. package/uview-ui/components/u-popup/u-popup.vue +1 -1
  612. package/uview-ui/components/u-radio/props.js +1 -1
  613. package/uview-ui/components/u-radio/u-radio.vue +2 -2
  614. package/uview-ui/components/u-search/style.css +1 -1
  615. package/uview-ui/components/u-skeleton/u-skeleton.vue +2 -2
  616. package/uview-ui/components/u-steps-item/u-steps-item.vue +2 -2
  617. package/uview-ui/components/u-subsection/style.css +1 -1
  618. package/uview-ui/components/u-swipe-action-item/style.css +2 -2
  619. package/uview-ui/components/u-tabs/u-tabs.vue +10 -1
  620. package/uview-ui/components/u-toast/style.css +1 -1
  621. package/uview-ui/components/u-tooltip/u-tooltip.vue +1 -0
  622. package/uview-ui/components/u-upload/style.css +7 -4
  623. package/uview-ui/components/u-upload/style.scss +6 -0
  624. package/uview-ui/components/u-upload/u-upload.vue +6 -1
  625. package/uview-ui/libs/config/config.js +2 -2
  626. package/uview-ui/libs/config/props/datetimePicker.js +1 -0
  627. package/uview-ui/libs/config/props/modal.js +2 -1
  628. package/uview-ui/libs/mixin/mixin.js +3 -6
  629. package/uview-ui/package.json +5 -8
  630. package/uview-plus/components/u-slider/nvue - /345/211/257/346/234/254.js" +0 -175
  631. package/uview-plus/libs/config/props/tag.js +0 -29
  632. package/uview-plus/libs/config/props/transition.js +0 -18
  633. /package/uview-plus/{libs/config/props → components/u-alert}/alert.js +0 -0
  634. /package/uview-plus/{libs/config/props → components/u-avatar}/avatar.js +0 -0
  635. /package/uview-plus/{libs/config/props → components/u-car-keyboard}/carKeyboard.js +0 -0
  636. /package/uview-plus/{libs/config/props → components/u-cell}/cell.js +0 -0
  637. /package/uview-plus/{libs/config/props → components/u-cell-group}/cellGroup.js +0 -0
  638. /package/uview-plus/{libs/config/props → components/u-checkbox}/checkbox.js +0 -0
  639. /package/uview-plus/{libs/config/props → components/u-circle-progress}/circleProgress.js +0 -0
  640. /package/uview-plus/{libs/config/props → components/u-code}/code.js +0 -0
  641. /package/uview-plus/{libs/config/props → components/u-code-input}/codeInput.js +0 -0
  642. /package/uview-plus/{libs/config/props → components/u-col}/col.js +0 -0
  643. /package/uview-plus/{libs/config/props → components/u-collapse}/collapse.js +0 -0
  644. /package/uview-plus/{libs/config/props → components/u-count-down}/countDown.js +0 -0
  645. /package/uview-plus/{libs/config/props → components/u-count-to}/countTo.js +0 -0
  646. /package/uview-plus/{libs/config/props → components/u-divider}/divider.js +0 -0
  647. /package/uview-plus/{libs/config/props → components/u-empty}/empty.js +0 -0
  648. /package/uview-plus/{libs/config/props → components/u-gap}/gap.js +0 -0
  649. /package/uview-plus/{libs/config/props → components/u-grid}/grid.js +0 -0
  650. /package/uview-plus/{libs/config/props → components/u-grid-item}/gridItem.js +0 -0
  651. /package/uview-plus/{libs/config/props → components/u-image}/image.js +0 -0
  652. /package/uview-plus/{libs/config/props → components/u-index-anchor}/indexAnchor.js +0 -0
  653. /package/uview-plus/{libs/config/props → components/u-keyboard}/keyboard.js +0 -0
  654. /package/uview-plus/{libs/config/props → components/u-line}/line.js +0 -0
  655. /package/uview-plus/{libs/config/props → components/u-line-progress}/lineProgress.js +0 -0
  656. /package/uview-plus/{libs/config/props → components/u-list}/list.js +0 -0
  657. /package/uview-plus/{libs/config/props → components/u-list-item}/listItem.js +0 -0
  658. /package/uview-plus/{libs/config/props → components/u-loadmore}/loadmore.js +0 -0
  659. /package/uview-plus/{libs/config/props → components/u-no-network}/noNetwork.js +0 -0
  660. /package/uview-plus/{libs/config/props → components/u-notify}/notify.js +0 -0
  661. /package/uview-plus/{libs/config/props → components/u-number-keyboard}/numberKeyboard.js +0 -0
  662. /package/uview-plus/{libs/config/props → components/u-overlay}/overlay.js +0 -0
  663. /package/uview-plus/{libs/config/props → components/u-parse}/parse.js +0 -0
  664. /package/uview-plus/{libs/config/props → components/u-radio}/radio.js +0 -0
  665. /package/uview-plus/{libs/config/props → components/u-rate}/rate.js +0 -0
  666. /package/uview-plus/{libs/config/props → components/u-read-more}/readMore.js +0 -0
  667. /package/uview-plus/{libs/config/props → components/u-row}/row.js +0 -0
  668. /package/uview-plus/{libs/config/props → components/u-row-notice}/rowNotice.js +0 -0
  669. /package/uview-plus/{libs/config/props → components/u-scroll-list}/scrollList.js +0 -0
  670. /package/uview-plus/{libs/config/props → components/u-section}/section.js +0 -0
  671. /package/uview-plus/{libs/config/props → components/u-skeleton}/skeleton.js +0 -0
  672. /package/uview-plus/{libs/config/props → components/u-steps}/steps.js +0 -0
  673. /package/uview-plus/{libs/config/props → components/u-steps-item}/stepsItem.js +0 -0
  674. /package/uview-plus/{libs/config/props → components/u-sticky}/sticky.js +0 -0
  675. /package/uview-plus/{libs/config/props → components/u-subsection}/subsection.js +0 -0
  676. /package/uview-plus/{libs/config/props → components/u-swipe-action}/swipeAction.js +0 -0
  677. /package/uview-plus/{libs/config/props → components/u-swiper-indicator}/swipterIndicator.js +0 -0
  678. /package/uview-plus/{libs/config/props → components/u-switch}/switch.js +0 -0
  679. /package/uview-plus/{libs/config/props → components/u-tabbar}/tabbar.js +0 -0
  680. /package/uview-plus/{libs/config/props → components/u-tabbar-item}/tabbarItem.js +0 -0
  681. /package/uview-plus/{libs/config/props → components/u-textarea}/textarea.js +0 -0
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <view class="u-upload" :style="[$u.addStyle(customStyle)]">
2
+ <view class="u-upload" :style="[addStyle(customStyle)]">
3
3
  <view class="u-upload__wrap">
4
4
  <template v-if="previewImage">
5
5
  <view class="u-upload__wrap__preview" v-for="(item, index) in lists" :key="index">
@@ -8,30 +8,73 @@
8
8
  :src="item.thumb || item.url"
9
9
  :mode="imageMode"
10
10
  class="u-upload__wrap__preview__image"
11
- @tap="onPreviewImage(item)"
11
+ @tap="onClickPreview(item, index)"
12
12
  :style="[
13
13
  {
14
- width: $u.addUnit(width),
15
- height: $u.addUnit(height)
14
+ width: addUnit(width),
15
+ height: addUnit(height)
16
16
  }
17
17
  ]"
18
18
  />
19
- <view v-else class="u-upload__wrap__preview__other">
19
+ <view
20
+ class="u-upload__wrap__preview__video"
21
+ :style="{
22
+ width: addUnit(width),
23
+ height: addUnit(height)
24
+ }"
25
+ v-else-if="(item.isVideo || (item.type && item.type === 'video')) && getVideoThumb"
26
+ >
27
+ <image
28
+ v-if="item.thumb"
29
+ :src="item.thumb"
30
+ :mode="imageMode"
31
+ class="u-upload__wrap__preview__image"
32
+ @tap="onClickPreview(item, index)"
33
+ :style="[
34
+ {
35
+ width: addUnit(width),
36
+ height: addUnit(height)
37
+ }
38
+ ]"
39
+ />
40
+ <u-icon
41
+ v-else
42
+ color="#80CBF9"
43
+ size="26"
44
+ :name="item.isVideo || (item.type && item.type === 'video') ? 'movie' : 'file-text'"
45
+ ></u-icon>
46
+ <view v-if="item.status === 'success'" class="u-upload__wrap__play" @tap="onClickPreview(item, index)">
47
+ <slot name="playIcon"></slot>
48
+ <up-icon v-if="!$slots['playIcon']" class="u-upload__wrap__play__icon" name="play-right" size="22px"></up-icon>
49
+ </view>
50
+ </view>
51
+ <view
52
+ v-else
53
+ class="u-upload__wrap__preview__other"
54
+ @tap="onClickPreview(item, index)"
55
+ :style="[
56
+ {
57
+ width: addUnit(width),
58
+ height: addUnit(height)
59
+ }
60
+ ]"
61
+ >
20
62
  <u-icon
21
63
  color="#80CBF9"
22
64
  size="26"
23
65
  :name="item.isVideo || (item.type && item.type === 'video') ? 'movie' : 'folder'"
24
66
  ></u-icon>
25
67
  <text class="u-upload__wrap__preview__other__text">
26
- {{ item.isVideo || (item.type && item.type === 'video') ? '视频' : '文件' }}
68
+ {{ item.isVideo || (item.type && item.type === 'video') ? item.name || '视频' : item.name || '文件' }}
27
69
  </text>
28
70
  </view>
29
71
  <view class="u-upload__status" v-if="item.status === 'uploading' || item.status === 'failed'">
30
72
  <view class="u-upload__status__icon">
31
73
  <u-icon v-if="item.status === 'failed'" name="close-circle" color="#ffffff" size="25" />
32
- <u-loading-icon size="22" mode="circle" color="#ffffff" v-else />
74
+ <u-loading-icon size="22" mode="circle" v-else />
33
75
  </view>
34
76
  <text v-if="item.message" class="u-upload__status__message">{{ item.message }}</text>
77
+ <up-gap class="u-upload__progress" height="3px" :style="{ width: item.progress + '%' }"></up-gap>
35
78
  </view>
36
79
  <view
37
80
  class="u-upload__deletable"
@@ -42,20 +85,26 @@
42
85
  <u-icon name="close" color="#ffffff" size="10"></u-icon>
43
86
  </view>
44
87
  </view>
45
- <view class="u-upload__success" v-if="item.status === 'success'">
46
- <!-- #ifdef APP-NVUE -->
47
- <image :src="successIcon" class="u-upload__success__icon"></image>
48
- <!-- #endif -->
49
- <!-- #ifndef APP-NVUE -->
50
- <view class="u-upload__success__icon">
51
- <u-icon name="checkmark" color="#ffffff" size="12"></u-icon>
88
+ <slot name="success">
89
+ <view class="u-upload__success" v-if="item.status === 'success'">
90
+ <!-- #ifdef APP-NVUE -->
91
+ <image :src="successIcon" class="u-upload__success__icon"></image>
92
+ <!-- #endif -->
93
+ <!-- #ifndef APP-NVUE -->
94
+ <view class="u-upload__success__icon">
95
+ <u-icon name="checkmark" color="#ffffff" size="12"></u-icon>
96
+ </view>
97
+ <!-- #endif -->
52
98
  </view>
53
- <!-- #endif -->
54
- </view>
99
+ </slot>
55
100
  </view>
56
101
  </template>
102
+ <canvas id="myCanvas" type="2d" style="width: 100px; height: 150px; display: none"></canvas>
57
103
  <template v-if="isInCount">
58
- <view v-if="$slots.default || $slots.$default" @tap="chooseFile">
104
+ <view v-if="$slots.trigger" @tap="chooseFile">
105
+ <slot name="trigger" />
106
+ </view>
107
+ <view v-else-if="!$slots.trigger && ($slots.default || $slots.$default)" @tap="chooseFile">
59
108
  <slot />
60
109
  </view>
61
110
  <view
@@ -67,8 +116,8 @@
67
116
  :class="[disabled && 'u-upload__button--disabled']"
68
117
  :style="[
69
118
  {
70
- width: $u.addUnit(width),
71
- height: $u.addUnit(height)
119
+ width: addUnit(width),
120
+ height: addUnit(height)
72
121
  }
73
122
  ]"
74
123
  >
@@ -77,20 +126,40 @@
77
126
  </view>
78
127
  </template>
79
128
  </view>
129
+ <up-popup mode="center" v-model:show="popupShow">
130
+ <video
131
+ id="myVideo"
132
+ v-if="popupShow"
133
+ :src="currentItemIndex >= 0 ? lists[currentItemIndex].url : ''"
134
+ @error="videoErrorCallback"
135
+ show-center-play-btn
136
+ object-fit="cover"
137
+ show-fullscreen-btn="true"
138
+ enable-play-gesture
139
+ controls
140
+ :autoplay="true"
141
+ auto-pause-if-open-native
142
+ @loadedmetadata="loadedVideoMetadata"
143
+ :initial-time="0.1"
144
+ ></video>
145
+ </up-popup>
80
146
  </view>
81
147
  </template>
82
148
  <script>
83
149
  import { chooseFile } from './utils';
84
- import mixinUp from './mixin.js';
85
- import props from './props.js';
86
- import mpMixin from '../../libs/mixin/mpMixin.js';
87
- import mixin from '../../libs/mixin/mixin.js';
150
+ import { mixinUpload } from './mixin';
151
+ import { props } from './props';
152
+ import { mpMixin } from '../../libs/mixin/mpMixin';
153
+ import { mixin } from '../../libs/mixin/mixin';
154
+ import { addStyle, addUnit, toast } from '../../libs/function/index';
155
+ import test from '../../libs/function/test';
88
156
  /**
89
157
  * upload 上传
90
158
  * @description 该组件用于上传图片场景
91
- * @tutorial https://uviewui.com/components/upload.html
159
+ * @tutorial https://uview-plus.jiangruyi.com/components/upload.html
92
160
  * @property {String} accept 接受的文件类型, 可选值为all media image file video (默认 'image' )
93
161
  * @property {String | Array} capture 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头(默认 ['album', 'camera'] )
162
+ * @property {Array} extension 选择文件的后缀名,暂只支持.zip、.png等,不支持application/msword等值
94
163
  * @property {Boolean} compressed 当accept为video时生效,是否压缩视频,默认为true(默认 true )
95
164
  * @property {String} camera 当accept为video时生效,可选值为back或front(默认 'back' )
96
165
  * @property {Number} maxDuration 当accept为video时生效,拍摄视频最长拍摄时间,单位秒(默认 60 )
@@ -120,7 +189,7 @@ import mixin from '../../libs/mixin/mixin.js';
120
189
  */
121
190
  export default {
122
191
  name: 'u-upload',
123
- mixins: [mpMixin, mixin, mixinUp, props],
192
+ mixins: [mpMixin, mixin, mixinUpload, props],
124
193
  data() {
125
194
  return {
126
195
  // #ifdef APP-NVUE
@@ -128,7 +197,9 @@ export default {
128
197
  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAACP0lEQVRYCc3YXygsURwH8K/dpcWyG3LF5u/6/+dKVylSypuUl6uUPMifKMWL8oKEB1EUT1KeUPdR3uTNUsSLxb2udG/cbvInNuvf2rVnazZ/ZndmZ87snjM1Z+Z3zpzfp9+Z5mEAhlvjRtZgCKs+gnPAOcAkkMOR4jEHfItjDvgRxxSQD8cM0BuOCaAvXNCBQrigAsXgggYUiwsK0B9cwIH+4gIKlIILGFAqLiBAOTjFgXJxigJp4BQD0sIpAqSJow6kjSNAFTnRaHJwLenD6Mud52VQAcrBfTd2oyq+HtGaGGWAcnAVcXWoM3bCZrdi+ncPfaAcXE5UKVpdW/vitGPqqAtn98d0gXJwX7Qp6MmegUYVhvmTIezdmHlxJCjpHRTCFerLkRRu4k0aqdajN3sWOo0BK//msHa+xDuPC/oNFMKRhTtM4xjIX0SCNpXL4+7VIaHuyiWEp2L7ahWLf8fejfPdqPmC3mJicORZUp1CQzm+GiphvljGk+PBvWRbxii+xVTj5M6CiZ/tsDufvaXyxEUDxeLIyvu3m0iOyEFWVAkydcVYdyFrE9tQk9iMq6f/GNlvwt3LjQfh60LUrw9/cFyyMJUW/XkLSNMV4Mi6C5ML+ui4x5ClAX9sB9w0wV6wglJwJCv5fOxcr6EstgbGiEw4XcfUry4cWrcEUW8n+ARKxXEJHhw2WG43UKSvwI/TSZgvl7kh0b3XLZaLEy0QmMgLZAVH7J+ALOE+AVnDvQOyiPMAWcW5gSzjCPAV+78S5WE0GrQAAAAASUVORK5CYII=',
129
198
  // #endif
130
199
  lists: [],
131
- isInCount: true
200
+ isInCount: true,
201
+ popupShow: false,
202
+ currentItemIndex: -1
132
203
  };
133
204
  },
134
205
  watch: {
@@ -139,53 +210,125 @@ export default {
139
210
  },
140
211
  immediate: true,
141
212
  deep: true
213
+ },
214
+ deletable(newVal) {
215
+ this.formatFileList();
216
+ },
217
+ maxCount(newVal) {
218
+ this.formatFileList();
219
+ },
220
+ accept(newVal) {
221
+ this.formatFileList();
222
+ },
223
+ popupShow(newVal) {
224
+ if (!newVal) {
225
+ this.currentItemIndex = -1;
226
+ }
142
227
  }
143
228
  },
144
229
  // #ifdef VUE3
145
- emits: ['error', 'beforeRead', 'oversize', 'afterRead', 'delete', 'clickPreview'],
230
+ emits: ['error', 'beforeRead', 'oversize', 'afterRead', 'delete', 'clickPreview', 'update:fileList', 'afterAutoUpload'],
146
231
  // #endif
147
232
  methods: {
233
+ addUnit,
234
+ addStyle,
235
+ videoErrorCallback() {},
236
+ loadedVideoMetadata(e) {
237
+ if (this.currentItemIndex < 0) {
238
+ return;
239
+ }
240
+ if (this.autoUploadDriver != 'local') {
241
+ return;
242
+ }
243
+ if (!this.getVideoThumb) {
244
+ return;
245
+ }
246
+ // 截取第一帧作为封面,oss等云存储场景直接使用拼接参数。
247
+ let w = this.lists[this.currentItemIndex].width;
248
+ let h = this.lists[this.currentItemIndex].height;
249
+ const dpr = uni.getSystemInfoSync().pixelRatio;
250
+ uni
251
+ .createSelectorQuery()
252
+ .select('#myVideo')
253
+ .context((res) => {
254
+ console.log('select video', res);
255
+ const myVideo = res.context;
256
+ uni
257
+ .createSelectorQuery()
258
+ .select('#myCanvas')
259
+ .fields({ node: true, size: true })
260
+ .exec(([res]) => {
261
+ console.log('select canvas', res);
262
+ const ctx1 = res[0].node.getContext('2d');
263
+ res[0].node.width = w * dpr;
264
+ res[0].node.height = h * dpr;
265
+ // Draw the first frame and export it as an image
266
+ // myVideo.onPlay(() => {
267
+ setTimeout(() => {
268
+ captureFirstFrame();
269
+ }, 500);
270
+ // })
271
+ const captureFirstFrame = () => {
272
+ ctx1.drawImage(myVideo, 0, 0, w * dpr, h * dpr);
273
+ wx.canvasToTempFilePath({
274
+ canvas: res[0].node,
275
+ success: (result) => {
276
+ console.log('First frame image path:', result.tempFilePath);
277
+ // Now you can use the image path (result.tempFilePath)
278
+ this.fileList['currentItemIndex'].thumb = result.tempFilePath;
279
+ },
280
+ fail: (err) => {
281
+ console.error('Failed to export image:', err);
282
+ }
283
+ });
284
+ };
285
+ // Capture the first frame
286
+ setInterval(() => {
287
+ ctx1.drawImage(myVideo, 0, 0, w * dpr, h * dpr);
288
+ }, 1000 / 24);
289
+ })
290
+ .exec();
291
+ })
292
+ .exec();
293
+ },
148
294
  formatFileList() {
149
295
  const { fileList = [], maxCount } = this;
150
- const lists = fileList.map((item) =>
151
- Object.assign(Object.assign({}, item), {
296
+ const lists = fileList.map((item) => {
297
+ const name = item.name || item.url || item.thumb;
298
+ return Object.assign(Object.assign({}, item), {
152
299
  // 如果item.url为本地选择的blob文件的话,无法判断其为video还是image,此处优先通过accept做判断处理
153
- isImage: this.accept === 'image' || uni.$u.test.image(item.url || item.thumb),
154
- isVideo: this.accept === 'video' || uni.$u.test.video(item.url || item.thumb),
300
+ isImage: item.name ? test.image(item.name) : this.accept === 'image' || test.image(name),
301
+ isVideo: item.name ? test.video(item.name) : this.accept === 'video' || test.video(name),
155
302
  deletable: typeof item.deletable === 'boolean' ? item.deletable : this.deletable
156
- })
157
- );
303
+ });
304
+ });
158
305
  this.lists = lists;
159
306
  this.isInCount = lists.length < maxCount;
160
307
  },
161
- chooseFile() {
308
+ chooseFile(params) {
162
309
  const { maxCount, multiple, lists, disabled } = this;
163
- if (disabled) return;
164
- // 如果用户传入的是字符串,需要格式化成数组
165
- let capture;
166
- try {
167
- capture = uni.$u.test.array(this.capture) ? this.capture : this.capture.split(',');
168
- } catch (e) {
169
- capture = [];
170
- }
171
- chooseFile(
172
- Object.assign(
173
- {
174
- accept: this.accept,
175
- multiple: this.multiple,
176
- capture: capture,
177
- compressed: this.compressed,
178
- maxDuration: this.maxDuration,
179
- sizeType: this.sizeType,
180
- camera: this.camera
181
- },
182
- {
183
- maxCount: maxCount - lists.length
184
- }
185
- )
186
- )
310
+ if (disabled) return Promise.reject();
311
+ const chooseParams = Object.assign(
312
+ {
313
+ accept: this.accept,
314
+ extension: this.extension,
315
+ multiple: this.multiple,
316
+ capture: this.capture,
317
+ compressed: this.compressed,
318
+ maxDuration: this.maxDuration,
319
+ sizeType: this.sizeType,
320
+ camera: this.camera
321
+ },
322
+ {
323
+ maxCount: maxCount - lists.length,
324
+ ...params
325
+ }
326
+ );
327
+ return chooseFile(chooseParams)
187
328
  .then((res) => {
188
- this.onBeforeRead(multiple ? res : res[0]);
329
+ const result = chooseParams.multiple ? res : res[0];
330
+ this.onBeforeRead(result);
331
+ return result;
189
332
  })
190
333
  .catch((error) => {
191
334
  this.$emit('error', error);
@@ -194,9 +337,9 @@ export default {
194
337
  // 文件读取之前
195
338
  onBeforeRead(file) {
196
339
  const { beforeRead, useBeforeRead } = this;
197
- let res = true;
340
+ let res = file;
198
341
  // beforeRead是否为一个方法
199
- if (uni.$u.test.func(beforeRead)) {
342
+ if (test.func(beforeRead)) {
200
343
  // 如果用户定义了此方法,则去执行此方法,并传入读取的文件回调
201
344
  res = beforeRead(file, this.getDetail());
202
345
  }
@@ -220,13 +363,10 @@ export default {
220
363
  );
221
364
  });
222
365
  }
223
- if (!res) {
224
- return;
225
- }
226
- if (uni.$u.test.promise(res)) {
366
+ if (test.promise(res)) {
227
367
  res.then((data) => this.onAfterRead(data || file));
228
368
  } else {
229
- this.onAfterRead(file);
369
+ this.onAfterRead(res || file);
230
370
  }
231
371
  },
232
372
  getDetail(index) {
@@ -235,10 +375,13 @@ export default {
235
375
  index: index == null ? this.fileList.length : index
236
376
  };
237
377
  },
238
- onAfterRead(file) {
378
+ async onAfterRead(file) {
239
379
  const { maxSize, afterRead } = this;
240
380
  const oversize = Array.isArray(file) ? file.some((item) => item.size > maxSize) : file.size > maxSize;
241
381
  if (oversize) {
382
+ uni.showToast({
383
+ title: '超过大小限制'
384
+ });
242
385
  this.$emit(
243
386
  'oversize',
244
387
  Object.assign(
@@ -250,62 +393,276 @@ export default {
250
393
  );
251
394
  return;
252
395
  }
253
- if (typeof afterRead === 'function') {
254
- afterRead(file, this.getDetail());
396
+ let len = this.fileList.length;
397
+ if (this.autoUpload) {
398
+ // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
399
+ let lists = [].concat(file);
400
+ let fileListLen = this.fileList.length;
401
+ lists.map((item) => {
402
+ this.fileList.push({
403
+ ...item,
404
+ status: 'uploading',
405
+ message: '上传中',
406
+ progress: 0
407
+ });
408
+ });
409
+ let that = this;
410
+ this.$emit('update:fileList', this.fileList);
411
+ for (let i = 0; i < lists.length; i++) {
412
+ let j = i;
413
+ let result = '';
414
+ switch (this.autoUploadDriver) {
415
+ case 'cos': // 腾讯云
416
+ break;
417
+ case 'kodo': // 七牛云
418
+ break;
419
+ case 'oss':
420
+ case 'upload_oss':
421
+ // 阿里云前端直传
422
+ // 获取签名
423
+ console.log();
424
+ let formData = {};
425
+ let ret = await uni.request({
426
+ url: this.autoUploadAuthUrl,
427
+ method: 'get',
428
+ header: this.autoUploadHeader,
429
+ data: {
430
+ filename: lists[j].name
431
+ }
432
+ });
433
+ // console.log(ret);
434
+ let res0 = ret.data;
435
+ if (res0.code == 200) {
436
+ // 路径 + 文件名 + 扩展名
437
+ // 不传递filename就要拼接key
438
+ // res0.data.params.key = res0.data.params.dir + res0.data.params.uniqidName + fileExt;
439
+ formData = res0.data.params;
440
+ } else {
441
+ uni.showToast({
442
+ title: res0.msg,
443
+ duration: 1500
444
+ });
445
+ return;
446
+ }
447
+ var uploadTask = uni.uploadFile({
448
+ url: res0.data.params.host,
449
+ filePath: lists[j].url,
450
+ name: 'file',
451
+ // fileType: 'video', // 仅支付宝小程序,且必填。
452
+ // header: header,
453
+ formData: formData,
454
+ success: (uploadFileRes) => {
455
+ let thumb = '';
456
+ let afterPromise = '';
457
+ if (that.customAfterAutoUpload) {
458
+ afterPromise = new Promise((resolve, reject) => {
459
+ that.$emit(
460
+ 'afterAutoUpload',
461
+ Object.assign(res0, {
462
+ callback: (r) => {
463
+ r.url ? resolve(r) : reject();
464
+ }
465
+ })
466
+ );
467
+ });
468
+ }
469
+ if (test.promise(afterPromise)) {
470
+ afterPromise.then((data) => that.succcessUpload(len + j, data.url, data.thumb));
471
+ } else {
472
+ result = res0.data.params.host + '/' + res0.data.params.key;
473
+ if (that.accept === 'video' || test.video(result)) {
474
+ thumb = result + '?x-oss-process=video/snapshot,t_10000,m_fast';
475
+ }
476
+ that.succcessUpload(len + j, result, thumb);
477
+ }
478
+ }
479
+ });
480
+ uploadTask.onProgressUpdate((res) => {
481
+ that.updateUpload(len + j, {
482
+ progress: res.progress
483
+ });
484
+ // console.log('上传进度' + res.progress);
485
+ // console.log('已经上传的数据长度' + res.totalBytesSent);
486
+ // console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
487
+ });
488
+ break;
489
+ case 'local':
490
+ default:
491
+ // 服务器本机上传
492
+ var uploadTask = uni.uploadFile({
493
+ url: this.autoUploadApi,
494
+ filePath: lists[j].url,
495
+ name: 'file',
496
+ // fileType: 'video', // 仅支付宝小程序,且必填。
497
+ header: this.autoUploadHeader,
498
+ success: (uploadFileRes) => {
499
+ let res0 = uploadFileRes.data;
500
+ let afterPromise = '';
501
+ if (that.customAfterAutoUpload) {
502
+ afterPromise = new Promise((resolve, reject) => {
503
+ that.$emit(
504
+ 'afterAutoUpload',
505
+ Object.assign(res0, {
506
+ callback: (r) => {
507
+ r.url ? resolve(r) : reject();
508
+ }
509
+ })
510
+ );
511
+ });
512
+ }
513
+ if (test.promise(afterPromise)) {
514
+ afterPromise.then((data) => that.succcessUpload(len + j, data.url));
515
+ } else {
516
+ if (res0.code != 200) {
517
+ uni.showToast({
518
+ title: res0.msg
519
+ });
520
+ } else {
521
+ result = res0.data.url;
522
+ that.succcessUpload(len + j, result);
523
+ }
524
+ }
525
+ }
526
+ });
527
+ uploadTask.onProgressUpdate((res) => {
528
+ that.updateUpload(len + j, {
529
+ progress: res.progress
530
+ });
531
+ // console.log('上传进度' + res.progress);
532
+ // console.log('已经上传的数据长度' + res.totalBytesSent);
533
+ // console.log('预期需要上传的数据总长度' + res.totalBytesExpectedToSend);
534
+ });
535
+ break;
536
+ }
537
+ }
538
+ } else {
539
+ if (typeof afterRead === 'function') {
540
+ afterRead(file, this.getDetail());
541
+ }
542
+ this.$emit(
543
+ 'afterRead',
544
+ Object.assign(
545
+ {
546
+ file
547
+ },
548
+ this.getDetail()
549
+ )
550
+ );
255
551
  }
256
- this.$emit(
257
- 'afterRead',
258
- Object.assign(
259
- {
260
- file
261
- },
262
- this.getDetail()
263
- )
264
- );
552
+ },
553
+ updateUpload(index, param) {
554
+ let item = this.fileList[index];
555
+ this.fileList.splice(index, 1, {
556
+ ...item,
557
+ // 注意这里不判断会出现succcessUpload先执行又被覆盖的问题
558
+ status: param.progress == 100 ? 'success' : 'uploading',
559
+ message: '',
560
+ progress: param.progress
561
+ });
562
+ this.$emit('update:fileList', this.fileList);
563
+ },
564
+ succcessUpload(index, url, thumb = '') {
565
+ let item = this.fileList[index];
566
+ this.fileList.splice(index, 1, {
567
+ ...item,
568
+ status: 'success',
569
+ message: '',
570
+ url: url,
571
+ progress: 100,
572
+ thumb: thumb
573
+ });
574
+ this.$emit('update:fileList', this.fileList);
265
575
  },
266
576
  deleteItem(index) {
267
- this.$emit(
268
- 'delete',
269
- Object.assign(Object.assign({}, this.getDetail(index)), {
270
- file: this.fileList[index]
271
- })
272
- );
577
+ if (this.autoDelete) {
578
+ this.fileList.splice(index, 1);
579
+ this.$emit('update:fileList', this.fileList);
580
+ } else {
581
+ this.$emit(
582
+ 'delete',
583
+ Object.assign(Object.assign({}, this.getDetail(index)), {
584
+ file: this.fileList[index]
585
+ })
586
+ );
587
+ }
273
588
  },
274
589
  // 预览图片
275
- onPreviewImage(item) {
276
- if (!item.isImage || !this.previewFullImage) return;
590
+ onPreviewImage(previewItem, index) {
591
+ if (!previewItem.isImage || !this.previewFullImage) return;
592
+ let current = 0;
593
+ const urls = [];
594
+ let imageIndex = 0;
595
+ for (var i = 0; i < this.lists.length; i++) {
596
+ const item = this.lists[i];
597
+ if (item.isImage || (item.type && item.type === 'image')) {
598
+ urls.push(item.url || item.thumb);
599
+ if (i === index) {
600
+ current = imageIndex;
601
+ }
602
+ imageIndex += 1;
603
+ }
604
+ }
605
+ if (urls.length < 1) {
606
+ return;
607
+ }
277
608
  uni.previewImage({
278
- // 先filter找出为图片的item,再返回filter结果中的图片url
279
- urls: this.lists
280
- .filter((item) => this.accept === 'image' || uni.$u.test.image(item.url || item.thumb))
281
- .map((item) => item.url || item.thumb),
282
- current: item.url || item.thumb,
609
+ urls: urls,
610
+ current: current,
283
611
  fail() {
284
- uni.$u.toast('预览图片失败');
612
+ toast('预览图片失败');
285
613
  }
286
614
  });
287
615
  },
288
- onPreviewVideo(event) {
289
- if (!this.data.previewFullImage) return;
290
- const { index } = event.currentTarget.dataset;
291
- const { lists } = this.data;
292
- wx.previewMedia({
293
- sources: lists
294
- .filter((item) => isVideoFile(item))
295
- .map((item) =>
616
+ onPreviewVideo(previewItem, index) {
617
+ if (!this.previewFullImage) return;
618
+ let current = 0;
619
+ const sources = [];
620
+ let videoIndex = 0;
621
+ for (var i = 0; i < this.lists.length; i++) {
622
+ const item = this.lists[i];
623
+ if (item.isVideo || (item.type && item.type === 'video')) {
624
+ sources.push(
296
625
  Object.assign(Object.assign({}, item), {
297
626
  type: 'video'
298
627
  })
299
- ),
300
- current: index,
628
+ );
629
+ if (i === index) {
630
+ current = videoIndex;
631
+ }
632
+ videoIndex += 1;
633
+ }
634
+ }
635
+ if (sources.length < 1) {
636
+ return;
637
+ }
638
+ // #ifndef MP-WEIXIN
639
+ this.popupShow = true;
640
+ this.currentItemIndex = index;
641
+ console.log(this.lists[this.currentItemIndex]);
642
+ // #endif
643
+ // #ifdef MP-WEIXIN
644
+ wx.previewMedia({
645
+ sources: sources,
646
+ current: current,
301
647
  fail() {
302
- uni.$u.toast('预览视频失败');
648
+ toast('预览视频失败');
303
649
  }
304
650
  });
651
+ // #endif
305
652
  },
306
- onClickPreview(event) {
307
- const { index } = event.currentTarget.dataset;
308
- const item = this.data.lists[index];
653
+ onClickPreview(item, index) {
654
+ if (this.previewFullImage) {
655
+ switch (item.type) {
656
+ case 'image':
657
+ this.onPreviewImage(item, index);
658
+ break;
659
+ case 'video':
660
+ this.onPreviewVideo(item, index);
661
+ break;
662
+ default:
663
+ break;
664
+ }
665
+ }
309
666
  this.$emit('clickPreview', Object.assign(Object.assign({}, item), this.getDetail(index)));
310
667
  }
311
668
  }