uview-ultra 4.5.46

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 (1015) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +76 -0
  3. package/changelog.md +1421 -0
  4. package/components/up-action-sheet/actionSheet.js +26 -0
  5. package/components/up-action-sheet/actionSheet.uts +36 -0
  6. package/components/up-action-sheet/props.js +62 -0
  7. package/components/up-action-sheet/props.uts +66 -0
  8. package/components/up-action-sheet/types.uts +86 -0
  9. package/components/up-action-sheet/up-action-sheet.uvue +390 -0
  10. package/components/up-action-sheet/up-action-sheet.vue +348 -0
  11. package/components/up-action-sheet-data/up-action-sheet-data.uvue +112 -0
  12. package/components/up-action-sheet-data/up-action-sheet-data.vue +109 -0
  13. package/components/up-agreement/up-agreement.uvue +80 -0
  14. package/components/up-agreement/up-agreement.vue +91 -0
  15. package/components/up-album/album.js +28 -0
  16. package/components/up-album/album.uts +28 -0
  17. package/components/up-album/props.js +93 -0
  18. package/components/up-album/props.uts +84 -0
  19. package/components/up-album/up-album.uvue +377 -0
  20. package/components/up-album/up-album.vue +261 -0
  21. package/components/up-alert/alert.js +22 -0
  22. package/components/up-alert/alert.uts +22 -0
  23. package/components/up-alert/props.js +46 -0
  24. package/components/up-alert/props.uts +48 -0
  25. package/components/up-alert/up-alert.uvue +286 -0
  26. package/components/up-alert/up-alert.vue +231 -0
  27. package/components/up-avatar/avatar.js +28 -0
  28. package/components/up-avatar/avatar.uts +28 -0
  29. package/components/up-avatar/props.js +82 -0
  30. package/components/up-avatar/props.uts +82 -0
  31. package/components/up-avatar/up-avatar.uvue +242 -0
  32. package/components/up-avatar/up-avatar.vue +168 -0
  33. package/components/up-avatar-group/avatarGroup.js +23 -0
  34. package/components/up-avatar-group/avatarGroup.uts +23 -0
  35. package/components/up-avatar-group/props.js +54 -0
  36. package/components/up-avatar-group/props.uts +55 -0
  37. package/components/up-avatar-group/up-avatar-group.uvue +160 -0
  38. package/components/up-avatar-group/up-avatar-group.vue +109 -0
  39. package/components/up-back-top/backtop.js +27 -0
  40. package/components/up-back-top/backtop.uts +27 -0
  41. package/components/up-back-top/props.js +56 -0
  42. package/components/up-back-top/props.uts +57 -0
  43. package/components/up-back-top/up-back-top.uvue +161 -0
  44. package/components/up-back-top/up-back-top.vue +141 -0
  45. package/components/up-badge/badge.js +27 -0
  46. package/components/up-badge/badge.uts +27 -0
  47. package/components/up-badge/props.js +79 -0
  48. package/components/up-badge/props.uts +89 -0
  49. package/components/up-badge/up-badge.uvue +266 -0
  50. package/components/up-badge/up-badge.vue +157 -0
  51. package/components/up-barcode/up-barcode.uvue +818 -0
  52. package/components/up-barcode/up-barcode.vue +902 -0
  53. package/components/up-box/box.js +24 -0
  54. package/components/up-box/box.uts +24 -0
  55. package/components/up-box/props.js +57 -0
  56. package/components/up-box/props.uts +58 -0
  57. package/components/up-box/up-box.uvue +143 -0
  58. package/components/up-box/up-box.vue +104 -0
  59. package/components/up-button/button.js +42 -0
  60. package/components/up-button/button.uts +42 -0
  61. package/components/up-button/nvue.scss +46 -0
  62. package/components/up-button/props.js +155 -0
  63. package/components/up-button/props.uts +164 -0
  64. package/components/up-button/up-button.uvue +611 -0
  65. package/components/up-button/up-button.vue +456 -0
  66. package/components/up-button/vue.scss +85 -0
  67. package/components/up-calendar/calendar.js +75 -0
  68. package/components/up-calendar/calendar.uts +61 -0
  69. package/components/up-calendar/header.uvue +233 -0
  70. package/components/up-calendar/header.vue +239 -0
  71. package/components/up-calendar/month.uvue +565 -0
  72. package/components/up-calendar/month.vue +709 -0
  73. package/components/up-calendar/props.js +262 -0
  74. package/components/up-calendar/props.uts +244 -0
  75. package/components/up-calendar/types.uts +18 -0
  76. package/components/up-calendar/up-calendar.uvue +829 -0
  77. package/components/up-calendar/up-calendar.vue +922 -0
  78. package/components/up-calendar/util.js +86 -0
  79. package/components/up-calendar/util.uts +93 -0
  80. package/components/up-calendar-strip/calendarStrip.js +36 -0
  81. package/components/up-calendar-strip/props.js +70 -0
  82. package/components/up-calendar-strip/up-calendar-strip.vue +515 -0
  83. package/components/up-canvas/up-canvas.uvue +508 -0
  84. package/components/up-canvas/up-canvas.vue +655 -0
  85. package/components/up-car-keyboard/carKeyboard.js +15 -0
  86. package/components/up-car-keyboard/carKeyboard.uts +16 -0
  87. package/components/up-car-keyboard/props.js +17 -0
  88. package/components/up-car-keyboard/props.uts +27 -0
  89. package/components/up-car-keyboard/up-car-keyboard.uvue +369 -0
  90. package/components/up-car-keyboard/up-car-keyboard.vue +357 -0
  91. package/components/up-card/card.uts +58 -0
  92. package/components/up-card/props.js +140 -0
  93. package/components/up-card/props.uts +150 -0
  94. package/components/up-card/up-card.uvue +308 -0
  95. package/components/up-card/up-card.vue +188 -0
  96. package/components/up-cascader/up-cascader.uvue +427 -0
  97. package/components/up-cascader/up-cascader.vue +331 -0
  98. package/components/up-cate-tab/up-cate-tab.uvue +426 -0
  99. package/components/up-cate-tab/up-cate-tab.vue +374 -0
  100. package/components/up-cell/cell.js +35 -0
  101. package/components/up-cell/cell.uts +35 -0
  102. package/components/up-cell/props.js +113 -0
  103. package/components/up-cell/props.uts +108 -0
  104. package/components/up-cell/up-cell.uvue +336 -0
  105. package/components/up-cell/up-cell.vue +266 -0
  106. package/components/up-cell-group/cellGroup.js +16 -0
  107. package/components/up-cell-group/cellGroup.uts +16 -0
  108. package/components/up-cell-group/props.js +16 -0
  109. package/components/up-cell-group/props.uts +26 -0
  110. package/components/up-cell-group/up-cell-group.uvue +70 -0
  111. package/components/up-cell-group/up-cell-group.vue +72 -0
  112. package/components/up-checkbox/checkbox.js +27 -0
  113. package/components/up-checkbox/checkbox.uts +27 -0
  114. package/components/up-checkbox/props.js +76 -0
  115. package/components/up-checkbox/props.uts +77 -0
  116. package/components/up-checkbox/up-checkbox.uvue +533 -0
  117. package/components/up-checkbox/up-checkbox.vue +409 -0
  118. package/components/up-checkbox-group/checkboxGroup.js +29 -0
  119. package/components/up-checkbox-group/checkboxGroup.uts +29 -0
  120. package/components/up-checkbox-group/props.js +93 -0
  121. package/components/up-checkbox-group/props.uts +84 -0
  122. package/components/up-checkbox-group/up-checkbox-group.uvue +211 -0
  123. package/components/up-checkbox-group/up-checkbox-group.vue +185 -0
  124. package/components/up-choose/up-choose.uvue +130 -0
  125. package/components/up-choose/up-choose.vue +117 -0
  126. package/components/up-circle-progress/circleProgress.js +15 -0
  127. package/components/up-circle-progress/props.js +10 -0
  128. package/components/up-circle-progress/up-circle-progress.vue +187 -0
  129. package/components/up-city-locate/up-city-locate.uvue +188 -0
  130. package/components/up-city-locate/up-city-locate.vue +162 -0
  131. package/components/up-code/code.js +21 -0
  132. package/components/up-code/code.uts +20 -0
  133. package/components/up-code/props.js +36 -0
  134. package/components/up-code/props.uts +47 -0
  135. package/components/up-code/up-code.uvue +184 -0
  136. package/components/up-code/up-code.vue +117 -0
  137. package/components/up-code-input/codeInput.js +29 -0
  138. package/components/up-code-input/codeInput.uts +29 -0
  139. package/components/up-code-input/props.js +90 -0
  140. package/components/up-code-input/props.uts +83 -0
  141. package/components/up-code-input/up-code-input.uvue +365 -0
  142. package/components/up-code-input/up-code-input.vue +269 -0
  143. package/components/up-col/col.js +19 -0
  144. package/components/up-col/col.uts +19 -0
  145. package/components/up-col/props.js +32 -0
  146. package/components/up-col/props.uts +41 -0
  147. package/components/up-col/up-col.uvue +215 -0
  148. package/components/up-col/up-col.vue +160 -0
  149. package/components/up-collapse/collapse.js +17 -0
  150. package/components/up-collapse/collapse.uts +17 -0
  151. package/components/up-collapse/props.js +21 -0
  152. package/components/up-collapse/props.uts +23 -0
  153. package/components/up-collapse/up-collapse.uvue +133 -0
  154. package/components/up-collapse/up-collapse.vue +116 -0
  155. package/components/up-collapse-item/collapseItem.js +26 -0
  156. package/components/up-collapse-item/collapseItem.uts +26 -0
  157. package/components/up-collapse-item/props.js +66 -0
  158. package/components/up-collapse-item/props.uts +69 -0
  159. package/components/up-collapse-item/up-collapse-item.uvue +294 -0
  160. package/components/up-collapse-item/up-collapse-item.vue +279 -0
  161. package/components/up-color-picker/up-color-picker.uvue +1045 -0
  162. package/components/up-color-picker/up-color-picker.vue +1081 -0
  163. package/components/up-column-notice/columnNotice.js +24 -0
  164. package/components/up-column-notice/columnNotice.uts +24 -0
  165. package/components/up-column-notice/props.js +57 -0
  166. package/components/up-column-notice/props.uts +59 -0
  167. package/components/up-column-notice/up-column-notice.uvue +198 -0
  168. package/components/up-column-notice/up-column-notice.vue +162 -0
  169. package/components/up-copy/up-copy.uvue +77 -0
  170. package/components/up-copy/up-copy.vue +75 -0
  171. package/components/up-count-down/countDown.js +18 -0
  172. package/components/up-count-down/countDown.uts +18 -0
  173. package/components/up-count-down/props.js +26 -0
  174. package/components/up-count-down/props.uts +37 -0
  175. package/components/up-count-down/up-count-down.uvue +198 -0
  176. package/components/up-count-down/up-count-down.vue +186 -0
  177. package/components/up-count-down/utils.js +62 -0
  178. package/components/up-count-down/utils.uts +67 -0
  179. package/components/up-count-to/countTo.js +25 -0
  180. package/components/up-count-to/countTo.uts +25 -0
  181. package/components/up-count-to/props.js +61 -0
  182. package/components/up-count-to/props.uts +72 -0
  183. package/components/up-count-to/up-count-to.uvue +309 -0
  184. package/components/up-count-to/up-count-to.vue +209 -0
  185. package/components/up-coupon/up-coupon.uvue +346 -0
  186. package/components/up-coupon/up-coupon.vue +415 -0
  187. package/components/up-cropper/up-cropper.uvue +899 -0
  188. package/components/up-cropper/up-cropper.vue +1392 -0
  189. package/components/up-datetime-picker/datetimePicker.js +40 -0
  190. package/components/up-datetime-picker/datetimePicker.uts +45 -0
  191. package/components/up-datetime-picker/dayjs.esm.min.js +7 -0
  192. package/components/up-datetime-picker/props.js +165 -0
  193. package/components/up-datetime-picker/props.uts +169 -0
  194. package/components/up-datetime-picker/up-datetime-picker.uvue +960 -0
  195. package/components/up-datetime-picker/up-datetime-picker.vue +765 -0
  196. package/components/up-divider/divider.js +23 -0
  197. package/components/up-divider/divider.uts +22 -0
  198. package/components/up-divider/props.js +46 -0
  199. package/components/up-divider/props.uts +57 -0
  200. package/components/up-divider/up-divider.uvue +151 -0
  201. package/components/up-divider/up-divider.vue +112 -0
  202. package/components/up-dragsort/up-dragsort.uvue +821 -0
  203. package/components/up-dragsort/up-dragsort.vue +410 -0
  204. package/components/up-dropdown/dropdown.uts +25 -0
  205. package/components/up-dropdown/props.js +61 -0
  206. package/components/up-dropdown/props.uts +72 -0
  207. package/components/up-dropdown/types.uts +5 -0
  208. package/components/up-dropdown/up-dropdown.uvue +366 -0
  209. package/components/up-dropdown/up-dropdown.vue +297 -0
  210. package/components/up-dropdown-item/dropdown-item.uts +25 -0
  211. package/components/up-dropdown-item/props.js +47 -0
  212. package/components/up-dropdown-item/props.uts +56 -0
  213. package/components/up-dropdown-item/up-dropdown-item.uvue +196 -0
  214. package/components/up-dropdown-item/up-dropdown-item.vue +123 -0
  215. package/components/up-empty/empty.js +26 -0
  216. package/components/up-empty/empty.uts +24 -0
  217. package/components/up-empty/props.js +61 -0
  218. package/components/up-empty/props.uts +71 -0
  219. package/components/up-empty/up-empty.uvue +193 -0
  220. package/components/up-empty/up-empty.vue +116 -0
  221. package/components/up-flex/flex.js +10 -0
  222. package/components/up-flex/flex.uts +10 -0
  223. package/components/up-flex/props.js +12 -0
  224. package/components/up-flex/props.uts +13 -0
  225. package/components/up-flex/up-flex.uvue +71 -0
  226. package/components/up-flex/up-flex.vue +62 -0
  227. package/components/up-float-button/up-float-button.uvue +194 -0
  228. package/components/up-float-button/up-float-button.vue +160 -0
  229. package/components/up-form/form.js +22 -0
  230. package/components/up-form/form.uts +22 -0
  231. package/components/up-form/props.js +47 -0
  232. package/components/up-form/props.uts +57 -0
  233. package/components/up-form/types.uts +18 -0
  234. package/components/up-form/up-form.uvue +480 -0
  235. package/components/up-form/up-form.vue +297 -0
  236. package/components/up-form-item/formItem.js +24 -0
  237. package/components/up-form-item/formItem.uts +24 -0
  238. package/components/up-form-item/props.js +55 -0
  239. package/components/up-form-item/props.uts +65 -0
  240. package/components/up-form-item/up-form-item.uvue +349 -0
  241. package/components/up-form-item/up-form-item.vue +276 -0
  242. package/components/up-gap/gap.js +19 -0
  243. package/components/up-gap/gap.uts +19 -0
  244. package/components/up-gap/props.js +27 -0
  245. package/components/up-gap/props.uts +36 -0
  246. package/components/up-gap/up-gap.uvue +53 -0
  247. package/components/up-gap/up-gap.vue +38 -0
  248. package/components/up-goods-sku/up-goods-sku.uvue +564 -0
  249. package/components/up-goods-sku/up-goods-sku.vue +436 -0
  250. package/components/up-grid/grid.js +17 -0
  251. package/components/up-grid/grid.uts +17 -0
  252. package/components/up-grid/props.js +29 -0
  253. package/components/up-grid/props.uts +37 -0
  254. package/components/up-grid/up-grid.uvue +161 -0
  255. package/components/up-grid/up-grid.vue +119 -0
  256. package/components/up-grid-item/gridItem.js +16 -0
  257. package/components/up-grid-item/gridItem.uts +16 -0
  258. package/components/up-grid-item/props.js +16 -0
  259. package/components/up-grid-item/props.uts +27 -0
  260. package/components/up-grid-item/up-grid-item.uvue +227 -0
  261. package/components/up-grid-item/up-grid-item.vue +244 -0
  262. package/components/up-guide/guide.js +16 -0
  263. package/components/up-guide/props.js +53 -0
  264. package/components/up-guide/up-guide.vue +274 -0
  265. package/components/up-icon/icon.js +36 -0
  266. package/components/up-icon/icon.uts +33 -0
  267. package/components/up-icon/icons.js +426 -0
  268. package/components/up-icon/icons.uts +222 -0
  269. package/components/up-icon/props.js +92 -0
  270. package/components/up-icon/props.uts +101 -0
  271. package/components/up-icon/up-icon.uvue +300 -0
  272. package/components/up-icon/up-icon.vue +259 -0
  273. package/components/up-icon/upicon.ttf +0 -0
  274. package/components/up-icon/util.js +212 -0
  275. package/components/up-image/image.js +30 -0
  276. package/components/up-image/image.uts +30 -0
  277. package/components/up-image/props.js +87 -0
  278. package/components/up-image/props.uts +88 -0
  279. package/components/up-image/up-image.uvue +254 -0
  280. package/components/up-image/up-image.vue +253 -0
  281. package/components/up-index-anchor/indexAnchor.js +19 -0
  282. package/components/up-index-anchor/indexAnchor.uts +19 -0
  283. package/components/up-index-anchor/props.js +31 -0
  284. package/components/up-index-anchor/props.uts +41 -0
  285. package/components/up-index-anchor/up-index-anchor.uvue +146 -0
  286. package/components/up-index-anchor/up-index-anchor.vue +124 -0
  287. package/components/up-index-item/indexItem.uts +15 -0
  288. package/components/up-index-item/props.js +8 -0
  289. package/components/up-index-item/props.uts +15 -0
  290. package/components/up-index-item/up-index-item.uvue +109 -0
  291. package/components/up-index-item/up-index-item.vue +105 -0
  292. package/components/up-index-list/indexList.js +21 -0
  293. package/components/up-index-list/indexList.uts +21 -0
  294. package/components/up-index-list/props.js +41 -0
  295. package/components/up-index-list/props.uts +51 -0
  296. package/components/up-index-list/up-index-list.uvue +594 -0
  297. package/components/up-index-list/up-index-list.vue +643 -0
  298. package/components/up-input/input.js +48 -0
  299. package/components/up-input/input.uts +49 -0
  300. package/components/up-input/props.js +198 -0
  301. package/components/up-input/props.uts +198 -0
  302. package/components/up-input/up-input.uvue +571 -0
  303. package/components/up-input/up-input.vue +441 -0
  304. package/components/up-keyboard/keyboard.js +30 -0
  305. package/components/up-keyboard/keyboard.uts +30 -0
  306. package/components/up-keyboard/props.js +86 -0
  307. package/components/up-keyboard/props.uts +97 -0
  308. package/components/up-keyboard/up-keyboard.uvue +253 -0
  309. package/components/up-keyboard/up-keyboard.vue +188 -0
  310. package/components/up-lazy-load/lazyLoad.uts +19 -0
  311. package/components/up-lazy-load/props.uts +74 -0
  312. package/components/up-lazy-load/up-lazy-load.uvue +340 -0
  313. package/components/up-lazy-load/up-lazy-load.vue +280 -0
  314. package/components/up-line/line.js +20 -0
  315. package/components/up-line/line.uts +20 -0
  316. package/components/up-line/props.js +36 -0
  317. package/components/up-line/props.uts +37 -0
  318. package/components/up-line/up-line.uvue +97 -0
  319. package/components/up-line/up-line.vue +61 -0
  320. package/components/up-line-progress/lineProgress.js +19 -0
  321. package/components/up-line-progress/lineProgress.uts +9 -0
  322. package/components/up-line-progress/props.js +30 -0
  323. package/components/up-line-progress/up-line-progress.uvue +165 -0
  324. package/components/up-line-progress/up-line-progress.vue +155 -0
  325. package/components/up-link/link.js +26 -0
  326. package/components/up-link/link.uts +23 -0
  327. package/components/up-link/props.js +41 -0
  328. package/components/up-link/props.uts +43 -0
  329. package/components/up-link/up-link.uvue +136 -0
  330. package/components/up-link/up-link.vue +75 -0
  331. package/components/up-list/list.js +28 -0
  332. package/components/up-list/list.uts +33 -0
  333. package/components/up-list/props.js +101 -0
  334. package/components/up-list/props.uts +111 -0
  335. package/components/up-list/up-list.uvue +255 -0
  336. package/components/up-list/up-list.vue +230 -0
  337. package/components/up-list-item/listItem.js +15 -0
  338. package/components/up-list-item/listItem.uts +15 -0
  339. package/components/up-list-item/props.js +11 -0
  340. package/components/up-list-item/props.uts +21 -0
  341. package/components/up-list-item/up-list-item.uvue +126 -0
  342. package/components/up-list-item/up-list-item.vue +155 -0
  343. package/components/up-loading-icon/loadingIcon.js +30 -0
  344. package/components/up-loading-icon/loadingIcon.uts +28 -0
  345. package/components/up-loading-icon/props.js +62 -0
  346. package/components/up-loading-icon/props.uts +71 -0
  347. package/components/up-loading-icon/up-loading-icon.uvue +439 -0
  348. package/components/up-loading-icon/up-loading-icon.vue +357 -0
  349. package/components/up-loading-page/loadingPage.js +24 -0
  350. package/components/up-loading-page/loadingPage.uts +24 -0
  351. package/components/up-loading-page/props.js +57 -0
  352. package/components/up-loading-page/props.uts +58 -0
  353. package/components/up-loading-page/up-loading-page.uvue +197 -0
  354. package/components/up-loading-page/up-loading-page.vue +109 -0
  355. package/components/up-loadmore/loadmore.js +32 -0
  356. package/components/up-loadmore/loadmore.uts +32 -0
  357. package/components/up-loadmore/props.js +96 -0
  358. package/components/up-loadmore/props.uts +107 -0
  359. package/components/up-loadmore/up-loadmore.uvue +247 -0
  360. package/components/up-loadmore/up-loadmore.vue +132 -0
  361. package/components/up-markdown/marked.esm.js +7 -0
  362. package/components/up-markdown/up-markdown.uvue +171 -0
  363. package/components/up-markdown/up-markdown.vue +289 -0
  364. package/components/up-message-input/up-message-input.uvue +113 -0
  365. package/components/up-message-input/up-message-input.vue +111 -0
  366. package/components/up-modal/modal.js +36 -0
  367. package/components/up-modal/modal.uts +36 -0
  368. package/components/up-modal/props.js +111 -0
  369. package/components/up-modal/props.uts +113 -0
  370. package/components/up-modal/up-modal.uvue +407 -0
  371. package/components/up-modal/up-modal.vue +268 -0
  372. package/components/up-navbar/navbar.js +33 -0
  373. package/components/up-navbar/navbar.uts +34 -0
  374. package/components/up-navbar/props.js +97 -0
  375. package/components/up-navbar/props.uts +98 -0
  376. package/components/up-navbar/theme-vars.scss +26 -0
  377. package/components/up-navbar/up-navbar.uvue +467 -0
  378. package/components/up-navbar/up-navbar.vue +316 -0
  379. package/components/up-navbar-mini/navbarMini.js +23 -0
  380. package/components/up-navbar-mini/navbarMini.uts +23 -0
  381. package/components/up-navbar-mini/props.js +51 -0
  382. package/components/up-navbar-mini/props.uts +53 -0
  383. package/components/up-navbar-mini/up-navbar-mini.uvue +184 -0
  384. package/components/up-navbar-mini/up-navbar-mini.vue +135 -0
  385. package/components/up-no-network/noNetwork.js +18 -0
  386. package/components/up-no-network/noNetwork.uts +18 -0
  387. package/components/up-no-network/props.js +21 -0
  388. package/components/up-no-network/props.uts +31 -0
  389. package/components/up-no-network/up-no-network.uvue +218 -0
  390. package/components/up-no-network/up-no-network.vue +231 -0
  391. package/components/up-notice-bar/noticeBar.js +27 -0
  392. package/components/up-notice-bar/noticeBar.uts +27 -0
  393. package/components/up-notice-bar/props.js +72 -0
  394. package/components/up-notice-bar/props.uts +74 -0
  395. package/components/up-notice-bar/theme-vars.scss +25 -0
  396. package/components/up-notice-bar/up-notice-bar.uvue +179 -0
  397. package/components/up-notice-bar/up-notice-bar.vue +110 -0
  398. package/components/up-notify/notify.js +22 -0
  399. package/components/up-notify/notify.uts +22 -0
  400. package/components/up-notify/props.js +51 -0
  401. package/components/up-notify/props.uts +56 -0
  402. package/components/up-notify/up-notify.uvue +327 -0
  403. package/components/up-notify/up-notify.vue +248 -0
  404. package/components/up-novel-reader/content-normalizer.js +80 -0
  405. package/components/up-novel-reader/content-normalizer.uts +112 -0
  406. package/components/up-novel-reader/layout-engine.js +222 -0
  407. package/components/up-novel-reader/layout-engine.uts +256 -0
  408. package/components/up-novel-reader/measure-adapter.js +69 -0
  409. package/components/up-novel-reader/measure-adapter.uts +56 -0
  410. package/components/up-novel-reader/novelReader.js +35 -0
  411. package/components/up-novel-reader/novelReader.uts +37 -0
  412. package/components/up-novel-reader/persistence.js +143 -0
  413. package/components/up-novel-reader/persistence.uts +137 -0
  414. package/components/up-novel-reader/props.js +97 -0
  415. package/components/up-novel-reader/props.uts +97 -0
  416. package/components/up-novel-reader/reader-catalog.uvue +92 -0
  417. package/components/up-novel-reader/reader-catalog.vue +202 -0
  418. package/components/up-novel-reader/reader-content.uvue +167 -0
  419. package/components/up-novel-reader/reader-content.vue +227 -0
  420. package/components/up-novel-reader/reader-core.js +158 -0
  421. package/components/up-novel-reader/reader-core.uts +175 -0
  422. package/components/up-novel-reader/reader-settings.uvue +136 -0
  423. package/components/up-novel-reader/reader-settings.vue +215 -0
  424. package/components/up-novel-reader/reader-toolbar.uvue +127 -0
  425. package/components/up-novel-reader/reader-toolbar.vue +303 -0
  426. package/components/up-novel-reader/theme-vars.scss +49 -0
  427. package/components/up-novel-reader/up-novel-reader.uvue +831 -0
  428. package/components/up-novel-reader/up-novel-reader.vue +760 -0
  429. package/components/up-number-box/numberBox.js +40 -0
  430. package/components/up-number-box/numberBox.uts +40 -0
  431. package/components/up-number-box/props.js +145 -0
  432. package/components/up-number-box/props.uts +148 -0
  433. package/components/up-number-box/up-number-box.uvue +630 -0
  434. package/components/up-number-box/up-number-box.vue +417 -0
  435. package/components/up-number-keyboard/numberKeyboard.js +17 -0
  436. package/components/up-number-keyboard/numberKeyboard.uts +17 -0
  437. package/components/up-number-keyboard/props.js +21 -0
  438. package/components/up-number-keyboard/props.uts +32 -0
  439. package/components/up-number-keyboard/up-number-keyboard.uvue +223 -0
  440. package/components/up-number-keyboard/up-number-keyboard.vue +234 -0
  441. package/components/up-overlay/overlay.js +18 -0
  442. package/components/up-overlay/overlay.uts +18 -0
  443. package/components/up-overlay/props.js +26 -0
  444. package/components/up-overlay/props.uts +28 -0
  445. package/components/up-overlay/up-overlay.uvue +96 -0
  446. package/components/up-overlay/up-overlay.vue +67 -0
  447. package/components/up-pagination/up-pagination.uvue +417 -0
  448. package/components/up-pagination/up-pagination.vue +283 -0
  449. package/components/up-parse/node/node.vue +599 -0
  450. package/components/up-parse/parse.js +22 -0
  451. package/components/up-parse/parser.js +1334 -0
  452. package/components/up-parse/props.js +48 -0
  453. package/components/up-parse/props.uts +68 -0
  454. package/components/up-parse/up-parse.uvue +561 -0
  455. package/components/up-parse/up-parse.vue +554 -0
  456. package/components/up-pdf-reader/props.js +19 -0
  457. package/components/up-pdf-reader/props.uts +19 -0
  458. package/components/up-pdf-reader/up-pdf-reader.uvue +83 -0
  459. package/components/up-pdf-reader/up-pdf-reader.vue +58 -0
  460. package/components/up-picker/picker.js +31 -0
  461. package/components/up-picker/picker.uts +31 -0
  462. package/components/up-picker/props.js +108 -0
  463. package/components/up-picker/props.uts +119 -0
  464. package/components/up-picker/up-picker.uvue +550 -0
  465. package/components/up-picker/up-picker.vue +336 -0
  466. package/components/up-picker-column/props.js +7 -0
  467. package/components/up-picker-column/props.uts +7 -0
  468. package/components/up-picker-column/up-picker-column.uvue +25 -0
  469. package/components/up-picker-column/up-picker-column.vue +36 -0
  470. package/components/up-picker-data/up-picker-data.uvue +149 -0
  471. package/components/up-picker-data/up-picker-data.vue +137 -0
  472. package/components/up-popover/props.js +59 -0
  473. package/components/up-popover/props.uts +58 -0
  474. package/components/up-popover/up-popover.uvue +161 -0
  475. package/components/up-popover/up-popover.vue +109 -0
  476. package/components/up-popup/popup.js +30 -0
  477. package/components/up-popup/popup.uts +29 -0
  478. package/components/up-popup/props.js +86 -0
  479. package/components/up-popup/props.uts +96 -0
  480. package/components/up-popup/up-popup.uvue +433 -0
  481. package/components/up-popup/up-popup.vue +378 -0
  482. package/components/up-poster/up-poster.uvue +944 -0
  483. package/components/up-poster/up-poster.vue +628 -0
  484. package/components/up-pull-refresh/up-pull-refresh.uvue +326 -0
  485. package/components/up-pull-refresh/up-pull-refresh.vue +319 -0
  486. package/components/up-qrcode/qrcode.js +1275 -0
  487. package/components/up-qrcode/qrcode.uts +480 -0
  488. package/components/up-qrcode/up-qrcode.uvue +502 -0
  489. package/components/up-qrcode/up-qrcode.vue +493 -0
  490. package/components/up-radio/props.js +71 -0
  491. package/components/up-radio/props.uts +81 -0
  492. package/components/up-radio/radio.js +27 -0
  493. package/components/up-radio/radio.uts +27 -0
  494. package/components/up-radio/up-radio.uvue +512 -0
  495. package/components/up-radio/up-radio.vue +382 -0
  496. package/components/up-radio-group/props.js +95 -0
  497. package/components/up-radio-group/props.uts +90 -0
  498. package/components/up-radio-group/radioGroup.js +30 -0
  499. package/components/up-radio-group/radioGroup.uts +30 -0
  500. package/components/up-radio-group/up-radio-group.uvue +211 -0
  501. package/components/up-radio-group/up-radio-group.vue +184 -0
  502. package/components/up-rate/props.js +80 -0
  503. package/components/up-rate/props.uts +82 -0
  504. package/components/up-rate/rate.js +26 -0
  505. package/components/up-rate/rate.uts +27 -0
  506. package/components/up-rate/up-rate.uvue +484 -0
  507. package/components/up-rate/up-rate.vue +367 -0
  508. package/components/up-read-more/props.js +63 -0
  509. package/components/up-read-more/props.uts +61 -0
  510. package/components/up-read-more/readMore.js +23 -0
  511. package/components/up-read-more/readMore.uts +23 -0
  512. package/components/up-read-more/up-read-more.uvue +252 -0
  513. package/components/up-read-more/up-read-more.vue +169 -0
  514. package/components/up-refresh-virtual-list/up-refresh-virtual-list.uvue +95 -0
  515. package/components/up-refresh-virtual-list/up-refresh-virtual-list.vue +100 -0
  516. package/components/up-root-toast-host/up-root-toast-host.vue +12 -0
  517. package/components/up-row/props.js +22 -0
  518. package/components/up-row/props.uts +31 -0
  519. package/components/up-row/row.js +17 -0
  520. package/components/up-row/row.uts +17 -0
  521. package/components/up-row/up-row.uvue +137 -0
  522. package/components/up-row/up-row.vue +104 -0
  523. package/components/up-row-notice/props.js +41 -0
  524. package/components/up-row-notice/props.uts +43 -0
  525. package/components/up-row-notice/rowNotice.js +21 -0
  526. package/components/up-row-notice/rowNotice.uts +21 -0
  527. package/components/up-row-notice/up-row-notice.uvue +310 -0
  528. package/components/up-row-notice/up-row-notice.vue +346 -0
  529. package/components/up-safe-bottom/props.js +7 -0
  530. package/components/up-safe-bottom/props.uts +6 -0
  531. package/components/up-safe-bottom/up-safe-bottom.uvue +60 -0
  532. package/components/up-safe-bottom/up-safe-bottom.vue +54 -0
  533. package/components/up-scroll-list/nvue.js +31 -0
  534. package/components/up-scroll-list/props.js +36 -0
  535. package/components/up-scroll-list/props.uts +38 -0
  536. package/components/up-scroll-list/scrollList.js +20 -0
  537. package/components/up-scroll-list/scrollList.uts +20 -0
  538. package/components/up-scroll-list/scrollWxs.wxs +50 -0
  539. package/components/up-scroll-list/up-scroll-list.uvue +262 -0
  540. package/components/up-scroll-list/up-scroll-list.vue +253 -0
  541. package/components/up-search/props.js +156 -0
  542. package/components/up-search/props.uts +152 -0
  543. package/components/up-search/search.js +41 -0
  544. package/components/up-search/search.uts +41 -0
  545. package/components/up-search/up-search.uvue +537 -0
  546. package/components/up-search/up-search.vue +347 -0
  547. package/components/up-section/section.js +16 -0
  548. package/components/up-section/section.uts +16 -0
  549. package/components/up-select/up-select.uvue +323 -0
  550. package/components/up-select/up-select.vue +239 -0
  551. package/components/up-short-video/up-short-video.uvue +659 -0
  552. package/components/up-short-video/up-short-video.vue +488 -0
  553. package/components/up-signature/up-signature.uvue +563 -0
  554. package/components/up-signature/up-signature.vue +534 -0
  555. package/components/up-skeleton/props.js +61 -0
  556. package/components/up-skeleton/props.uts +69 -0
  557. package/components/up-skeleton/skeleton.js +25 -0
  558. package/components/up-skeleton/skeleton.uts +22 -0
  559. package/components/up-skeleton/up-skeleton.uvue +279 -0
  560. package/components/up-skeleton/up-skeleton.vue +246 -0
  561. package/components/up-slider/props.js +95 -0
  562. package/components/up-slider/props.uts +102 -0
  563. package/components/up-slider/slider.js +28 -0
  564. package/components/up-slider/slider.uts +25 -0
  565. package/components/up-slider/up-slider.uvue +679 -0
  566. package/components/up-slider/up-slider.vue +524 -0
  567. package/components/up-status-bar/props.js +10 -0
  568. package/components/up-status-bar/props.uts +12 -0
  569. package/components/up-status-bar/statusBar.js +15 -0
  570. package/components/up-status-bar/statusBar.uts +15 -0
  571. package/components/up-status-bar/up-status-bar.uvue +52 -0
  572. package/components/up-status-bar/up-status-bar.vue +46 -0
  573. package/components/up-steps/props.js +41 -0
  574. package/components/up-steps/props.uts +43 -0
  575. package/components/up-steps/steps.js +21 -0
  576. package/components/up-steps/steps.uts +22 -0
  577. package/components/up-steps/up-steps.uvue +153 -0
  578. package/components/up-steps/up-steps.vue +118 -0
  579. package/components/up-steps-item/props.js +31 -0
  580. package/components/up-steps-item/props.uts +33 -0
  581. package/components/up-steps-item/stepsItem.js +18 -0
  582. package/components/up-steps-item/stepsItem.uts +18 -0
  583. package/components/up-steps-item/up-steps-item.uvue +448 -0
  584. package/components/up-steps-item/up-steps-item.vue +349 -0
  585. package/components/up-sticky/props.js +42 -0
  586. package/components/up-sticky/props.uts +52 -0
  587. package/components/up-sticky/sticky.js +20 -0
  588. package/components/up-sticky/sticky.uts +20 -0
  589. package/components/up-sticky/up-sticky.uvue +238 -0
  590. package/components/up-sticky/up-sticky.vue +220 -0
  591. package/components/up-subsection/props.js +66 -0
  592. package/components/up-subsection/props.uts +68 -0
  593. package/components/up-subsection/subsection.js +26 -0
  594. package/components/up-subsection/subsection.uts +26 -0
  595. package/components/up-subsection/theme-vars.scss +41 -0
  596. package/components/up-subsection/up-subsection.uvue +404 -0
  597. package/components/up-subsection/up-subsection.vue +327 -0
  598. package/components/up-swipe-action/props.js +16 -0
  599. package/components/up-swipe-action/props.uts +18 -0
  600. package/components/up-swipe-action/swipeAction.js +15 -0
  601. package/components/up-swipe-action/swipeAction.uts +16 -0
  602. package/components/up-swipe-action/up-swipe-action.uvue +105 -0
  603. package/components/up-swipe-action/up-swipe-action.vue +95 -0
  604. package/components/up-swipe-action-item/alipay.sjs +229 -0
  605. package/components/up-swipe-action-item/index.wxs +252 -0
  606. package/components/up-swipe-action-item/nvue.js +174 -0
  607. package/components/up-swipe-action-item/other.js +178 -0
  608. package/components/up-swipe-action-item/other.uts +176 -0
  609. package/components/up-swipe-action-item/props.js +52 -0
  610. package/components/up-swipe-action-item/props.uts +53 -0
  611. package/components/up-swipe-action-item/swipeActionItem.js +23 -0
  612. package/components/up-swipe-action-item/swipeActionItem.uts +24 -0
  613. package/components/up-swipe-action-item/types.uts +11 -0
  614. package/components/up-swipe-action-item/up-swipe-action-item.uvue +476 -0
  615. package/components/up-swipe-action-item/up-swipe-action-item.vue +752 -0
  616. package/components/up-swipe-action-item/wxs.js +15 -0
  617. package/components/up-swiper/props.js +132 -0
  618. package/components/up-swiper/props.uts +142 -0
  619. package/components/up-swiper/swiper.js +40 -0
  620. package/components/up-swiper/swiper.uts +39 -0
  621. package/components/up-swiper/up-swiper.uvue +455 -0
  622. package/components/up-swiper/up-swiper.vue +274 -0
  623. package/components/up-swiper-indicator/props.js +31 -0
  624. package/components/up-swiper-indicator/props.uts +41 -0
  625. package/components/up-swiper-indicator/swipterIndicator.js +19 -0
  626. package/components/up-swiper-indicator/swipterIndicator.uts +19 -0
  627. package/components/up-swiper-indicator/up-swiper-indicator.uvue +147 -0
  628. package/components/up-swiper-indicator/up-swiper-indicator.vue +112 -0
  629. package/components/up-switch/props.js +64 -0
  630. package/components/up-switch/props.uts +82 -0
  631. package/components/up-switch/switch.js +24 -0
  632. package/components/up-switch/switch.uts +27 -0
  633. package/components/up-switch/theme-vars.scss +41 -0
  634. package/components/up-switch/up-switch.uvue +257 -0
  635. package/components/up-switch/up-switch.vue +211 -0
  636. package/components/up-tabbar/props.js +57 -0
  637. package/components/up-tabbar/props.uts +66 -0
  638. package/components/up-tabbar/tabbar.js +24 -0
  639. package/components/up-tabbar/tabbar.uts +24 -0
  640. package/components/up-tabbar/up-tabbar.uvue +254 -0
  641. package/components/up-tabbar/up-tabbar.vue +208 -0
  642. package/components/up-tabbar-item/midButtonGeometry.js +23 -0
  643. package/components/up-tabbar-item/midButtonGeometry.uts +15 -0
  644. package/components/up-tabbar-item/props.js +71 -0
  645. package/components/up-tabbar-item/props.uts +81 -0
  646. package/components/up-tabbar-item/tabbarItem.js +27 -0
  647. package/components/up-tabbar-item/tabbarItem.uts +27 -0
  648. package/components/up-tabbar-item/up-tabbar-item.uvue +554 -0
  649. package/components/up-tabbar-item/up-tabbar-item.vue +428 -0
  650. package/components/up-table/props.js +7 -0
  651. package/components/up-table/props.uts +39 -0
  652. package/components/up-table/table.uts +21 -0
  653. package/components/up-table/up-table.uvue +128 -0
  654. package/components/up-table/up-table.vue +132 -0
  655. package/components/up-table2/tableRow.uvue +389 -0
  656. package/components/up-table2/tableRow.vue +329 -0
  657. package/components/up-table2/up-table2.uvue +1504 -0
  658. package/components/up-table2/up-table2.vue +911 -0
  659. package/components/up-tabs/props.js +76 -0
  660. package/components/up-tabs/props.uts +73 -0
  661. package/components/up-tabs/tabs.js +34 -0
  662. package/components/up-tabs/tabs.uts +35 -0
  663. package/components/up-tabs/types.uts +19 -0
  664. package/components/up-tabs/up-tabs.uvue +691 -0
  665. package/components/up-tabs/up-tabs.vue +561 -0
  666. package/components/up-tabs-item/props.js +7 -0
  667. package/components/up-tabs-item/props.uts +7 -0
  668. package/components/up-tabs-item/up-tabs-item.uvue +23 -0
  669. package/components/up-tabs-item/up-tabs-item.vue +34 -0
  670. package/components/up-tabs-pro/up-tabs-pro.uvue +242 -0
  671. package/components/up-tabs-pro/up-tabs-pro.vue +202 -0
  672. package/components/up-tag/props.js +91 -0
  673. package/components/up-tag/props.uts +100 -0
  674. package/components/up-tag/tag.js +30 -0
  675. package/components/up-tag/tag.uts +30 -0
  676. package/components/up-tag/theme-vars.scss +21 -0
  677. package/components/up-tag/up-tag.uvue +469 -0
  678. package/components/up-tag/up-tag.vue +377 -0
  679. package/components/up-td/props.js +7 -0
  680. package/components/up-td/props.uts +7 -0
  681. package/components/up-td/td.uts +19 -0
  682. package/components/up-td/up-td.uvue +124 -0
  683. package/components/up-td/up-td.vue +99 -0
  684. package/components/up-text/props.js +123 -0
  685. package/components/up-text/props.uts +159 -0
  686. package/components/up-text/text.js +40 -0
  687. package/components/up-text/text.uts +45 -0
  688. package/components/up-text/up-text.uvue +536 -0
  689. package/components/up-text/up-text.vue +365 -0
  690. package/components/up-text/value.js +87 -0
  691. package/components/up-textarea/props.js +132 -0
  692. package/components/up-textarea/props.uts +130 -0
  693. package/components/up-textarea/textarea.js +40 -0
  694. package/components/up-textarea/textarea.uts +40 -0
  695. package/components/up-textarea/up-textarea.uvue +440 -0
  696. package/components/up-textarea/up-textarea.vue +294 -0
  697. package/components/up-th/props.js +7 -0
  698. package/components/up-th/props.uts +7 -0
  699. package/components/up-th/th.uts +16 -0
  700. package/components/up-th/up-th.uvue +93 -0
  701. package/components/up-th/up-th.vue +69 -0
  702. package/components/up-title/up-title.uvue +27 -0
  703. package/components/up-title/up-title.vue +38 -0
  704. package/components/up-toast/toast.js +30 -0
  705. package/components/up-toast/toast.uts +29 -0
  706. package/components/up-toast/up-toast.uvue +390 -0
  707. package/components/up-toast/up-toast.vue +354 -0
  708. package/components/up-toolbar/props.js +41 -0
  709. package/components/up-toolbar/props.uts +43 -0
  710. package/components/up-toolbar/toolbar.js +21 -0
  711. package/components/up-toolbar/toolbar.uts +20 -0
  712. package/components/up-toolbar/up-toolbar.uvue +162 -0
  713. package/components/up-toolbar/up-toolbar.vue +131 -0
  714. package/components/up-tooltip/props.js +61 -0
  715. package/components/up-tooltip/props.uts +69 -0
  716. package/components/up-tooltip/tooltip.js +25 -0
  717. package/components/up-tooltip/up-tooltip.uvue +514 -0
  718. package/components/up-tooltip/up-tooltip.vue +325 -0
  719. package/components/up-tr/props.js +7 -0
  720. package/components/up-tr/props.uts +7 -0
  721. package/components/up-tr/up-tr.uvue +19 -0
  722. package/components/up-tr/up-tr.vue +37 -0
  723. package/components/up-transition/nvue-ani-map.js +75 -0
  724. package/components/up-transition/props.js +27 -0
  725. package/components/up-transition/props.uts +36 -0
  726. package/components/up-transition/transition.js +18 -0
  727. package/components/up-transition/transition.uts +18 -0
  728. package/components/up-transition/transitionMixin.js +164 -0
  729. package/components/up-transition/up-transition.uvue +182 -0
  730. package/components/up-transition/up-transition.vue +280 -0
  731. package/components/up-transition/vue.ani-style.scss +113 -0
  732. package/components/up-tree/tree-node.uvue +185 -0
  733. package/components/up-tree/tree-node.vue +141 -0
  734. package/components/up-tree/up-tree.uvue +825 -0
  735. package/components/up-tree/up-tree.vue +604 -0
  736. package/components/up-upload/mixin.js +23 -0
  737. package/components/up-upload/mixin.uts +24 -0
  738. package/components/up-upload/props.js +176 -0
  739. package/components/up-upload/props.uts +176 -0
  740. package/components/up-upload/types.uts +38 -0
  741. package/components/up-upload/up-upload.uvue +1131 -0
  742. package/components/up-upload/up-upload.vue +930 -0
  743. package/components/up-upload/upload.js +46 -0
  744. package/components/up-upload/upload.uts +46 -0
  745. package/components/up-upload/utils.js +183 -0
  746. package/components/up-upload/utils.uts +213 -0
  747. package/components/up-video/danmaku.js +96 -0
  748. package/components/up-video/danmaku.uts +106 -0
  749. package/components/up-video/props.js +200 -0
  750. package/components/up-video/types.uts +48 -0
  751. package/components/up-video/up-video.uvue +1451 -0
  752. package/components/up-video/up-video.vue +1349 -0
  753. package/components/up-video/video-danmaku.uvue +296 -0
  754. package/components/up-video/video-danmaku.vue +264 -0
  755. package/components/up-video/video-slider.uvue +210 -0
  756. package/components/up-video/video-slider.vue +201 -0
  757. package/components/up-video/video-utils.js +105 -0
  758. package/components/up-video/video-utils.uts +127 -0
  759. package/components/up-video/video.js +77 -0
  760. package/components/up-video/video.uts +78 -0
  761. package/components/up-view/up-view.uvue +93 -0
  762. package/components/up-view/up-view.vue +95 -0
  763. package/components/up-virtual-list/up-virtual-list.uvue +265 -0
  764. package/components/up-virtual-list/up-virtual-list.vue +241 -0
  765. package/components/up-waterfall/props.uts +49 -0
  766. package/components/up-waterfall/up-waterfall.uvue +456 -0
  767. package/components/up-waterfall/up-waterfall.vue +444 -0
  768. package/components/up-waterfall/waterfall.uts +20 -0
  769. package/index.js +344 -0
  770. package/index.scss +28 -0
  771. package/index.uts +91 -0
  772. package/libs/composable/useFuncIndex.uts +873 -0
  773. package/libs/composable/useUltraUI.js +201 -0
  774. package/libs/composable/useUltraUI.uts +184 -0
  775. package/libs/config/color.js +19 -0
  776. package/libs/config/color.uts +17 -0
  777. package/libs/config/config.js +48 -0
  778. package/libs/config/config.uts +33 -0
  779. package/libs/config/props.js +210 -0
  780. package/libs/config/props.uts +6 -0
  781. package/libs/config/zIndex.js +20 -0
  782. package/libs/config/zIndex.uts +20 -0
  783. package/libs/css/color.scss +311 -0
  784. package/libs/css/common.scss +121 -0
  785. package/libs/css/components.scss +37 -0
  786. package/libs/css/flex.scss +368 -0
  787. package/libs/css/h5.scss +0 -0
  788. package/libs/css/mixin.scss +8 -0
  789. package/libs/css/mp.scss +0 -0
  790. package/libs/css/nvue.scss +0 -0
  791. package/libs/css/theme-legacy-bridge.scss +6 -0
  792. package/libs/css/theme-vars-core.scss +201 -0
  793. package/libs/css/theme-vars.scss +1 -0
  794. package/libs/css/vue.scss +35 -0
  795. package/libs/function/calc.js +70 -0
  796. package/libs/function/colorGradient.js +134 -0
  797. package/libs/function/colorGradient.uts +316 -0
  798. package/libs/function/debounce.js +29 -0
  799. package/libs/function/debounce.uts +33 -0
  800. package/libs/function/digit.js +167 -0
  801. package/libs/function/digit.uts +182 -0
  802. package/libs/function/index.js +853 -0
  803. package/libs/function/index.uts +852 -0
  804. package/libs/function/platform.js +75 -0
  805. package/libs/function/platform.uts +75 -0
  806. package/libs/function/test.js +332 -0
  807. package/libs/function/test.uts +337 -0
  808. package/libs/function/throttle.js +34 -0
  809. package/libs/function/throttle.uts +36 -0
  810. package/libs/i18n/index.js +88 -0
  811. package/libs/i18n/index.uts +141 -0
  812. package/libs/i18n/locale-packs.js +11 -0
  813. package/libs/i18n/locale-packs.uts +11 -0
  814. package/libs/i18n/locales/all.js +23 -0
  815. package/libs/i18n/locales/all.uts +23 -0
  816. package/libs/i18n/locales/de.js +99 -0
  817. package/libs/i18n/locales/de.uts +99 -0
  818. package/libs/i18n/locales/en.js +99 -0
  819. package/libs/i18n/locales/en.uts +99 -0
  820. package/libs/i18n/locales/es.js +99 -0
  821. package/libs/i18n/locales/es.uts +99 -0
  822. package/libs/i18n/locales/fr.js +99 -0
  823. package/libs/i18n/locales/fr.uts +99 -0
  824. package/libs/i18n/locales/ja.js +99 -0
  825. package/libs/i18n/locales/ja.uts +99 -0
  826. package/libs/i18n/locales/ko.js +99 -0
  827. package/libs/i18n/locales/ko.uts +99 -0
  828. package/libs/i18n/locales/ru.js +99 -0
  829. package/libs/i18n/locales/ru.uts +99 -0
  830. package/libs/i18n/locales/th.js +99 -0
  831. package/libs/i18n/locales/th.uts +99 -0
  832. package/libs/i18n/locales/zh-Hans.js +99 -0
  833. package/libs/i18n/locales/zh-Hans.uts +99 -0
  834. package/libs/i18n/locales/zh-Hant.js +99 -0
  835. package/libs/i18n/locales/zh-Hant.uts +99 -0
  836. package/libs/luch-request/adapters/index.js +97 -0
  837. package/libs/luch-request/adapters/index.uts +114 -0
  838. package/libs/luch-request/core/InterceptorManager.js +50 -0
  839. package/libs/luch-request/core/InterceptorManager.uts +41 -0
  840. package/libs/luch-request/core/Request.js +198 -0
  841. package/libs/luch-request/core/Request.uts +134 -0
  842. package/libs/luch-request/core/buildFullPath.js +20 -0
  843. package/libs/luch-request/core/buildFullPath.uts +20 -0
  844. package/libs/luch-request/core/defaults.js +29 -0
  845. package/libs/luch-request/core/defaults.uts +30 -0
  846. package/libs/luch-request/core/dispatchRequest.js +3 -0
  847. package/libs/luch-request/core/dispatchRequest.uts +89 -0
  848. package/libs/luch-request/core/mergeConfig.js +103 -0
  849. package/libs/luch-request/core/mergeConfig.uts +115 -0
  850. package/libs/luch-request/core/settle.js +16 -0
  851. package/libs/luch-request/core/settle.uts +32 -0
  852. package/libs/luch-request/helpers/buildURL.js +69 -0
  853. package/libs/luch-request/helpers/buildURL.uts +64 -0
  854. package/libs/luch-request/helpers/combineURLs.js +14 -0
  855. package/libs/luch-request/helpers/combineURLs.uts +14 -0
  856. package/libs/luch-request/helpers/isAbsoluteURL.js +14 -0
  857. package/libs/luch-request/helpers/isAbsoluteURL.uts +14 -0
  858. package/libs/luch-request/index.d.ts +116 -0
  859. package/libs/luch-request/index.js +3 -0
  860. package/libs/luch-request/index.uts +3 -0
  861. package/libs/luch-request/utils/clone.js +264 -0
  862. package/libs/luch-request/utils/clone.uts +38 -0
  863. package/libs/luch-request/utils.js +131 -0
  864. package/libs/luch-request/utils.uts +66 -0
  865. package/libs/marked-uts/LICENSE +21 -0
  866. package/libs/marked-uts/common/Hooks.uts +71 -0
  867. package/libs/marked-uts/common/Instance.uts +273 -0
  868. package/libs/marked-uts/common/Lexer.uts +1083 -0
  869. package/libs/marked-uts/common/Parser.uts +367 -0
  870. package/libs/marked-uts/common/Renderer.uts +244 -0
  871. package/libs/marked-uts/common/TextRenderer.uts +74 -0
  872. package/libs/marked-uts/common/Tokenizer.uts +1122 -0
  873. package/libs/marked-uts/common/defaults.uts +25 -0
  874. package/libs/marked-uts/common/helpers.uts +165 -0
  875. package/libs/marked-uts/common/marked.uts +8 -0
  876. package/libs/marked-uts/common/rules.uts +603 -0
  877. package/libs/marked-uts/package.json +102 -0
  878. package/libs/marked-uts/readme.md +159 -0
  879. package/libs/marked-uts/utssdk/Hooks.interface.uts +34 -0
  880. package/libs/marked-uts/utssdk/Lexer.interface.uts +51 -0
  881. package/libs/marked-uts/utssdk/Marked.interface.uts +35 -0
  882. package/libs/marked-uts/utssdk/MarkedOptions.interface.uts +155 -0
  883. package/libs/marked-uts/utssdk/Parser.interface.uts +20 -0
  884. package/libs/marked-uts/utssdk/Renderer.interface.uts +34 -0
  885. package/libs/marked-uts/utssdk/Rules.interface.uts +296 -0
  886. package/libs/marked-uts/utssdk/TextRenderer.interface.uts +14 -0
  887. package/libs/marked-uts/utssdk/Tokenizer.interface.uts +38 -0
  888. package/libs/marked-uts/utssdk/Tokens.interface.uts +312 -0
  889. package/libs/marked-uts/utssdk/app-android/config.json +3 -0
  890. package/libs/marked-uts/utssdk/app-android/index.uts +23 -0
  891. package/libs/marked-uts/utssdk/app-android/libs/JSReg3.jar +0 -0
  892. package/libs/marked-uts/utssdk/app-harmony/index.uts +2 -0
  893. package/libs/marked-uts/utssdk/app-ios/config.json +3 -0
  894. package/libs/marked-uts/utssdk/app-ios/index.uts +85 -0
  895. package/libs/marked-uts/utssdk/app-js/index.uts +2 -0
  896. package/libs/marked-uts/utssdk/interface.uts +933 -0
  897. package/libs/marked-uts/utssdk/mp-weixin/index.uts +2 -0
  898. package/libs/marked-uts/utssdk/unierror.uts +39 -0
  899. package/libs/marked-uts/utssdk/web/index.uts +2 -0
  900. package/libs/root/LICENSE +21 -0
  901. package/libs/root/root-toast-host.vue +31 -0
  902. package/libs/root/runtime.js +11 -0
  903. package/libs/theme/runtime.js +440 -0
  904. package/libs/theme/theme.js +681 -0
  905. package/libs/util/async-validator.js +1343 -0
  906. package/libs/util/async-validator.uts +412 -0
  907. package/libs/util/calendar.js +546 -0
  908. package/libs/util/calendar.uts +546 -0
  909. package/libs/util/emitter.js +51 -0
  910. package/libs/util/route.js +124 -0
  911. package/libs/util/route.uts +130 -0
  912. package/libs/vite/app-icon-font.js +95 -0
  913. package/libs/vite/index.js +50 -0
  914. package/libs/vite/utils.js +48 -0
  915. package/libs/vue.js +3 -0
  916. package/libs/vue.uts +8 -0
  917. package/package.json +113 -0
  918. package/theme.scss +116 -0
  919. package/types/common.uts +14 -0
  920. package/types/comps/_common.d.ts +9 -0
  921. package/types/comps/actionSheet.d.ts +125 -0
  922. package/types/comps/album.d.ts +91 -0
  923. package/types/comps/alert.d.ts +55 -0
  924. package/types/comps/avatar.d.ts +85 -0
  925. package/types/comps/avatarGroup.d.ts +62 -0
  926. package/types/comps/backTop.d.ts +74 -0
  927. package/types/comps/badge.d.ts +76 -0
  928. package/types/comps/button.d.ts +169 -0
  929. package/types/comps/calendar.d.ts +271 -0
  930. package/types/comps/calendarStrip.d.ts +115 -0
  931. package/types/comps/cell.d.ts +133 -0
  932. package/types/comps/cellGroup.d.ts +27 -0
  933. package/types/comps/checkbox.d.ts +81 -0
  934. package/types/comps/checkboxGroup.d.ts +93 -0
  935. package/types/comps/code.d.ts +69 -0
  936. package/types/comps/codeInput.d.ts +98 -0
  937. package/types/comps/col.d.ts +43 -0
  938. package/types/comps/collapse.d.ts +52 -0
  939. package/types/comps/collapseItem.d.ts +83 -0
  940. package/types/comps/countDown.d.ts +60 -0
  941. package/types/comps/countTo.d.ts +88 -0
  942. package/types/comps/datetimePicker.d.ts +178 -0
  943. package/types/comps/divider.d.ts +58 -0
  944. package/types/comps/empty.d.ts +72 -0
  945. package/types/comps/form.d.ts +102 -0
  946. package/types/comps/formItem.d.ts +68 -0
  947. package/types/comps/gap.d.ts +35 -0
  948. package/types/comps/grid.d.ts +34 -0
  949. package/types/comps/gridItem.d.ts +28 -0
  950. package/types/comps/guide.d.ts +45 -0
  951. package/types/comps/icon.d.ts +98 -0
  952. package/types/comps/image.d.ts +119 -0
  953. package/types/comps/indexAnchor.d.ts +38 -0
  954. package/types/comps/indexItem.d.ts +18 -0
  955. package/types/comps/indexList.d.ts +39 -0
  956. package/types/comps/input.d.ts +234 -0
  957. package/types/comps/keyboard.d.ts +129 -0
  958. package/types/comps/line.d.ts +44 -0
  959. package/types/comps/lineProgress.d.ts +51 -0
  960. package/types/comps/link.d.ts +51 -0
  961. package/types/comps/list.d.ts +92 -0
  962. package/types/comps/listItem.d.ts +18 -0
  963. package/types/comps/loadMore.d.ts +108 -0
  964. package/types/comps/loadingIcon.d.ts +68 -0
  965. package/types/comps/loadingPage.d.ts +58 -0
  966. package/types/comps/modal.d.ts +115 -0
  967. package/types/comps/navbar.d.ts +113 -0
  968. package/types/comps/navbarMini.d.ts +78 -0
  969. package/types/comps/noNetwork.d.ts +40 -0
  970. package/types/comps/noticeBar.d.ts +85 -0
  971. package/types/comps/notify.d.ts +73 -0
  972. package/types/comps/novelReader.d.ts +103 -0
  973. package/types/comps/numberBox.d.ts +219 -0
  974. package/types/comps/overlay.d.ts +46 -0
  975. package/types/comps/pagination.d.ts +96 -0
  976. package/types/comps/parse.d.ts +101 -0
  977. package/types/comps/picker.d.ts +119 -0
  978. package/types/comps/popup.d.ts +107 -0
  979. package/types/comps/radio.d.ts +81 -0
  980. package/types/comps/radioGroup.d.ts +97 -0
  981. package/types/comps/rate.d.ts +85 -0
  982. package/types/comps/readMore.d.ts +80 -0
  983. package/types/comps/rootToastHost.d.ts +3 -0
  984. package/types/comps/row.d.ts +34 -0
  985. package/types/comps/safeBottom.d.ts +16 -0
  986. package/types/comps/scrollList.d.ts +51 -0
  987. package/types/comps/search.d.ts +167 -0
  988. package/types/comps/skeleton.d.ts +70 -0
  989. package/types/comps/slider.d.ts +79 -0
  990. package/types/comps/statusBar.d.ts +22 -0
  991. package/types/comps/steps.d.ts +48 -0
  992. package/types/comps/stepsItem.d.ts +41 -0
  993. package/types/comps/sticky.d.ts +48 -0
  994. package/types/comps/subsection.d.ts +79 -0
  995. package/types/comps/swipeAction.d.ts +24 -0
  996. package/types/comps/swipeActionItem.d.ts +71 -0
  997. package/types/comps/swiper.d.ts +147 -0
  998. package/types/comps/swiperIndicator.d.ts +37 -0
  999. package/types/comps/switch.d.ts +73 -0
  1000. package/types/comps/tabbar.d.ts +54 -0
  1001. package/types/comps/tabbarItem.d.ts +78 -0
  1002. package/types/comps/tabs.d.ts +91 -0
  1003. package/types/comps/tabsPro.d.ts +64 -0
  1004. package/types/comps/tag.d.ts +93 -0
  1005. package/types/comps/text.d.ts +115 -0
  1006. package/types/comps/textarea.d.ts +163 -0
  1007. package/types/comps/toast.d.ts +59 -0
  1008. package/types/comps/tooltip.d.ts +71 -0
  1009. package/types/comps/transition.d.ts +61 -0
  1010. package/types/comps/upload.d.ts +163 -0
  1011. package/types/comps/video.d.ts +170 -0
  1012. package/types/comps.d.ts +120 -0
  1013. package/types/index.d.ts +374 -0
  1014. package/types/index.uts +11 -0
  1015. package/types/package.json +26 -0
@@ -0,0 +1,1275 @@
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
+ quietZone: 0,
1029
+ background: '#ffffff',
1030
+ foreground: '#000000',
1031
+ pdground: '#000000',
1032
+ image: '',
1033
+ imageSize: 30,
1034
+ canvasId: opt.canvasId,
1035
+ ctx: opt.ctx,
1036
+ canvasHost: opt.canvasHost,
1037
+ isNvue: opt.isNvue,
1038
+ vuectx: opt.vuectx,
1039
+ usingComponents: opt.usingComponents,
1040
+ showLoading: opt.showLoading,
1041
+ loadingText: opt.loadingText,
1042
+ };
1043
+
1044
+ if (typeof opt === 'string') { // 只编码ASCII字符串
1045
+ opt = {
1046
+ text: opt
1047
+ };
1048
+ }
1049
+ if (opt) {
1050
+ for (var i in opt) {
1051
+ this.options[i] = opt[i];
1052
+ }
1053
+ }
1054
+ //使用QRCodeAlg创建二维码结构
1055
+ var qrCodeAlg = null;
1056
+ for (var i = 0, l = qrcodeAlgObjCache.length; i < l; i++) {
1057
+ if (qrcodeAlgObjCache[i].text == this.options.text && qrcodeAlgObjCache[i].text.correctLevel == this.options.correctLevel) {
1058
+ qrCodeAlg = qrcodeAlgObjCache[i].obj;
1059
+ break;
1060
+ }
1061
+ }
1062
+ if (i == l) {
1063
+ qrCodeAlg = new QRCodeAlg(this.options.text, this.options.correctLevel);
1064
+ qrcodeAlgObjCache.push({
1065
+ text: this.options.text,
1066
+ correctLevel: this.options.correctLevel,
1067
+ obj: qrCodeAlg
1068
+ });
1069
+ }
1070
+ /**
1071
+ * 计算矩阵点的前景色
1072
+ * @param {Obj} config
1073
+ * @param {Number} config.row 点x坐标
1074
+ * @param {Number} config.col 点y坐标
1075
+ * @param {Number} config.count 矩阵大小
1076
+ * @param {Number} config.options 组件的options
1077
+ * @return {String}
1078
+ */
1079
+ let getForeGround = function (config) {
1080
+ var options = config.options;
1081
+ if (options.pdground && (
1082
+ (config.row > 1 && config.row < 5 && config.col > 1 && config.col < 5) ||
1083
+ (config.row > (config.count - 6) && config.row < (config.count - 2) && config.col > 1 && config.col < 5) ||
1084
+ (config.row > 1 && config.row < 5 && config.col > (config.count - 6) && config.col < (config.count - 2))
1085
+ )) {
1086
+ return options.pdground;
1087
+ }
1088
+ return options.foreground;
1089
+ }
1090
+
1091
+ // 创建canvas
1092
+ let createCanvas = async function (options) {
1093
+ let isApp = false;
1094
+ // #ifdef APP
1095
+ isApp = true;
1096
+ // #endif
1097
+
1098
+ if(options.showLoading){
1099
+ uni.showLoading({
1100
+ title: options.loadingText,
1101
+ mask: true
1102
+ });
1103
+ }
1104
+ var ctx = '';
1105
+ ctx = options.ctx;
1106
+
1107
+ var count = qrCodeAlg.getModuleCount();
1108
+ var quietZone = Math.max(0, Math.floor(options.quietZone || 0));
1109
+ var renderCount = count + quietZone * 2;
1110
+ var ratioSize = options.size;
1111
+ var ratioImgSize = options.imageSize;
1112
+ //计算每个点的长宽
1113
+ var tileW = (ratioSize / renderCount).toPrecision(4);
1114
+ var tileH = (ratioSize / renderCount).toPrecision(4);
1115
+ //绘制
1116
+ for (var row = 0; row < renderCount; row++) {
1117
+ for (var col = 0; col < renderCount; col++) {
1118
+ var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW));
1119
+ var h = (Math.ceil((row + 1) * tileH) - Math.floor(row * tileH));
1120
+ var qrRow = row - quietZone;
1121
+ var qrCol = col - quietZone;
1122
+ var isDark = qrRow >= 0 && qrCol >= 0 && qrRow < count && qrCol < count && qrCodeAlg.modules[qrRow][qrCol];
1123
+ var foreground = getForeGround({
1124
+ row: qrRow,
1125
+ col: qrCol,
1126
+ count: count,
1127
+ options: options
1128
+ });
1129
+ setFillStyle(ctx, isDark ? foreground : options.background);
1130
+ ctx.fillRect(Math.round(col * tileW), Math.round(row * tileH), w, h);
1131
+ }
1132
+ }
1133
+ if (options.image) {
1134
+ var x = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
1135
+ var y = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
1136
+ drawRoundedRect(ctx, x, y, ratioImgSize, ratioImgSize, 2, 6, true, true)
1137
+ await options.vuectx.drawImage(options.image, x, y, ratioImgSize, ratioImgSize);
1138
+ // 画圆角矩形
1139
+ function drawRoundedRect(ctxi, x, y, width, height, r, lineWidth, fill, stroke) {
1140
+ setLineWidth(ctxi, lineWidth);
1141
+ setFillStyle(ctxi, options.background);
1142
+ setStrokeStyle(ctxi, options.background);
1143
+ ctxi.beginPath(); // draw top and top right corner
1144
+ ctxi.moveTo(x + r, y);
1145
+ ctxi.lineTo(x + width, y); // move to top-right corner
1146
+ ctxi.arc(x + width - r, y + r, r, -Math.PI / 2, 0); // draw right side and bottom right corner
1147
+
1148
+ ctxi.lineTo(x + width, y + height - r);
1149
+ ctxi.arc(x + width - r, y + height - r, r, 0, Math.PI / 2); // draw bottom and bottom left corner
1150
+
1151
+ ctxi.lineTo(x + r, y + height);
1152
+ ctxi.arc(x + r, y + height - r, r, Math.PI / 2, Math.PI);// draw left and top left corner
1153
+
1154
+ ctxi.lineTo(x, y + r);
1155
+ ctxi.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2);
1156
+
1157
+ ctxi.closePath();
1158
+ if (fill) {
1159
+ ctxi.fill();
1160
+ }
1161
+ if (stroke) {
1162
+ ctxi.stroke();
1163
+ }
1164
+ }
1165
+ }
1166
+ setTimeout(() => {
1167
+ // canvas2 绘制是自动的不需要手动绘制
1168
+ if(options.isNvue || isApp){
1169
+ const exportCode = () => {
1170
+ // 保存到临时区域
1171
+ setTimeout(() => {
1172
+ if (options.canvasHost && typeof options.canvasHost.toTempFilePath === 'function') {
1173
+ options.canvasHost.toTempFilePath({
1174
+ width: options.width || options.size,
1175
+ height: options.height || options.size,
1176
+ destWidth: options.width || options.size,
1177
+ destHeight: options.height || options.size,
1178
+ quality: Number(1),
1179
+ success: function (res) {
1180
+ if (options.cbResult) {
1181
+ if (!empty(res.tempFilePath)) {
1182
+ options.cbResult(res.tempFilePath)
1183
+ } else if (!empty(res.apFilePath)) {
1184
+ options.cbResult(res.apFilePath)
1185
+ } else {
1186
+ options.cbResult(res.tempFilePath)
1187
+ }
1188
+ }
1189
+ },
1190
+ fail: function (res) {
1191
+ console.log('绘制失败', res)
1192
+ if (options.cbResult) {
1193
+ options.cbResult(res)
1194
+ }
1195
+ },
1196
+ complete: function () {
1197
+ uni.hideLoading();
1198
+ },
1199
+ }).catch(function(res) {
1200
+ console.log('绘制失败', res)
1201
+ });
1202
+ }
1203
+ }, options.text.length + 100);
1204
+ };
1205
+ if (options.canvasHost && typeof options.canvasHost.draw === 'function') {
1206
+ options.canvasHost.draw(true, exportCode);
1207
+ } else if (ctx && typeof ctx.draw === 'function') {
1208
+ ctx.draw(true, exportCode);
1209
+ } else {
1210
+ exportCode();
1211
+ }
1212
+ }
1213
+ else{
1214
+ options.cbResult("")
1215
+ }
1216
+
1217
+ }, options.usingComponents ? 100 : 200);
1218
+ }
1219
+ createCanvas(this.options);
1220
+ // 空判定
1221
+ let empty = function (v) {
1222
+ let tp = typeof v,
1223
+ rt = false;
1224
+ if (tp == "number" && String(v) == "") {
1225
+ rt = true
1226
+ } else if (tp == "undefined") {
1227
+ rt = true
1228
+ } else if (tp == "object") {
1229
+ if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
1230
+ } else if (tp == "string") {
1231
+ if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
1232
+ } else if (tp == "function") {
1233
+ rt = false
1234
+ }
1235
+ return rt
1236
+ }
1237
+ function setFillStyle(ctx, value) {
1238
+ if (ctx && typeof ctx.setFillStyle === 'function') {
1239
+ ctx.setFillStyle(value);
1240
+ } else if (ctx) {
1241
+ ctx.fillStyle = value;
1242
+ }
1243
+ }
1244
+ function setStrokeStyle(ctx, value) {
1245
+ if (ctx && typeof ctx.setStrokeStyle === 'function') {
1246
+ ctx.setStrokeStyle(value);
1247
+ } else if (ctx) {
1248
+ ctx.strokeStyle = value;
1249
+ }
1250
+ }
1251
+ function setLineWidth(ctx, value) {
1252
+ if (ctx && typeof ctx.setLineWidth === 'function') {
1253
+ ctx.setLineWidth(value);
1254
+ } else if (ctx) {
1255
+ ctx.lineWidth = value;
1256
+ }
1257
+ }
1258
+ };
1259
+ QRCode.prototype.clear = function (fn) {
1260
+ if (this.options.canvasHost && typeof this.options.canvasHost.clearCanvas === 'function') {
1261
+ this.options.canvasHost.clearCanvas()
1262
+ if (fn) fn()
1263
+ return
1264
+ }
1265
+ var ctx = this.options.ctx;
1266
+ ctx.clearRect(0, 0, this.options.size, this.options.size)
1267
+ ctx.draw(false, () => {
1268
+ if (fn) {
1269
+ fn()
1270
+ }
1271
+ })
1272
+ };
1273
+ })()
1274
+
1275
+ export default QRCode