@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
@@ -0,0 +1,1235 @@
1
+ let QRCode = {};
2
+ (function () {
3
+ /**
4
+ * 获取单个字符的utf8编码
5
+ * unicode BMP平面约65535个字符
6
+ * @param {num} code
7
+ * return {array}
8
+ */
9
+ function unicodeFormat8(code) {
10
+ // 1 byte
11
+ var c0, c1, c2;
12
+ if (code < 128) {
13
+ return [code];
14
+ // 2 bytes
15
+ } else if (code < 2048) {
16
+ c0 = 192 + (code >> 6);
17
+ c1 = 128 + (code & 63);
18
+ return [c0, c1];
19
+ // 3 bytes
20
+ } else {
21
+ c0 = 224 + (code >> 12);
22
+ c1 = 128 + (code >> 6 & 63);
23
+ c2 = 128 + (code & 63);
24
+ return [c0, c1, c2];
25
+ }
26
+ }
27
+ /**
28
+ * 获取字符串的utf8编码字节串
29
+ * @param {string} string
30
+ * @return {array}
31
+ */
32
+ function getUTF8Bytes(string) {
33
+ var utf8codes = [];
34
+ for (var i = 0; i < string.length; i++) {
35
+ var code = string.charCodeAt(i);
36
+ var utf8 = unicodeFormat8(code);
37
+ for (var j = 0; j < utf8.length; j++) {
38
+ utf8codes.push(utf8[j]);
39
+ }
40
+ }
41
+ return utf8codes;
42
+ }
43
+ /**
44
+ * 二维码算法实现
45
+ * @param {string} data 要编码的信息字符串
46
+ * @param {num} errorCorrectLevel 纠错等级
47
+ */
48
+ function QRCodeAlg(data, errorCorrectLevel) {
49
+ this.typeNumber = -1; //版本
50
+ this.errorCorrectLevel = errorCorrectLevel;
51
+ this.modules = null; //二维矩阵,存放最终结果
52
+ this.moduleCount = 0; //矩阵大小
53
+ this.dataCache = null; //数据缓存
54
+ this.rsBlocks = null; //版本数据信息
55
+ this.totalDataCount = -1; //可使用的数据量
56
+ this.data = data;
57
+ this.utf8bytes = getUTF8Bytes(data);
58
+ this.make();
59
+ }
60
+ QRCodeAlg.prototype = {
61
+ constructor: QRCodeAlg,
62
+ /**
63
+ * 获取二维码矩阵大小
64
+ * @return {num} 矩阵大小
65
+ */
66
+ getModuleCount: function () {
67
+ return this.moduleCount;
68
+ },
69
+ /**
70
+ * 编码
71
+ */
72
+ make: function () {
73
+ this.getRightType();
74
+ this.dataCache = this.createData();
75
+ this.createQrcode();
76
+ },
77
+ /**
78
+ * 设置二位矩阵功能图形
79
+ * @param {bool} test 表示是否在寻找最好掩膜阶段
80
+ * @param {num} maskPattern 掩膜的版本
81
+ */
82
+ makeImpl: function (maskPattern) {
83
+ this.moduleCount = this.typeNumber * 4 + 17;
84
+ this.modules = new Array(this.moduleCount);
85
+ for (var row = 0; row < this.moduleCount; row++) {
86
+ this.modules[row] = new Array(this.moduleCount);
87
+ }
88
+ this.setupPositionProbePattern(0, 0);
89
+ this.setupPositionProbePattern(this.moduleCount - 7, 0);
90
+ this.setupPositionProbePattern(0, this.moduleCount - 7);
91
+ this.setupPositionAdjustPattern();
92
+ this.setupTimingPattern();
93
+ this.setupTypeInfo(true, maskPattern);
94
+ if (this.typeNumber >= 7) {
95
+ this.setupTypeNumber(true);
96
+ }
97
+ this.mapData(this.dataCache, maskPattern);
98
+ },
99
+ /**
100
+ * 设置二维码的位置探测图形
101
+ * @param {num} row 探测图形的中心横坐标
102
+ * @param {num} col 探测图形的中心纵坐标
103
+ */
104
+ setupPositionProbePattern: function (row, col) {
105
+ for (var r = -1; r <= 7; r++) {
106
+ if (row + r <= -1 || this.moduleCount <= row + r) continue;
107
+ for (var c = -1; c <= 7; c++) {
108
+ if (col + c <= -1 || this.moduleCount <= col + c) continue;
109
+ if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || (0 <= c && c <= 6 && (r == 0 || r == 6)) || (2 <= r && r <= 4 && 2 <= c && c <= 4)) {
110
+ this.modules[row + r][col + c] = true;
111
+ } else {
112
+ this.modules[row + r][col + c] = false;
113
+ }
114
+ }
115
+ }
116
+ },
117
+ /**
118
+ * 创建二维码
119
+ * @return {[type]} [description]
120
+ */
121
+ createQrcode: function () {
122
+ var minLostPoint = 0;
123
+ var pattern = 0;
124
+ var bestModules = null;
125
+ for (var i = 0; i < 8; i++) {
126
+ this.makeImpl(i);
127
+ var lostPoint = QRUtil.getLostPoint(this);
128
+ if (i == 0 || minLostPoint > lostPoint) {
129
+ minLostPoint = lostPoint;
130
+ pattern = i;
131
+ bestModules = this.modules;
132
+ }
133
+ }
134
+ this.modules = bestModules;
135
+ this.setupTypeInfo(false, pattern);
136
+ if (this.typeNumber >= 7) {
137
+ this.setupTypeNumber(false);
138
+ }
139
+ },
140
+ /**
141
+ * 设置定位图形
142
+ * @return {[type]} [description]
143
+ */
144
+ setupTimingPattern: function () {
145
+ for (var r = 8; r < this.moduleCount - 8; r++) {
146
+ if (this.modules[r][6] != null) {
147
+ continue;
148
+ }
149
+ this.modules[r][6] = (r % 2 == 0);
150
+ if (this.modules[6][r] != null) {
151
+ continue;
152
+ }
153
+ this.modules[6][r] = (r % 2 == 0);
154
+ }
155
+ },
156
+ /**
157
+ * 设置矫正图形
158
+ * @return {[type]} [description]
159
+ */
160
+ setupPositionAdjustPattern: function () {
161
+ var pos = QRUtil.getPatternPosition(this.typeNumber);
162
+ for (var i = 0; i < pos.length; i++) {
163
+ for (var j = 0; j < pos.length; j++) {
164
+ var row = pos[i];
165
+ var col = pos[j];
166
+ if (this.modules[row][col] != null) {
167
+ continue;
168
+ }
169
+ for (var r = -2; r <= 2; r++) {
170
+ for (var c = -2; c <= 2; c++) {
171
+ if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) {
172
+ this.modules[row + r][col + c] = true;
173
+ } else {
174
+ this.modules[row + r][col + c] = false;
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ },
181
+ /**
182
+ * 设置版本信息(7以上版本才有)
183
+ * @param {bool} test 是否处于判断最佳掩膜阶段
184
+ * @return {[type]} [description]
185
+ */
186
+ setupTypeNumber: function (test) {
187
+ var bits = QRUtil.getBCHTypeNumber(this.typeNumber);
188
+ for (var i = 0; i < 18; i++) {
189
+ var mod = (!test && ((bits >> i) & 1) == 1);
190
+ this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;
191
+ this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;
192
+ }
193
+ },
194
+ /**
195
+ * 设置格式信息(纠错等级和掩膜版本)
196
+ * @param {bool} test
197
+ * @param {num} maskPattern 掩膜版本
198
+ * @return {}
199
+ */
200
+ setupTypeInfo: function (test, maskPattern) {
201
+ var data = (QRErrorCorrectLevel[this.errorCorrectLevel] << 3) | maskPattern;
202
+ var bits = QRUtil.getBCHTypeInfo(data);
203
+ // vertical
204
+ for (var i = 0; i < 15; i++) {
205
+ var mod = (!test && ((bits >> i) & 1) == 1);
206
+ if (i < 6) {
207
+ this.modules[i][8] = mod;
208
+ } else if (i < 8) {
209
+ this.modules[i + 1][8] = mod;
210
+ } else {
211
+ this.modules[this.moduleCount - 15 + i][8] = mod;
212
+ }
213
+ // horizontal
214
+ var mod = (!test && ((bits >> i) & 1) == 1);
215
+ if (i < 8) {
216
+ this.modules[8][this.moduleCount - i - 1] = mod;
217
+ } else if (i < 9) {
218
+ this.modules[8][15 - i - 1 + 1] = mod;
219
+ } else {
220
+ this.modules[8][15 - i - 1] = mod;
221
+ }
222
+ }
223
+ // fixed module
224
+ this.modules[this.moduleCount - 8][8] = (!test);
225
+ },
226
+ /**
227
+ * 数据编码
228
+ * @return {[type]} [description]
229
+ */
230
+ createData: function () {
231
+ var buffer = new QRBitBuffer();
232
+ var lengthBits = this.typeNumber > 9 ? 16 : 8;
233
+ buffer.put(4, 4); //添加模式
234
+ buffer.put(this.utf8bytes.length, lengthBits);
235
+ for (var i = 0, l = this.utf8bytes.length; i < l; i++) {
236
+ buffer.put(this.utf8bytes[i], 8);
237
+ }
238
+ if (buffer.length + 4 <= this.totalDataCount * 8) {
239
+ buffer.put(0, 4);
240
+ }
241
+ // padding
242
+ while (buffer.length % 8 != 0) {
243
+ buffer.putBit(false);
244
+ }
245
+ // padding
246
+ while (true) {
247
+ if (buffer.length >= this.totalDataCount * 8) {
248
+ break;
249
+ }
250
+ buffer.put(QRCodeAlg.PAD0, 8);
251
+ if (buffer.length >= this.totalDataCount * 8) {
252
+ break;
253
+ }
254
+ buffer.put(QRCodeAlg.PAD1, 8);
255
+ }
256
+ return this.createBytes(buffer);
257
+ },
258
+ /**
259
+ * 纠错码编码
260
+ * @param {buffer} buffer 数据编码
261
+ * @return {[type]}
262
+ */
263
+ createBytes: function (buffer) {
264
+ var offset = 0;
265
+ var maxDcCount = 0;
266
+ var maxEcCount = 0;
267
+ var length = this.rsBlock.length / 3;
268
+ var rsBlocks = new Array();
269
+ for (var i = 0; i < length; i++) {
270
+ var count = this.rsBlock[i * 3 + 0];
271
+ var totalCount = this.rsBlock[i * 3 + 1];
272
+ var dataCount = this.rsBlock[i * 3 + 2];
273
+ for (var j = 0; j < count; j++) {
274
+ rsBlocks.push([dataCount, totalCount]);
275
+ }
276
+ }
277
+ var dcdata = new Array(rsBlocks.length);
278
+ var ecdata = new Array(rsBlocks.length);
279
+ for (var r = 0; r < rsBlocks.length; r++) {
280
+ var dcCount = rsBlocks[r][0];
281
+ var ecCount = rsBlocks[r][1] - dcCount;
282
+ maxDcCount = Math.max(maxDcCount, dcCount);
283
+ maxEcCount = Math.max(maxEcCount, ecCount);
284
+ dcdata[r] = new Array(dcCount);
285
+ for (var i = 0; i < dcdata[r].length; i++) {
286
+ dcdata[r][i] = 0xff & buffer.buffer[i + offset];
287
+ }
288
+ offset += dcCount;
289
+ var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);
290
+ var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);
291
+ var modPoly = rawPoly.mod(rsPoly);
292
+ ecdata[r] = new Array(rsPoly.getLength() - 1);
293
+ for (var i = 0; i < ecdata[r].length; i++) {
294
+ var modIndex = i + modPoly.getLength() - ecdata[r].length;
295
+ ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0;
296
+ }
297
+ }
298
+ var data = new Array(this.totalDataCount);
299
+ var index = 0;
300
+ for (var i = 0; i < maxDcCount; i++) {
301
+ for (var r = 0; r < rsBlocks.length; r++) {
302
+ if (i < dcdata[r].length) {
303
+ data[index++] = dcdata[r][i];
304
+ }
305
+ }
306
+ }
307
+ for (var i = 0; i < maxEcCount; i++) {
308
+ for (var r = 0; r < rsBlocks.length; r++) {
309
+ if (i < ecdata[r].length) {
310
+ data[index++] = ecdata[r][i];
311
+ }
312
+ }
313
+ }
314
+ return data;
315
+
316
+ },
317
+ /**
318
+ * 布置模块,构建最终信息
319
+ * @param {} data
320
+ * @param {} maskPattern
321
+ * @return {}
322
+ */
323
+ mapData: function (data, maskPattern) {
324
+ var inc = -1;
325
+ var row = this.moduleCount - 1;
326
+ var bitIndex = 7;
327
+ var byteIndex = 0;
328
+ for (var col = this.moduleCount - 1; col > 0; col -= 2) {
329
+ if (col == 6) col--;
330
+ while (true) {
331
+ for (var c = 0; c < 2; c++) {
332
+ if (this.modules[row][col - c] == null) {
333
+ var dark = false;
334
+ if (byteIndex < data.length) {
335
+ dark = (((data[byteIndex] >>> bitIndex) & 1) == 1);
336
+ }
337
+ var mask = QRUtil.getMask(maskPattern, row, col - c);
338
+ if (mask) {
339
+ dark = !dark;
340
+ }
341
+ this.modules[row][col - c] = dark;
342
+ bitIndex--;
343
+ if (bitIndex == -1) {
344
+ byteIndex++;
345
+ bitIndex = 7;
346
+ }
347
+ }
348
+ }
349
+ row += inc;
350
+ if (row < 0 || this.moduleCount <= row) {
351
+ row -= inc;
352
+ inc = -inc;
353
+ break;
354
+ }
355
+ }
356
+ }
357
+ }
358
+ };
359
+ /**
360
+ * 填充字段
361
+ */
362
+ QRCodeAlg.PAD0 = 0xEC;
363
+ QRCodeAlg.PAD1 = 0x11;
364
+ //---------------------------------------------------------------------
365
+ // 纠错等级对应的编码
366
+ //---------------------------------------------------------------------
367
+ var QRErrorCorrectLevel = [1, 0, 3, 2];
368
+ //---------------------------------------------------------------------
369
+ // 掩膜版本
370
+ //---------------------------------------------------------------------
371
+ var QRMaskPattern = {
372
+ PATTERN000: 0,
373
+ PATTERN001: 1,
374
+ PATTERN010: 2,
375
+ PATTERN011: 3,
376
+ PATTERN100: 4,
377
+ PATTERN101: 5,
378
+ PATTERN110: 6,
379
+ PATTERN111: 7
380
+ };
381
+ //---------------------------------------------------------------------
382
+ // 工具类
383
+ //---------------------------------------------------------------------
384
+ var QRUtil = {
385
+ /*
386
+ 每个版本矫正图形的位置
387
+ */
388
+ PATTERN_POSITION_TABLE: [
389
+ [],
390
+ [6, 18],
391
+ [6, 22],
392
+ [6, 26],
393
+ [6, 30],
394
+ [6, 34],
395
+ [6, 22, 38],
396
+ [6, 24, 42],
397
+ [6, 26, 46],
398
+ [6, 28, 50],
399
+ [6, 30, 54],
400
+ [6, 32, 58],
401
+ [6, 34, 62],
402
+ [6, 26, 46, 66],
403
+ [6, 26, 48, 70],
404
+ [6, 26, 50, 74],
405
+ [6, 30, 54, 78],
406
+ [6, 30, 56, 82],
407
+ [6, 30, 58, 86],
408
+ [6, 34, 62, 90],
409
+ [6, 28, 50, 72, 94],
410
+ [6, 26, 50, 74, 98],
411
+ [6, 30, 54, 78, 102],
412
+ [6, 28, 54, 80, 106],
413
+ [6, 32, 58, 84, 110],
414
+ [6, 30, 58, 86, 114],
415
+ [6, 34, 62, 90, 118],
416
+ [6, 26, 50, 74, 98, 122],
417
+ [6, 30, 54, 78, 102, 126],
418
+ [6, 26, 52, 78, 104, 130],
419
+ [6, 30, 56, 82, 108, 134],
420
+ [6, 34, 60, 86, 112, 138],
421
+ [6, 30, 58, 86, 114, 142],
422
+ [6, 34, 62, 90, 118, 146],
423
+ [6, 30, 54, 78, 102, 126, 150],
424
+ [6, 24, 50, 76, 102, 128, 154],
425
+ [6, 28, 54, 80, 106, 132, 158],
426
+ [6, 32, 58, 84, 110, 136, 162],
427
+ [6, 26, 54, 82, 110, 138, 166],
428
+ [6, 30, 58, 86, 114, 142, 170]
429
+ ],
430
+ G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),
431
+ G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),
432
+ G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
433
+ /*
434
+ BCH编码格式信息
435
+ */
436
+ getBCHTypeInfo: function (data) {
437
+ var d = data << 10;
438
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
439
+ d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15)));
440
+ }
441
+ return ((data << 10) | d) ^ QRUtil.G15_MASK;
442
+ },
443
+ /*
444
+ BCH编码版本信息
445
+ */
446
+ getBCHTypeNumber: function (data) {
447
+ var d = data << 12;
448
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
449
+ d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18)));
450
+ }
451
+ return (data << 12) | d;
452
+ },
453
+ /*
454
+ 获取BCH位信息
455
+ */
456
+ getBCHDigit: function (data) {
457
+ var digit = 0;
458
+ while (data != 0) {
459
+ digit++;
460
+ data >>>= 1;
461
+ }
462
+ return digit;
463
+ },
464
+ /*
465
+ 获取版本对应的矫正图形位置
466
+ */
467
+ getPatternPosition: function (typeNumber) {
468
+ return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];
469
+ },
470
+ /*
471
+ 掩膜算法
472
+ */
473
+ getMask: function (maskPattern, i, j) {
474
+ switch (maskPattern) {
475
+ case QRMaskPattern.PATTERN000:
476
+ return (i + j) % 2 == 0;
477
+ case QRMaskPattern.PATTERN001:
478
+ return i % 2 == 0;
479
+ case QRMaskPattern.PATTERN010:
480
+ return j % 3 == 0;
481
+ case QRMaskPattern.PATTERN011:
482
+ return (i + j) % 3 == 0;
483
+ case QRMaskPattern.PATTERN100:
484
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
485
+ case QRMaskPattern.PATTERN101:
486
+ return (i * j) % 2 + (i * j) % 3 == 0;
487
+ case QRMaskPattern.PATTERN110:
488
+ return ((i * j) % 2 + (i * j) % 3) % 2 == 0;
489
+ case QRMaskPattern.PATTERN111:
490
+ return ((i * j) % 3 + (i + j) % 2) % 2 == 0;
491
+ default:
492
+ throw new Error("bad maskPattern:" + maskPattern);
493
+ }
494
+ },
495
+ /*
496
+ 获取RS的纠错多项式
497
+ */
498
+ getErrorCorrectPolynomial: function (errorCorrectLength) {
499
+ var a = new QRPolynomial([1], 0);
500
+ for (var i = 0; i < errorCorrectLength; i++) {
501
+ a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0));
502
+ }
503
+ return a;
504
+ },
505
+ /*
506
+ 获取评价
507
+ */
508
+ getLostPoint: function (qrCode) {
509
+ var moduleCount = qrCode.getModuleCount(),
510
+ lostPoint = 0,
511
+ darkCount = 0;
512
+ for (var row = 0; row < moduleCount; row++) {
513
+ var sameCount = 0;
514
+ var head = qrCode.modules[row][0];
515
+ for (var col = 0; col < moduleCount; col++) {
516
+ var current = qrCode.modules[row][col];
517
+ //level 3 评价
518
+ if (col < moduleCount - 6) {
519
+ if (current && !qrCode.modules[row][col + 1] && qrCode.modules[row][col + 2] && qrCode.modules[row][col + 3] && qrCode.modules[row][col + 4] && !qrCode.modules[row][col + 5] && qrCode.modules[row][col + 6]) {
520
+ if (col < moduleCount - 10) {
521
+ if (qrCode.modules[row][col + 7] && qrCode.modules[row][col + 8] && qrCode.modules[row][col + 9] && qrCode.modules[row][col + 10]) {
522
+ lostPoint += 40;
523
+ }
524
+ } else if (col > 3) {
525
+ if (qrCode.modules[row][col - 1] && qrCode.modules[row][col - 2] && qrCode.modules[row][col - 3] && qrCode.modules[row][col - 4]) {
526
+ lostPoint += 40;
527
+ }
528
+ }
529
+ }
530
+ }
531
+ //level 2 评价
532
+ if ((row < moduleCount - 1) && (col < moduleCount - 1)) {
533
+ var count = 0;
534
+ if (current) count++;
535
+ if (qrCode.modules[row + 1][col]) count++;
536
+ if (qrCode.modules[row][col + 1]) count++;
537
+ if (qrCode.modules[row + 1][col + 1]) count++;
538
+ if (count == 0 || count == 4) {
539
+ lostPoint += 3;
540
+ }
541
+ }
542
+ //level 1 评价
543
+ if (head ^ current) {
544
+ sameCount++;
545
+ } else {
546
+ head = current;
547
+ if (sameCount >= 5) {
548
+ lostPoint += (3 + sameCount - 5);
549
+ }
550
+ sameCount = 1;
551
+ }
552
+ //level 4 评价
553
+ if (current) {
554
+ darkCount++;
555
+ }
556
+ }
557
+ }
558
+ for (var col = 0; col < moduleCount; col++) {
559
+ var sameCount = 0;
560
+ var head = qrCode.modules[0][col];
561
+ for (var row = 0; row < moduleCount; row++) {
562
+ var current = qrCode.modules[row][col];
563
+ //level 3 评价
564
+ if (row < moduleCount - 6) {
565
+ if (current && !qrCode.modules[row + 1][col] && qrCode.modules[row + 2][col] && qrCode.modules[row + 3][col] && qrCode.modules[row + 4][col] && !qrCode.modules[row + 5][col] && qrCode.modules[row + 6][col]) {
566
+ if (row < moduleCount - 10) {
567
+ if (qrCode.modules[row + 7][col] && qrCode.modules[row + 8][col] && qrCode.modules[row + 9][col] && qrCode.modules[row + 10][col]) {
568
+ lostPoint += 40;
569
+ }
570
+ } else if (row > 3) {
571
+ if (qrCode.modules[row - 1][col] && qrCode.modules[row - 2][col] && qrCode.modules[row - 3][col] && qrCode.modules[row - 4][col]) {
572
+ lostPoint += 40;
573
+ }
574
+ }
575
+ }
576
+ }
577
+ //level 1 评价
578
+ if (head ^ current) {
579
+ sameCount++;
580
+ } else {
581
+ head = current;
582
+ if (sameCount >= 5) {
583
+ lostPoint += (3 + sameCount - 5);
584
+ }
585
+ sameCount = 1;
586
+ }
587
+ }
588
+ }
589
+ // LEVEL4
590
+ var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
591
+ lostPoint += ratio * 10;
592
+ return lostPoint;
593
+ }
594
+
595
+ };
596
+ //---------------------------------------------------------------------
597
+ // QRMath使用的数学工具
598
+ //---------------------------------------------------------------------
599
+ var QRMath = {
600
+ /*
601
+ 将n转化为a^m
602
+ */
603
+ glog: function (n) {
604
+ if (n < 1) {
605
+ throw new Error("glog(" + n + ")");
606
+ }
607
+ return QRMath.LOG_TABLE[n];
608
+ },
609
+ /*
610
+ 将a^m转化为n
611
+ */
612
+ gexp: function (n) {
613
+ while (n < 0) {
614
+ n += 255;
615
+ }
616
+ while (n >= 256) {
617
+ n -= 255;
618
+ }
619
+ return QRMath.EXP_TABLE[n];
620
+ },
621
+ EXP_TABLE: new Array(256),
622
+ LOG_TABLE: new Array(256)
623
+
624
+ };
625
+ for (var i = 0; i < 8; i++) {
626
+ QRMath.EXP_TABLE[i] = 1 << i;
627
+ }
628
+ for (var i = 8; i < 256; i++) {
629
+ QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];
630
+ }
631
+ for (var i = 0; i < 255; i++) {
632
+ QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;
633
+ }
634
+ //---------------------------------------------------------------------
635
+ // QRPolynomial 多项式
636
+ //---------------------------------------------------------------------
637
+ /**
638
+ * 多项式类
639
+ * @param {Array} num 系数
640
+ * @param {num} shift a^shift
641
+ */
642
+ function QRPolynomial(num, shift) {
643
+ if (num.length == undefined) {
644
+ throw new Error(num.length + "/" + shift);
645
+ }
646
+ var offset = 0;
647
+ while (offset < num.length && num[offset] == 0) {
648
+ offset++;
649
+ }
650
+ this.num = new Array(num.length - offset + shift);
651
+ for (var i = 0; i < num.length - offset; i++) {
652
+ this.num[i] = num[i + offset];
653
+ }
654
+ }
655
+ QRPolynomial.prototype = {
656
+ get: function (index) {
657
+ return this.num[index];
658
+ },
659
+ getLength: function () {
660
+ return this.num.length;
661
+ },
662
+ /**
663
+ * 多项式乘法
664
+ * @param {QRPolynomial} e 被乘多项式
665
+ * @return {[type]} [description]
666
+ */
667
+ multiply: function (e) {
668
+ var num = new Array(this.getLength() + e.getLength() - 1);
669
+ for (var i = 0; i < this.getLength(); i++) {
670
+ for (var j = 0; j < e.getLength(); j++) {
671
+ num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j)));
672
+ }
673
+ }
674
+ return new QRPolynomial(num, 0);
675
+ },
676
+ /**
677
+ * 多项式模运算
678
+ * @param {QRPolynomial} e 模多项式
679
+ * @return {}
680
+ */
681
+ mod: function (e) {
682
+ var tl = this.getLength(),
683
+ el = e.getLength();
684
+ if (tl - el < 0) {
685
+ return this;
686
+ }
687
+ var num = new Array(tl);
688
+ for (var i = 0; i < tl; i++) {
689
+ num[i] = this.get(i);
690
+ }
691
+ while (num.length >= el) {
692
+ var ratio = QRMath.glog(num[0]) - QRMath.glog(e.get(0));
693
+
694
+ for (var i = 0; i < e.getLength(); i++) {
695
+ num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio);
696
+ }
697
+ while (num[0] == 0) {
698
+ num.shift();
699
+ }
700
+ }
701
+ return new QRPolynomial(num, 0);
702
+ }
703
+ };
704
+
705
+ //---------------------------------------------------------------------
706
+ // RS_BLOCK_TABLE
707
+ //---------------------------------------------------------------------
708
+ /*
709
+ 二维码各个版本信息[块数, 每块中的数据块数, 每块中的信息块数]
710
+ */
711
+ var RS_BLOCK_TABLE = [
712
+ // L
713
+ // M
714
+ // Q
715
+ // H
716
+ // 1
717
+ [1, 26, 19],
718
+ [1, 26, 16],
719
+ [1, 26, 13],
720
+ [1, 26, 9],
721
+
722
+ // 2
723
+ [1, 44, 34],
724
+ [1, 44, 28],
725
+ [1, 44, 22],
726
+ [1, 44, 16],
727
+
728
+ // 3
729
+ [1, 70, 55],
730
+ [1, 70, 44],
731
+ [2, 35, 17],
732
+ [2, 35, 13],
733
+
734
+ // 4
735
+ [1, 100, 80],
736
+ [2, 50, 32],
737
+ [2, 50, 24],
738
+ [4, 25, 9],
739
+
740
+ // 5
741
+ [1, 134, 108],
742
+ [2, 67, 43],
743
+ [2, 33, 15, 2, 34, 16],
744
+ [2, 33, 11, 2, 34, 12],
745
+
746
+ // 6
747
+ [2, 86, 68],
748
+ [4, 43, 27],
749
+ [4, 43, 19],
750
+ [4, 43, 15],
751
+
752
+ // 7
753
+ [2, 98, 78],
754
+ [4, 49, 31],
755
+ [2, 32, 14, 4, 33, 15],
756
+ [4, 39, 13, 1, 40, 14],
757
+
758
+ // 8
759
+ [2, 121, 97],
760
+ [2, 60, 38, 2, 61, 39],
761
+ [4, 40, 18, 2, 41, 19],
762
+ [4, 40, 14, 2, 41, 15],
763
+
764
+ // 9
765
+ [2, 146, 116],
766
+ [3, 58, 36, 2, 59, 37],
767
+ [4, 36, 16, 4, 37, 17],
768
+ [4, 36, 12, 4, 37, 13],
769
+
770
+ // 10
771
+ [2, 86, 68, 2, 87, 69],
772
+ [4, 69, 43, 1, 70, 44],
773
+ [6, 43, 19, 2, 44, 20],
774
+ [6, 43, 15, 2, 44, 16],
775
+
776
+ // 11
777
+ [4, 101, 81],
778
+ [1, 80, 50, 4, 81, 51],
779
+ [4, 50, 22, 4, 51, 23],
780
+ [3, 36, 12, 8, 37, 13],
781
+
782
+ // 12
783
+ [2, 116, 92, 2, 117, 93],
784
+ [6, 58, 36, 2, 59, 37],
785
+ [4, 46, 20, 6, 47, 21],
786
+ [7, 42, 14, 4, 43, 15],
787
+
788
+ // 13
789
+ [4, 133, 107],
790
+ [8, 59, 37, 1, 60, 38],
791
+ [8, 44, 20, 4, 45, 21],
792
+ [12, 33, 11, 4, 34, 12],
793
+
794
+ // 14
795
+ [3, 145, 115, 1, 146, 116],
796
+ [4, 64, 40, 5, 65, 41],
797
+ [11, 36, 16, 5, 37, 17],
798
+ [11, 36, 12, 5, 37, 13],
799
+
800
+ // 15
801
+ [5, 109, 87, 1, 110, 88],
802
+ [5, 65, 41, 5, 66, 42],
803
+ [5, 54, 24, 7, 55, 25],
804
+ [11, 36, 12],
805
+
806
+ // 16
807
+ [5, 122, 98, 1, 123, 99],
808
+ [7, 73, 45, 3, 74, 46],
809
+ [15, 43, 19, 2, 44, 20],
810
+ [3, 45, 15, 13, 46, 16],
811
+
812
+ // 17
813
+ [1, 135, 107, 5, 136, 108],
814
+ [10, 74, 46, 1, 75, 47],
815
+ [1, 50, 22, 15, 51, 23],
816
+ [2, 42, 14, 17, 43, 15],
817
+
818
+ // 18
819
+ [5, 150, 120, 1, 151, 121],
820
+ [9, 69, 43, 4, 70, 44],
821
+ [17, 50, 22, 1, 51, 23],
822
+ [2, 42, 14, 19, 43, 15],
823
+
824
+ // 19
825
+ [3, 141, 113, 4, 142, 114],
826
+ [3, 70, 44, 11, 71, 45],
827
+ [17, 47, 21, 4, 48, 22],
828
+ [9, 39, 13, 16, 40, 14],
829
+
830
+ // 20
831
+ [3, 135, 107, 5, 136, 108],
832
+ [3, 67, 41, 13, 68, 42],
833
+ [15, 54, 24, 5, 55, 25],
834
+ [15, 43, 15, 10, 44, 16],
835
+
836
+ // 21
837
+ [4, 144, 116, 4, 145, 117],
838
+ [17, 68, 42],
839
+ [17, 50, 22, 6, 51, 23],
840
+ [19, 46, 16, 6, 47, 17],
841
+
842
+ // 22
843
+ [2, 139, 111, 7, 140, 112],
844
+ [17, 74, 46],
845
+ [7, 54, 24, 16, 55, 25],
846
+ [34, 37, 13],
847
+
848
+ // 23
849
+ [4, 151, 121, 5, 152, 122],
850
+ [4, 75, 47, 14, 76, 48],
851
+ [11, 54, 24, 14, 55, 25],
852
+ [16, 45, 15, 14, 46, 16],
853
+
854
+ // 24
855
+ [6, 147, 117, 4, 148, 118],
856
+ [6, 73, 45, 14, 74, 46],
857
+ [11, 54, 24, 16, 55, 25],
858
+ [30, 46, 16, 2, 47, 17],
859
+
860
+ // 25
861
+ [8, 132, 106, 4, 133, 107],
862
+ [8, 75, 47, 13, 76, 48],
863
+ [7, 54, 24, 22, 55, 25],
864
+ [22, 45, 15, 13, 46, 16],
865
+
866
+ // 26
867
+ [10, 142, 114, 2, 143, 115],
868
+ [19, 74, 46, 4, 75, 47],
869
+ [28, 50, 22, 6, 51, 23],
870
+ [33, 46, 16, 4, 47, 17],
871
+
872
+ // 27
873
+ [8, 152, 122, 4, 153, 123],
874
+ [22, 73, 45, 3, 74, 46],
875
+ [8, 53, 23, 26, 54, 24],
876
+ [12, 45, 15, 28, 46, 16],
877
+
878
+ // 28
879
+ [3, 147, 117, 10, 148, 118],
880
+ [3, 73, 45, 23, 74, 46],
881
+ [4, 54, 24, 31, 55, 25],
882
+ [11, 45, 15, 31, 46, 16],
883
+
884
+ // 29
885
+ [7, 146, 116, 7, 147, 117],
886
+ [21, 73, 45, 7, 74, 46],
887
+ [1, 53, 23, 37, 54, 24],
888
+ [19, 45, 15, 26, 46, 16],
889
+
890
+ // 30
891
+ [5, 145, 115, 10, 146, 116],
892
+ [19, 75, 47, 10, 76, 48],
893
+ [15, 54, 24, 25, 55, 25],
894
+ [23, 45, 15, 25, 46, 16],
895
+
896
+ // 31
897
+ [13, 145, 115, 3, 146, 116],
898
+ [2, 74, 46, 29, 75, 47],
899
+ [42, 54, 24, 1, 55, 25],
900
+ [23, 45, 15, 28, 46, 16],
901
+
902
+ // 32
903
+ [17, 145, 115],
904
+ [10, 74, 46, 23, 75, 47],
905
+ [10, 54, 24, 35, 55, 25],
906
+ [19, 45, 15, 35, 46, 16],
907
+
908
+ // 33
909
+ [17, 145, 115, 1, 146, 116],
910
+ [14, 74, 46, 21, 75, 47],
911
+ [29, 54, 24, 19, 55, 25],
912
+ [11, 45, 15, 46, 46, 16],
913
+
914
+ // 34
915
+ [13, 145, 115, 6, 146, 116],
916
+ [14, 74, 46, 23, 75, 47],
917
+ [44, 54, 24, 7, 55, 25],
918
+ [59, 46, 16, 1, 47, 17],
919
+
920
+ // 35
921
+ [12, 151, 121, 7, 152, 122],
922
+ [12, 75, 47, 26, 76, 48],
923
+ [39, 54, 24, 14, 55, 25],
924
+ [22, 45, 15, 41, 46, 16],
925
+
926
+ // 36
927
+ [6, 151, 121, 14, 152, 122],
928
+ [6, 75, 47, 34, 76, 48],
929
+ [46, 54, 24, 10, 55, 25],
930
+ [2, 45, 15, 64, 46, 16],
931
+
932
+ // 37
933
+ [17, 152, 122, 4, 153, 123],
934
+ [29, 74, 46, 14, 75, 47],
935
+ [49, 54, 24, 10, 55, 25],
936
+ [24, 45, 15, 46, 46, 16],
937
+
938
+ // 38
939
+ [4, 152, 122, 18, 153, 123],
940
+ [13, 74, 46, 32, 75, 47],
941
+ [48, 54, 24, 14, 55, 25],
942
+ [42, 45, 15, 32, 46, 16],
943
+
944
+ // 39
945
+ [20, 147, 117, 4, 148, 118],
946
+ [40, 75, 47, 7, 76, 48],
947
+ [43, 54, 24, 22, 55, 25],
948
+ [10, 45, 15, 67, 46, 16],
949
+
950
+ // 40
951
+ [19, 148, 118, 6, 149, 119],
952
+ [18, 75, 47, 31, 76, 48],
953
+ [34, 54, 24, 34, 55, 25],
954
+ [20, 45, 15, 61, 46, 16]
955
+ ];
956
+
957
+ /**
958
+ * 根据数据获取对应版本
959
+ * @return {[type]} [description]
960
+ */
961
+ QRCodeAlg.prototype.getRightType = function () {
962
+ for (var typeNumber = 1; typeNumber < 41; typeNumber++) {
963
+ var rsBlock = RS_BLOCK_TABLE[(typeNumber - 1) * 4 + this.errorCorrectLevel];
964
+ if (rsBlock == undefined) {
965
+ throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + this.errorCorrectLevel);
966
+ }
967
+ var length = rsBlock.length / 3;
968
+ var totalDataCount = 0;
969
+ for (var i = 0; i < length; i++) {
970
+ var count = rsBlock[i * 3 + 0];
971
+ var dataCount = rsBlock[i * 3 + 2];
972
+ totalDataCount += dataCount * count;
973
+ }
974
+ var lengthBytes = typeNumber > 9 ? 2 : 1;
975
+ if (this.utf8bytes.length + lengthBytes < totalDataCount || typeNumber == 40) {
976
+ this.typeNumber = typeNumber;
977
+ this.rsBlock = rsBlock;
978
+ this.totalDataCount = totalDataCount;
979
+ break;
980
+ }
981
+ }
982
+ };
983
+
984
+ //---------------------------------------------------------------------
985
+ // QRBitBuffer
986
+ //---------------------------------------------------------------------
987
+ function QRBitBuffer() {
988
+ this.buffer = new Array();
989
+ this.length = 0;
990
+ }
991
+ QRBitBuffer.prototype = {
992
+ get: function (index) {
993
+ var bufIndex = Math.floor(index / 8);
994
+ return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1);
995
+ },
996
+ put: function (num, length) {
997
+ for (var i = 0; i < length; i++) {
998
+ this.putBit(((num >>> (length - i - 1)) & 1));
999
+ }
1000
+ },
1001
+ putBit: function (bit) {
1002
+ var bufIndex = Math.floor(this.length / 8);
1003
+ if (this.buffer.length <= bufIndex) {
1004
+ this.buffer.push(0);
1005
+ }
1006
+ if (bit) {
1007
+ this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));
1008
+ }
1009
+ this.length++;
1010
+ }
1011
+ };
1012
+
1013
+
1014
+
1015
+ // xzedit
1016
+ let qrcodeAlgObjCache = [];
1017
+ /**
1018
+ * 二维码构造函数,主要用于绘制
1019
+ * @param {参数列表} opt 传递参数
1020
+ * @return {}
1021
+ */
1022
+ QRCode = function (opt) {
1023
+ //设置默认参数
1024
+ this.options = {
1025
+ text: '',
1026
+ size: 256,
1027
+ correctLevel: 3,
1028
+ background: '#ffffff',
1029
+ foreground: '#000000',
1030
+ pdground: '#000000',
1031
+ image: '',
1032
+ imageSize: 30,
1033
+ canvasId: opt.canvasId,
1034
+ nvueContext: opt.nvueContext,
1035
+ context: opt.context,
1036
+ usingComponents: opt.usingComponents,
1037
+ showLoading: opt.showLoading,
1038
+ loadingText: opt.loadingText,
1039
+ };
1040
+ if (typeof opt === 'string') { // 只编码ASCII字符串
1041
+ opt = {
1042
+ text: opt
1043
+ };
1044
+ }
1045
+ if (opt) {
1046
+ for (var i in opt) {
1047
+ this.options[i] = opt[i];
1048
+ }
1049
+ }
1050
+ //使用QRCodeAlg创建二维码结构
1051
+ var qrCodeAlg = null;
1052
+ for (var i = 0, l = qrcodeAlgObjCache.length; i < l; i++) {
1053
+ if (qrcodeAlgObjCache[i].text == this.options.text && qrcodeAlgObjCache[i].text.correctLevel == this.options.correctLevel) {
1054
+ qrCodeAlg = qrcodeAlgObjCache[i].obj;
1055
+ break;
1056
+ }
1057
+ }
1058
+ if (i == l) {
1059
+ qrCodeAlg = new QRCodeAlg(this.options.text, this.options.correctLevel);
1060
+ qrcodeAlgObjCache.push({
1061
+ text: this.options.text,
1062
+ correctLevel: this.options.correctLevel,
1063
+ obj: qrCodeAlg
1064
+ });
1065
+ }
1066
+ /**
1067
+ * 计算矩阵点的前景色
1068
+ * @param {Obj} config
1069
+ * @param {Number} config.row 点x坐标
1070
+ * @param {Number} config.col 点y坐标
1071
+ * @param {Number} config.count 矩阵大小
1072
+ * @param {Number} config.options 组件的options
1073
+ * @return {String}
1074
+ */
1075
+ let getForeGround = function (config) {
1076
+ var options = config.options;
1077
+ if (options.pdground && (
1078
+ (config.row > 1 && config.row < 5 && config.col > 1 && config.col < 5) ||
1079
+ (config.row > (config.count - 6) && config.row < (config.count - 2) && config.col > 1 && config.col < 5) ||
1080
+ (config.row > 1 && config.row < 5 && config.col > (config.count - 6) && config.col < (config.count - 2))
1081
+ )) {
1082
+ return options.pdground;
1083
+ }
1084
+ return options.foreground;
1085
+ }
1086
+ // 创建canvas
1087
+ let createCanvas = function (options) {
1088
+ if(options.showLoading){
1089
+ uni.showLoading({
1090
+ title: options.loadingText,
1091
+ mask: true
1092
+ });
1093
+ }
1094
+ var ctx = '';
1095
+ if (options.nvueContext) {
1096
+ ctx = options.nvueContext;
1097
+ } else {
1098
+ ctx = uni.createCanvasContext(options.canvasId, options.context);
1099
+ }
1100
+ var count = qrCodeAlg.getModuleCount();
1101
+ var ratioSize = options.size;
1102
+ var ratioImgSize = options.imageSize;
1103
+ //计算每个点的长宽
1104
+ var tileW = (ratioSize / count).toPrecision(4);
1105
+ var tileH = (ratioSize / count).toPrecision(4);
1106
+ //绘制
1107
+ for (var row = 0; row < count; row++) {
1108
+ for (var col = 0; col < count; col++) {
1109
+ var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW));
1110
+ var h = (Math.ceil((row + 1) * tileW) - Math.floor(row * tileW));
1111
+ var foreground = getForeGround({
1112
+ row: row,
1113
+ col: col,
1114
+ count: count,
1115
+ options: options
1116
+ });
1117
+ ctx.setFillStyle(qrCodeAlg.modules[row][col] ? foreground : options.background);
1118
+ ctx.fillRect(Math.round(col * tileW), Math.round(row * tileH), w, h);
1119
+ }
1120
+ }
1121
+ if (options.image) {
1122
+ var x = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
1123
+ var y = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
1124
+ drawRoundedRect(ctx, x, y, ratioImgSize, ratioImgSize, 2, 6, true, true)
1125
+ ctx.drawImage(options.image, x, y, ratioImgSize, ratioImgSize);
1126
+ // 画圆角矩形
1127
+ function drawRoundedRect(ctxi, x, y, width, height, r, lineWidth, fill, stroke) {
1128
+ ctxi.setLineWidth(lineWidth);
1129
+ ctxi.setFillStyle(options.background);
1130
+ ctxi.setStrokeStyle(options.background);
1131
+ ctxi.beginPath(); // draw top and top right corner
1132
+ ctxi.moveTo(x + r, y);
1133
+ ctxi.arcTo(x + width, y, x + width, y + r, r); // draw right side and bottom right corner
1134
+ ctxi.arcTo(x + width, y + height, x + width - r, y + height, r); // draw bottom and bottom left corner
1135
+ ctxi.arcTo(x, y + height, x, y + height - r, r); // draw left and top left corner
1136
+ ctxi.arcTo(x, y, x + r, y, r);
1137
+ ctxi.closePath();
1138
+ if (fill) {
1139
+ ctxi.fill();
1140
+ }
1141
+ if (stroke) {
1142
+ ctxi.stroke();
1143
+ }
1144
+ }
1145
+ }
1146
+ setTimeout(() => {
1147
+ ctx.draw(true, () => {
1148
+ // 保存到临时区域
1149
+ setTimeout(() => {
1150
+ if (options.nvueContext) {
1151
+ ctx.toTempFilePath(
1152
+ 0,
1153
+ 0,
1154
+ options.width,
1155
+ options.height,
1156
+ options.width,
1157
+ options.height,
1158
+ "",
1159
+ 1,
1160
+ function(res) {
1161
+ if (options.cbResult) {
1162
+ options.cbResult(res.tempFilePath)
1163
+ }
1164
+ }
1165
+ );
1166
+ } else {
1167
+ uni.canvasToTempFilePath({
1168
+ width: options.width,
1169
+ height: options.height,
1170
+ destWidth: options.width,
1171
+ destHeight: options.height,
1172
+ canvasId: options.canvasId,
1173
+ quality: Number(1),
1174
+ success: function (res) {
1175
+ if (options.cbResult) {
1176
+ // 由于官方还没有统一此接口的输出字段,所以先判定下 支付宝为 res.apFilePath
1177
+ if (!empty(res.tempFilePath)) {
1178
+ options.cbResult(res.tempFilePath)
1179
+ } else if (!empty(res.apFilePath)) {
1180
+ options.cbResult(res.apFilePath)
1181
+ } else {
1182
+ options.cbResult(res.tempFilePath)
1183
+ }
1184
+ }
1185
+ },
1186
+ fail: function (res) {
1187
+ if (options.cbResult) {
1188
+ options.cbResult(res)
1189
+ }
1190
+ },
1191
+ complete: function () {
1192
+ uni.hideLoading();
1193
+ },
1194
+ }, options.context);
1195
+ }
1196
+ }, options.text.length + 100);
1197
+ });
1198
+ }, options.usingComponents ? 0 : 150);
1199
+ }
1200
+ createCanvas(this.options);
1201
+ // 空判定
1202
+ let empty = function (v) {
1203
+ let tp = typeof v,
1204
+ rt = false;
1205
+ if (tp == "number" && String(v) == "") {
1206
+ rt = true
1207
+ } else if (tp == "undefined") {
1208
+ rt = true
1209
+ } else if (tp == "object") {
1210
+ if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
1211
+ } else if (tp == "string") {
1212
+ if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
1213
+ } else if (tp == "function") {
1214
+ rt = false
1215
+ }
1216
+ return rt
1217
+ }
1218
+ };
1219
+ QRCode.prototype.clear = function (fn) {
1220
+ var ctx = '';
1221
+ if (options.nvueContext) {
1222
+ ctx = options.nvueContext;
1223
+ } else {
1224
+ uni.createCanvasContext(this.options.canvasId, this.options.context)
1225
+ }
1226
+ ctx.clearRect(0, 0, this.options.size, this.options.size)
1227
+ ctx.draw(false, () => {
1228
+ if (fn) {
1229
+ fn()
1230
+ }
1231
+ })
1232
+ };
1233
+ })()
1234
+
1235
+ export default QRCode