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

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 (350) hide show
  1. package/package.json +5 -1
  2. package/plugins/luch-request/adapters/index.js +131 -0
  3. package/plugins/luch-request/core/InterceptorManager.js +50 -0
  4. package/plugins/luch-request/core/Request.js +199 -0
  5. package/plugins/luch-request/core/buildFullPath.js +20 -0
  6. package/plugins/luch-request/core/defaults.js +32 -0
  7. package/plugins/luch-request/core/dispatchRequest.js +5 -0
  8. package/plugins/luch-request/core/mergeConfig.js +125 -0
  9. package/plugins/luch-request/core/settle.js +16 -0
  10. package/plugins/luch-request/helpers/buildURL.js +71 -0
  11. package/plugins/luch-request/helpers/combineURLs.js +12 -0
  12. package/plugins/luch-request/helpers/isAbsoluteURL.js +14 -0
  13. package/plugins/luch-request/index.d.ts +197 -0
  14. package/plugins/luch-request/index.js +2 -0
  15. package/plugins/luch-request/readme.md +3 -0
  16. package/plugins/luch-request/utils/clone.js +264 -0
  17. package/plugins/luch-request/utils.js +131 -0
  18. package/plugins/request.js +2 -2
  19. package/ui-cv/components/cv-btn-base/cv-btn-base.vue +1 -1
  20. package/ui-cv/components/cv-form-item/cv-form-item.vue +1 -1
  21. package/ui-fireui/fui-actionsheet/fui-actionsheet.vue +202 -0
  22. package/ui-fireui/fui-alert/fui-alert.vue +141 -0
  23. package/ui-fireui/fui-badge/fui-badge.vue +158 -0
  24. package/ui-fireui/fui-bottom-navigation/fui-bottom-navigation.vue +390 -0
  25. package/ui-fireui/fui-bottom-popup/fui-bottom-popup.vue +100 -0
  26. package/ui-fireui/fui-bubble-popup/fui-bubble-popup.vue +236 -0
  27. package/ui-fireui/fui-button/fui-button.vue +424 -0
  28. package/ui-fireui/fui-calendar/fui-calendar.js +915 -0
  29. package/ui-fireui/fui-calendar/fui-calendar.vue +868 -0
  30. package/ui-fireui/fui-card/fui-card.vue +231 -0
  31. package/ui-fireui/fui-cascade-selection/fui-cascade-selection.vue +538 -0
  32. package/ui-fireui/fui-circular-progress/fui-circular-progress.vue +261 -0
  33. package/ui-fireui/fui-collapse/fui-collapse.vue +179 -0
  34. package/ui-fireui/fui-countdown/fui-countdown.vue +301 -0
  35. package/ui-fireui/fui-datetime/fui-datetime.vue +570 -0
  36. package/ui-fireui/fui-divider/fui-divider.vue +118 -0
  37. package/ui-fireui/fui-drawer/fui-drawer.vue +103 -0
  38. package/ui-fireui/fui-dropdown-list/fui-dropdown-list.vue +70 -0
  39. package/ui-fireui/fui-fab/fui-fab.vue +284 -0
  40. package/ui-fireui/fui-footer/fui-footer.vue +131 -0
  41. package/ui-fireui/fui-grid/fui-grid.vue +42 -0
  42. package/ui-fireui/fui-grid-item/fui-grid-item.vue +142 -0
  43. package/ui-fireui/fui-icon/fui-icon.vue +820 -0
  44. package/ui-fireui/fui-image-cropper/fui-image-cropper.vue +1058 -0
  45. package/ui-fireui/fui-image-group/fui-image-group.vue +149 -0
  46. package/ui-fireui/fui-keyboard/fui-keyboard.vue +254 -0
  47. package/ui-fireui/fui-keyboard-input/fui-keyboard-input.vue +78 -0
  48. package/ui-fireui/fui-list-cell/fui-list-cell.vue +178 -0
  49. package/ui-fireui/fui-list-view/fui-list-view.vue +87 -0
  50. package/ui-fireui/fui-loading/fui-loading.vue +78 -0
  51. package/ui-fireui/fui-loadmore/fui-loadmore.vue +163 -0
  52. package/ui-fireui/fui-modal/fui-modal.vue +392 -0
  53. package/ui-fireui/fui-navigation-bar/fui-navigation-bar.vue +180 -0
  54. package/ui-fireui/fui-no-data/fui-no-data.vue +116 -0
  55. package/ui-fireui/fui-nomore/fui-nomore.vue +116 -0
  56. package/ui-fireui/fui-numberbox/fui-numberbox.vue +234 -0
  57. package/ui-fireui/fui-numberbox-border/fui-numberbox-border.vue +232 -0
  58. package/ui-fireui/fui-picture-cropper/fui-picture-cropper.vue +682 -0
  59. package/ui-fireui/fui-picture-cropper/fui-picture-cropper.wxs +560 -0
  60. package/ui-fireui/fui-rate/fui-rate.vue +167 -0
  61. package/ui-fireui/fui-round-progress/fui-round-progress.vue +306 -0
  62. package/ui-fireui/fui-scroll-top/fui-scroll-top.vue +189 -0
  63. package/ui-fireui/fui-sharemodel/fui-sharemodel.vue +181 -0
  64. package/ui-fireui/fui-skeleton/fui-skeleton.vue +248 -0
  65. package/ui-fireui/fui-steps/fui-steps.vue +214 -0
  66. package/ui-fireui/fui-sticky/fui-sticky.vue +155 -0
  67. package/ui-fireui/fui-sticky-wxs/fui-sticky-wxs.vue +133 -0
  68. package/ui-fireui/fui-sticky-wxs/fui-sticky.wxs +44 -0
  69. package/ui-fireui/fui-swipe-action/fui-swipe-action.vue +301 -0
  70. package/ui-fireui/fui-tabbar/fui-tabbar.vue +283 -0
  71. package/ui-fireui/fui-tabs/fui-tabs.vue +284 -0
  72. package/ui-fireui/fui-tabs2/fui-tabs2.vue +284 -0
  73. package/ui-fireui/fui-tag/fui-tag.vue +374 -0
  74. package/ui-fireui/fui-time-axis/fui-time-axis.vue +36 -0
  75. package/ui-fireui/fui-timeaxis-item/fui-timeaxis-item.vue +48 -0
  76. package/ui-fireui/fui-tips/fui-tips.vue +161 -0
  77. package/ui-fireui/fui-toast/fui-toast.vue +117 -0
  78. package/ui-fireui/fui-top-dropdown/fui-top-dropdown.vue +129 -0
  79. package/ui-fireui/fui-upload/fui-upload.vue +446 -0
  80. package/ui-fireui/fui-uploadsamll/fui-uploadsamll.vue +472 -0
  81. package/uview-plus/README.md +2 -2
  82. package/uview-plus/changelog-wu-tool.md +21 -0
  83. package/uview-plus/changelog-wu.md +91 -0
  84. package/uview-plus/components/u-action-sheet/_doc/changelog.md +12 -0
  85. package/uview-plus/components/u-action-sheet/_doc/package.json +92 -0
  86. package/uview-plus/components/u-action-sheet/_doc/readme.md +16 -0
  87. package/uview-plus/components/u-action-sheet/u-action-sheet.vue +8 -8
  88. package/uview-plus/components/u-album/u-album.vue +1 -1
  89. package/uview-plus/components/u-alert/u-alert.vue +5 -5
  90. package/uview-plus/components/u-app-update/_doc/changelog.md +26 -0
  91. package/uview-plus/components/u-app-update/_doc/package.json +89 -0
  92. package/uview-plus/components/u-app-update/_doc/readme.md +16 -0
  93. package/uview-plus/components/u-app-update/config.js +120 -0
  94. package/uview-plus/components/u-app-update/img/act.png +0 -0
  95. package/uview-plus/components/u-app-update/img/appUploadAlertBoxBg.png +0 -0
  96. package/uview-plus/components/u-app-update/img/close.png +0 -0
  97. package/uview-plus/components/u-app-update/js-sdk/checkVersion.js +81 -0
  98. package/uview-plus/components/u-app-update/js-sdk/silentlyAppUpdate.js +41 -0
  99. package/uview-plus/components/u-app-update/pages/index.vue +8 -0
  100. package/uview-plus/components/u-app-update/u-app-update.vue +583 -0
  101. package/uview-plus/components/u-avatar/u-avatar.vue +2 -2
  102. package/uview-plus/components/u-avatar-group/u-avatar-group.vue +79 -3
  103. package/uview-plus/components/u-back-top/u-back-top.vue +4 -4
  104. package/uview-plus/components/u-badge/u-badge.vue +1 -1
  105. package/uview-plus/components/u-button/u-button.vue +8 -8
  106. package/uview-plus/components/u-button-wu/_doc/changelog.md +6 -0
  107. package/uview-plus/components/u-button-wu/_doc/package.json +89 -0
  108. package/uview-plus/components/u-button-wu/_doc/readme.md +16 -0
  109. package/uview-plus/components/u-button-wu/u-button-wu.vue +522 -0
  110. package/uview-plus/components/u-button-wu/vue.scss +81 -0
  111. package/uview-plus/components/u-calendar/u-calendar.vue +5 -6
  112. package/uview-plus/components/u-calendar-wu/_doc/changelog.md +145 -0
  113. package/uview-plus/components/u-calendar-wu/_doc/package.json +90 -0
  114. package/uview-plus/components/u-calendar-wu/_doc/readme.md +16 -0
  115. package/uview-plus/components/u-calendar-wu/calendar.js +664 -0
  116. package/uview-plus/components/u-calendar-wu/i18n/en.json +14 -0
  117. package/uview-plus/components/u-calendar-wu/i18n/index.js +8 -0
  118. package/uview-plus/components/u-calendar-wu/i18n/zh-Hans.json +14 -0
  119. package/uview-plus/components/u-calendar-wu/i18n/zh-Hant.json +14 -0
  120. package/uview-plus/components/u-calendar-wu/props.js +166 -0
  121. package/uview-plus/components/u-calendar-wu/style.css +196 -0
  122. package/uview-plus/components/u-calendar-wu/u-calendar-wu.vue +921 -0
  123. package/uview-plus/components/u-calendar-wu/util.js +552 -0
  124. package/uview-plus/components/u-calendar-wu/wu-calendar-block/props.js +73 -0
  125. package/uview-plus/components/u-calendar-wu/wu-calendar-block/wu-calendar-block.vue +122 -0
  126. package/uview-plus/components/u-calendar-wu/wu-calendar-item/props.js +55 -0
  127. package/uview-plus/components/u-calendar-wu/wu-calendar-item/wu-calendar-item.vue +293 -0
  128. package/uview-plus/components/u-car-keyboard/u-car-keyboard.vue +2 -2
  129. package/uview-plus/components/u-card/u-card.vue +139 -3
  130. package/uview-plus/components/u-cell/_doc/changelog.md +6 -0
  131. package/uview-plus/components/u-cell/_doc/package.json +89 -0
  132. package/uview-plus/components/u-cell/_doc/readme.md +25 -0
  133. package/uview-plus/components/u-cell/u-cell.vue +4 -4
  134. package/uview-plus/components/u-cell-group/u-cell-group.vue +2 -2
  135. package/uview-plus/components/u-checkbox/_doc/changelog.md +8 -0
  136. package/uview-plus/components/u-checkbox/_doc/package.json +88 -0
  137. package/uview-plus/components/u-checkbox/_doc/readme.md +25 -0
  138. package/uview-plus/components/u-checkbox/u-checkbox.vue +4 -4
  139. package/uview-plus/components/u-checkbox-group/u-checkbox-group.vue +1 -1
  140. package/uview-plus/components/u-code/_doc/changelog.md +6 -0
  141. package/uview-plus/components/u-code/_doc/package.json +86 -0
  142. package/uview-plus/components/u-code/_doc/readme.md +16 -0
  143. package/uview-plus/components/u-code/u-code.vue +1 -1
  144. package/uview-plus/components/u-code-input/u-code-input.vue +1 -1
  145. package/uview-plus/components/u-col/u-col.vue +1 -1
  146. package/uview-plus/components/u-collapse/u-collapse.vue +2 -2
  147. package/uview-plus/components/u-collapse-item/u-collapse-item.vue +218 -3
  148. package/uview-plus/components/u-column-notice/u-column-notice.vue +3 -3
  149. package/uview-plus/components/u-count-down/u-count-down.vue +1 -1
  150. package/uview-plus/components/u-count-to/u-count-to.vue +1 -1
  151. package/uview-plus/components/u-datetime-picker/u-datetime-picker.vue +3 -3
  152. package/uview-plus/components/u-divider/u-divider.vue +3 -3
  153. package/uview-plus/components/u-drag-sort/_doc/changelog.md +0 -0
  154. package/uview-plus/components/u-drag-sort/_doc/package.json +85 -0
  155. package/uview-plus/components/u-drag-sort/_doc/readme.md +16 -0
  156. package/uview-plus/components/u-drag-sort/u-drag-sort.vue +3 -0
  157. package/uview-plus/components/u-dropdown/u-dropdown.vue +3 -3
  158. package/uview-plus/components/u-dropdown-item/u-dropdown-item.vue +1 -1
  159. package/uview-plus/components/u-empty/u-empty.vue +30 -4
  160. package/uview-plus/components/u-form-item/u-form-item.vue +4 -4
  161. package/uview-plus/components/u-gap/_doc/changelog.md +4 -0
  162. package/uview-plus/components/u-gap/_doc/package.json +86 -0
  163. package/uview-plus/components/u-gap/_doc/readme.md +22 -0
  164. package/uview-plus/components/u-gap/u-gap.vue +1 -1
  165. package/uview-plus/components/u-grid/u-grid.vue +1 -1
  166. package/uview-plus/components/u-grid-item/u-grid-item.vue +1 -1
  167. package/uview-plus/components/u-icon/_doc/changelog.md +10 -0
  168. package/uview-plus/components/u-icon/_doc/package.json +85 -0
  169. package/uview-plus/components/u-icon/_doc/readme.md +10 -0
  170. package/uview-plus/components/u-icon/icon.js +23 -25
  171. package/uview-plus/components/u-icon/icons.js +213 -213
  172. package/uview-plus/components/u-icon/style.css +3 -3
  173. package/uview-plus/components/u-icon/u-icon.vue +1 -1
  174. package/uview-plus/components/u-icon/u-icon2.vue +149 -0
  175. package/uview-plus/components/u-image/u-image.vue +5 -5
  176. package/uview-plus/components/u-image-wu/_doc/changelog.md +21 -0
  177. package/uview-plus/components/u-image-wu/_doc/package.json +88 -0
  178. package/uview-plus/components/u-image-wu/_doc/readme.md +11 -0
  179. package/uview-plus/components/u-image-wu/props.js +94 -0
  180. package/uview-plus/components/u-image-wu/u-image-wu.vue +243 -0
  181. package/uview-plus/components/u-index-anchor/u-index-anchor.vue +1 -1
  182. package/uview-plus/components/u-index-list/u-index-list.vue +2 -2
  183. package/uview-plus/components/u-input/_doc/changelog.md +6 -0
  184. package/uview-plus/components/u-input/_doc/package.json +88 -0
  185. package/uview-plus/components/u-input/_doc/readme.md +16 -0
  186. package/uview-plus/components/u-input/u-input.vue +4 -4
  187. package/uview-plus/components/u-keyboard/u-keyboard.vue +6 -6
  188. package/uview-plus/components/u-lazy-load/u-lazy-load.vue +257 -3
  189. package/uview-plus/components/u-line/_doc/changelog.md +8 -0
  190. package/uview-plus/components/u-line/_doc/package.json +86 -0
  191. package/uview-plus/components/u-line/_doc/readme.md +16 -0
  192. package/uview-plus/components/u-line/u-line.vue +1 -1
  193. package/uview-plus/components/u-line-progress/u-line-progress.vue +1 -1
  194. package/uview-plus/components/u-link/_doc/changelog.md +8 -0
  195. package/uview-plus/components/u-link/_doc/package.json +86 -0
  196. package/uview-plus/components/u-link/_doc/readme.md +20 -0
  197. package/uview-plus/components/u-link/u-link.vue +1 -1
  198. package/uview-plus/components/u-list/u-list.vue +1 -1
  199. package/uview-plus/components/u-list-item/u-list-item.vue +1 -1
  200. package/uview-plus/components/u-loading-icon/_doc/changelog.md +12 -0
  201. package/uview-plus/components/u-loading-icon/_doc/package.json +86 -0
  202. package/uview-plus/components/u-loading-icon/_doc/readme.md +16 -0
  203. package/uview-plus/components/u-loading-icon/props.js +1 -1
  204. package/uview-plus/components/u-loading-icon/u-loading-icon.vue +191 -3
  205. package/uview-plus/components/u-loading-page/u-loading-page.vue +4 -4
  206. package/uview-plus/components/u-loadmore/u-loadmore.vue +4 -4
  207. package/uview-plus/components/u-mask/u-mask.vue +120 -113
  208. package/uview-plus/components/u-message-input/u-message-input.vue +1 -1
  209. package/uview-plus/components/u-modal/u-modal.vue +6 -6
  210. package/uview-plus/components/u-navbar/_doc/changelog.md +6 -0
  211. package/uview-plus/components/u-navbar/_doc/package.json +89 -0
  212. package/uview-plus/components/u-navbar/_doc/readme.md +16 -0
  213. package/uview-plus/components/u-navbar/u-navbar.vue +4 -4
  214. package/uview-plus/components/u-navbar-mini/u-navbar-mini.vue +2 -2
  215. package/uview-plus/components/u-navbar-wu/props.js +102 -0
  216. package/uview-plus/components/u-navbar-wu/u-navbar-wu.vue +196 -0
  217. package/uview-plus/components/u-no-network/u-no-network.vue +5 -5
  218. package/uview-plus/components/u-notice-bar/u-notice-bar.vue +5 -5
  219. package/uview-plus/components/u-notify/u-notify.vue +6 -6
  220. package/uview-plus/components/u-number-box/_doc/changelog.md +19 -0
  221. package/uview-plus/components/u-number-box/_doc/package.json +88 -0
  222. package/uview-plus/components/u-number-box/_doc/readme.md +16 -0
  223. package/uview-plus/components/u-number-box/u-number-box.vue +9 -3
  224. package/uview-plus/components/u-number-keyboard/u-number-keyboard.vue +1 -1
  225. package/uview-plus/components/u-overlay/_doc/changelog.md +4 -0
  226. package/uview-plus/components/u-overlay/_doc/package.json +88 -0
  227. package/uview-plus/components/u-overlay/_doc/readme.md +16 -0
  228. package/uview-plus/components/u-overlay/u-overlay.vue +3 -3
  229. package/uview-plus/components/u-picker/u-picker.vue +5 -5
  230. package/uview-plus/components/u-popup/_doc/changelog.md +4 -0
  231. package/uview-plus/components/u-popup/_doc/package.json +92 -0
  232. package/uview-plus/components/u-popup/_doc/readme.md +16 -0
  233. package/uview-plus/components/u-popup/u-popup.vue +8 -8
  234. package/uview-plus/components/u-popup-wu/keypress.js +45 -0
  235. package/uview-plus/components/u-popup-wu/u-popup-wu.vue +519 -0
  236. package/uview-plus/components/u-radio/_doc/changelog.md +6 -0
  237. package/uview-plus/components/u-radio/_doc/package.json +88 -0
  238. package/uview-plus/components/u-radio/_doc/readme.md +25 -0
  239. package/uview-plus/components/u-radio/u-radio.vue +4 -4
  240. package/uview-plus/components/u-radio-group/u-radio-group.vue +1 -1
  241. package/uview-plus/components/u-rate/u-rate.vue +5 -5
  242. package/uview-plus/components/u-read-more/u-read-more.vue +126 -3
  243. package/uview-plus/components/u-row/_doc/changelog.md +8 -0
  244. package/uview-plus/components/u-row/_doc/package.json +86 -0
  245. package/uview-plus/components/u-row/_doc/readme.md +16 -0
  246. package/uview-plus/components/u-row/u-row.vue +1 -1
  247. package/uview-plus/components/u-row-notice/u-row-notice.vue +3 -3
  248. package/uview-plus/components/u-safe-bottom/_doc/changelog.md +6 -0
  249. package/uview-plus/components/u-safe-bottom/_doc/package.json +86 -0
  250. package/uview-plus/components/u-safe-bottom/_doc/readme.md +16 -0
  251. package/uview-plus/components/u-safe-bottom/u-safe-bottom.vue +48 -3
  252. package/uview-plus/components/u-search/u-search.vue +4 -4
  253. package/uview-plus/components/u-select/u-select.vue +175 -3
  254. package/uview-plus/components/u-skeleton/u-skeleton.vue +3 -3
  255. package/uview-plus/components/u-sku-wu/_doc/changelog.md +27 -0
  256. package/uview-plus/components/u-sku-wu/_doc/package.json +93 -0
  257. package/uview-plus/components/u-sku-wu/_doc/readme.md +16 -0
  258. package/uview-plus/components/u-sku-wu/props.js +86 -0
  259. package/uview-plus/components/u-sku-wu/style.css +271 -0
  260. package/uview-plus/components/u-sku-wu/u-sku-wu.vue +864 -0
  261. package/uview-plus/components/u-status-bar/_doc/changelog.md +4 -0
  262. package/uview-plus/components/u-status-bar/_doc/package.json +86 -0
  263. package/uview-plus/components/u-status-bar/_doc/readme.md +16 -0
  264. package/uview-plus/components/u-status-bar/u-status-bar.vue +1 -1
  265. package/uview-plus/components/u-steps/u-steps.vue +1 -1
  266. package/uview-plus/components/u-steps-item/u-steps-item.vue +7 -7
  267. package/uview-plus/components/u-sticky/u-sticky.vue +1 -1
  268. package/uview-plus/components/u-subsection/u-subsection.vue +1 -1
  269. package/uview-plus/components/u-swipe-action/u-swipe-action.vue +1 -1
  270. package/uview-plus/components/u-swipe-action-item/u-swipe-action-item.vue +3 -3
  271. package/uview-plus/components/u-swiper/u-swiper.vue +1 -1
  272. package/uview-plus/components/u-swiper-indicator/u-swiper-indicator.vue +1 -1
  273. package/uview-plus/components/u-switch/u-switch.vue +2 -2
  274. package/uview-plus/components/u-tabbar/u-tabbar.vue +2 -2
  275. package/uview-plus/components/u-tabbar-item/u-tabbar-item.vue +9 -4
  276. package/uview-plus/components/u-table/u-table.vue +1 -1
  277. package/uview-plus/components/u-tabs/u-tabs.vue +3 -3
  278. package/uview-plus/components/u-tag/u-tag.vue +5 -5
  279. package/uview-plus/components/u-text/_doc/changelog.md +10 -0
  280. package/uview-plus/components/u-text/_doc/package.json +89 -0
  281. package/uview-plus/components/u-text/_doc/readme.md +20 -0
  282. package/uview-plus/components/u-text/u-text.vue +159 -3
  283. package/uview-plus/components/u-textarea/_doc/changelog.md +6 -0
  284. package/uview-plus/components/u-textarea/_doc/package.json +86 -0
  285. package/uview-plus/components/u-textarea/_doc/readme.md +25 -0
  286. package/uview-plus/components/u-toast/u-toast.vue +8 -8
  287. package/uview-plus/components/u-tooltip/u-tooltip.vue +6 -6
  288. package/uview-plus/components/u-transition/_doc/changelog.md +14 -0
  289. package/uview-plus/components/u-transition/_doc/package.json +86 -0
  290. package/uview-plus/components/u-transition/_doc/readme.md +16 -0
  291. package/uview-plus/components/u-transition-wu/createAnimation.js +148 -0
  292. package/uview-plus/components/u-transition-wu/props.js +32 -0
  293. package/uview-plus/components/u-transition-wu/u-transition.vue +300 -0
  294. package/uview-plus/components/u-upload/u-upload.vue +10 -10
  295. package/uview-plus/components/u-verification-code/u-verification-code.vue +161 -0
  296. package/uview-plus/components/u-waterfall/u-waterfall.vue +221 -3
  297. package/uview-plus/index.js +109 -94
  298. package/uview-plus/libs/config/config.js +46 -48
  299. package/uview-plus/libs/css/color.scss +32 -311
  300. package/uview-plus/libs/css/components-wu.scss +30 -0
  301. package/uview-plus/libs/css/vue.scss +10 -10
  302. package/uview-plus/libs/ctocode/index.js +120 -0
  303. package/uview-plus/libs/function/calc.js +61 -55
  304. package/uview-plus/libs/function/color/color-convert/CHANGELOG.md +54 -0
  305. package/uview-plus/libs/function/color/color-convert/LICENSE +21 -0
  306. package/uview-plus/libs/function/color/color-convert/README.md +68 -0
  307. package/uview-plus/libs/function/color/color-convert/conversions.js +839 -0
  308. package/uview-plus/libs/function/color/color-convert/index.js +81 -0
  309. package/uview-plus/libs/function/color/color-convert/package.json +48 -0
  310. package/uview-plus/libs/function/color/color-convert/route.js +97 -0
  311. package/uview-plus/libs/function/color/color-name/LICENSE +8 -0
  312. package/uview-plus/libs/function/color/color-name/README.md +11 -0
  313. package/uview-plus/libs/function/color/color-name/index.js +152 -0
  314. package/uview-plus/libs/function/color/color-name/package.json +28 -0
  315. package/uview-plus/libs/function/color/color-string/LICENSE +21 -0
  316. package/uview-plus/libs/function/color/color-string/README.md +62 -0
  317. package/uview-plus/libs/function/color/color-string/index.js +244 -0
  318. package/uview-plus/libs/function/color/color-string/package.json +39 -0
  319. package/uview-plus/libs/function/color/color.js +496 -0
  320. package/uview-plus/libs/function/color/index.js +158 -0
  321. package/uview-plus/libs/function/color/is-arrayish/LICENSE +21 -0
  322. package/uview-plus/libs/function/color/is-arrayish/README.md +16 -0
  323. package/uview-plus/libs/function/color/is-arrayish/index.js +9 -0
  324. package/uview-plus/libs/function/color/is-arrayish/package.json +45 -0
  325. package/uview-plus/libs/function/color/is-arrayish/yarn-error.log +1443 -0
  326. package/uview-plus/libs/function/color/simple-swizzle/LICENSE +21 -0
  327. package/uview-plus/libs/function/color/simple-swizzle/README.md +39 -0
  328. package/uview-plus/libs/function/color/simple-swizzle/index.js +29 -0
  329. package/uview-plus/libs/function/color/simple-swizzle/package.json +36 -0
  330. package/uview-plus/libs/function/colorGradient.js +108 -106
  331. package/uview-plus/libs/function/debounce.js +17 -17
  332. package/uview-plus/libs/function/digit.js +1 -3
  333. package/uview-plus/libs/function/http.js +3 -3
  334. package/uview-plus/libs/function/index-wu.js +198 -0
  335. package/uview-plus/libs/function/index.js +579 -566
  336. package/uview-plus/libs/function/platform.js +18 -18
  337. package/uview-plus/libs/function/test.js +135 -137
  338. package/uview-plus/libs/function/throttle.js +17 -17
  339. package/uview-plus/libs/luch-request/core/Request.js +199 -199
  340. package/uview-plus/libs/mixin/mpMixin.js +1 -0
  341. package/uview-plus/libs/mixin/openType.js +33 -0
  342. package/uview-plus/libs/util/async-validator.js +1343 -1343
  343. package/uview-plus/libs/util/dayjs.js +404 -0
  344. package/uview-plus/libs/util/route.js +101 -105
  345. package/uview-plus/package-wu-tool.json +84 -0
  346. package/uview-plus/package-wu.json +112 -0
  347. package/uview-plus/package.json +106 -95
  348. package/uview-plus/readme-wu.md +148 -0
  349. package/uview-ui/index.js +51 -52
  350. package/plugins/uni-upgrade.js +0 -294
@@ -0,0 +1,682 @@
1
+ <template>
2
+ <view class="fui-container" @touchmove.stop.prevent="stop">
3
+ <view
4
+ class="fui-image-cropper"
5
+ :change:prop="parse.propsChange"
6
+ :prop="props"
7
+ :data-lockRatio="lockRatio"
8
+ :data-lockWidth="lockWidth"
9
+ :data-lockHeight="lockHeight"
10
+ :data-maxWidth="maxWidth"
11
+ :data-minWidth="minWidth"
12
+ :data-maxHeight="maxHeight"
13
+ :data-minHeight="minHeight"
14
+ :data-width="width"
15
+ :data-height="height"
16
+ :data-limitMove="limitMove"
17
+ :data-windowHeight="sysInfo.windowHeight || 600"
18
+ :data-windowWidth="sysInfo.windowWidth || 400"
19
+ :data-imgTop="imgTop"
20
+ :data-imgLeft="imgLeft"
21
+ :data-imgWidth="imgWidth"
22
+ :data-imgHeight="imgHeight"
23
+ :data-angle="angle"
24
+ @touchend.stop="parse.cutTouchEnd"
25
+ @touchstart.stop="parse.cutTouchStart"
26
+ @touchmove.stop="parse.cutTouchMove"
27
+ >
28
+ <view class="fui-content">
29
+ <view class="fui-content-top fui-bg-transparent" :style="{ transitionProperty: cutAnimation ? '' : 'background' }"></view>
30
+ <view class="fui-content-middle">
31
+ <view class="fui-bg-transparent fui-wxs-bg" :style="{ transitionProperty: cutAnimation ? '' : 'background' }"></view>
32
+ <view
33
+ class="fui-cropper-box"
34
+ :style="{ borderColor: borderColor, transitionProperty: cutAnimation ? '' : 'background' }"
35
+ >
36
+ <view
37
+ v-for="(item, index) in 4"
38
+ :key="index"
39
+ class="fui-edge"
40
+ :class="[`fui-${index < 2 ? 'top' : 'bottom'}-${index === 0 || index === 2 ? 'left' : 'right'}`]"
41
+ :style="{
42
+ width: edgeWidth,
43
+ height: edgeWidth,
44
+ borderColor: edgeColor,
45
+ borderWidth: edgeBorderWidth,
46
+ left: index === 0 || index === 2 ? `-${edgeOffsets}` : 'auto',
47
+ right: index === 1 || index === 3 ? `-${edgeOffsets}` : 'auto',
48
+ top: index < 2 ? `-${edgeOffsets}` : 'auto',
49
+ bottom: index > 1 ? `-${edgeOffsets}` : 'auto'
50
+ }"
51
+ ></view>
52
+ </view>
53
+ <view class="fui-flex-auto fui-bg-transparent" :style="{ transitionProperty: cutAnimation ? '' : 'background' }"></view>
54
+ </view>
55
+ <view class="fui-flex-auto fui-bg-transparent" :style="{ transitionProperty: cutAnimation ? '' : 'background' }"></view>
56
+ </view>
57
+ <image
58
+ @load="imageLoad"
59
+ @error="imageLoad"
60
+ @touchstart.stop="parse.touchstart"
61
+ @touchmove.stop="parse.touchmove"
62
+ @touchend.stop="parse.touchend"
63
+ :data-minScale="minScale"
64
+ :data-maxScale="maxScale"
65
+ :data-disableRotate="disableRotate"
66
+ :style="{
67
+ width: imgWidth ? imgWidth + 'px' : 'auto',
68
+ height: imgHeight ? imgHeight + 'px' : 'auto',
69
+ transitionDuration: (cutAnimation ? 0.3 : 0) + 's'
70
+ }"
71
+ class="fui-cropper-image"
72
+ :src="imageUrl"
73
+ v-if="imageUrl"
74
+ mode="widthFix"
75
+ ></image>
76
+ </view>
77
+ <canvas
78
+ canvas-id="fui-image-cropper"
79
+ id="fui-image-cropper"
80
+ :disable-scroll="true"
81
+ :style="{ width: CROPPER_WIDTH * scaleRatio + 'px', height: CROPPER_HEIGHT * scaleRatio + 'px' }"
82
+ class="fui-cropper-canvas"
83
+ ></canvas>
84
+ <view class="fui-cropper-tabbar" v-if="!custom">
85
+ <view class="fui-op-btn" @tap.stop="back">取消</view>
86
+ <image :src="rotateImg" class="fui-rotate-img" @tap="setAngle"></image>
87
+ <view class="fui-op-btn" @tap.stop="getImage">完成</view>
88
+ </view>
89
+ </view>
90
+ </template>
91
+ <script src="./fui-picture-cropper.wxs" module="parse" lang="wxs"></script>
92
+ <script>
93
+ /**
94
+ * 注意:组件中使用的图片地址,将文件复制到自己项目中
95
+ * 如果图片位置与组件同级,编译成小程序时图片会丢失
96
+ * 拷贝static下整个components文件夹
97
+ *也可直接转成base64(不建议)
98
+ * */
99
+ export default {
100
+ name: 'fuiPictureCropper',
101
+ props: {
102
+ //图片路径
103
+ imageUrl: {
104
+ type: String,
105
+ default: ''
106
+ },
107
+ /*
108
+ 默认正方形,可修改大小控制比例
109
+ 裁剪框高度 px
110
+ */
111
+ height: {
112
+ type: Number,
113
+ default: 280
114
+ },
115
+ //裁剪框宽度 px
116
+ width: {
117
+ type: Number,
118
+ default: 280
119
+ },
120
+ //裁剪框最小宽度 px
121
+ minWidth: {
122
+ type: Number,
123
+ default: 100
124
+ },
125
+ //裁剪框最小高度 px
126
+ minHeight: {
127
+ type: Number,
128
+ default: 100
129
+ },
130
+ //裁剪框最大宽度 px
131
+ maxWidth: {
132
+ type: Number,
133
+ default: 360
134
+ },
135
+ //裁剪框最大高度 px
136
+ maxHeight: {
137
+ type: Number,
138
+ default: 360
139
+ },
140
+ //裁剪框border颜色
141
+ borderColor: {
142
+ type: String,
143
+ default: 'rgba(255,255,255,0.1)'
144
+ },
145
+ //裁剪框边缘线颜色
146
+ edgeColor: {
147
+ type: String,
148
+ default: '#FFFFFF'
149
+ },
150
+ //裁剪框边缘线宽度 w=h
151
+ edgeWidth: {
152
+ type: String,
153
+ default: '34rpx'
154
+ },
155
+ //裁剪框边缘线border宽度
156
+ edgeBorderWidth: {
157
+ type: String,
158
+ default: '6rpx'
159
+ },
160
+ //偏移距离,根据edgeBorderWidth进行调整
161
+ edgeOffsets: {
162
+ type: String,
163
+ default: '6rpx'
164
+ },
165
+ /**
166
+ * 如果宽度和高度都为true则裁剪框禁止拖动
167
+ * 裁剪框宽度锁定
168
+ */
169
+ lockWidth: {
170
+ type: Boolean,
171
+ default: false
172
+ },
173
+ //裁剪框高度锁定
174
+ lockHeight: {
175
+ type: Boolean,
176
+ default: false
177
+ },
178
+ //锁定裁剪框比例(放大或缩小)
179
+ lockRatio: {
180
+ type: Boolean,
181
+ default: false
182
+ },
183
+ //生成的图片尺寸相对剪裁框的比例
184
+ scaleRatio: {
185
+ type: Number,
186
+ default: 2
187
+ },
188
+ //图片的质量,取值范围为 (0, 1],不在范围内时当作1.0处理
189
+ quality: {
190
+ type: Number,
191
+ default: 0.8
192
+ },
193
+ //图片旋转角度
194
+ rotateAngle: {
195
+ type: Number,
196
+ default: 0
197
+ },
198
+ //图片最小缩放比
199
+ minScale: {
200
+ type: Number,
201
+ default: 0.5
202
+ },
203
+ //图片最大缩放比
204
+ maxScale: {
205
+ type: Number,
206
+ default: 2
207
+ },
208
+ //是否禁用触摸旋转(为false则可以触摸转动图片,limitMove为false生效)
209
+ disableRotate: {
210
+ type: Boolean,
211
+ default: true
212
+ },
213
+ //是否限制移动范围(剪裁框只能在图片内,为true不可触摸转动图片)
214
+ limitMove: {
215
+ type: Boolean,
216
+ default: true
217
+ },
218
+ //自定义操作栏(为true时隐藏底部操作栏)
219
+ custom: {
220
+ type: Boolean,
221
+ default: false
222
+ },
223
+ //值发生改变开始裁剪(custom为true时生效)
224
+ startCutting: {
225
+ type: [Number, Boolean],
226
+ default: 0
227
+ },
228
+ /**
229
+ * 是否返回base64(H5端默认base64)
230
+ * 支持平台:App,微信小程序,支付宝小程序,H5(默认url就是base64)
231
+ **/
232
+ isBase64: {
233
+ type: Boolean,
234
+ default: false
235
+ },
236
+ //裁剪时是否显示loadding
237
+ loadding: {
238
+ type: Boolean,
239
+ default: true
240
+ },
241
+ //旋转icon
242
+ rotateImg: {
243
+ type: String,
244
+ default: '/static/components/cropper/img_rotate.png'
245
+ }
246
+ },
247
+ data() {
248
+ return {
249
+ TIME_CUT_CENTER: null,
250
+ CROPPER_WIDTH: 200, //裁剪框宽
251
+ CROPPER_HEIGHT: 200, //裁剪框高
252
+ cutX: 0, //画布x轴起点
253
+ cutY: 0, //画布y轴起点0
254
+ canvasWidth: 0,
255
+ canvasHeight: 0,
256
+ imgWidth: 0, //图片宽度
257
+ imgHeight: 0, //图片高度
258
+ scale: 1, //图片缩放比
259
+ angle: 0, //图片旋转角度
260
+ cutAnimation: false, //是否开启图片和裁剪框过渡
261
+ cutAnimationTime: null,
262
+ imgTop: 0, //图片上边距
263
+ imgLeft: 0, //图片左边距
264
+ ctx: null,
265
+ sysInfo: {},
266
+ props: '',
267
+ sizeChange: 0, //2
268
+ angleChange: 0, //3
269
+ resetChange: 0, //4
270
+ centerChange: 0 //5
271
+ };
272
+ },
273
+ watch: {
274
+ //定义变量然后利用change触发
275
+ imageUrl(val, oldVal) {
276
+ this.imageReset();
277
+ this.showLoading();
278
+ uni.getImageInfo({
279
+ src: val,
280
+ success: (res) => {
281
+ //计算图片尺寸
282
+ this.imgComputeSize(res.width, res.height);
283
+ if (this.limitMove) {
284
+ this.angleChange++;
285
+ this.props = `3,${this.angleChange}`;
286
+ }
287
+ },
288
+ fail: (err) => {
289
+ this.imgComputeSize();
290
+ if (this.limitMove) {
291
+ this.angleChange++;
292
+ this.props = `3,${this.angleChange}`;
293
+ }
294
+ }
295
+ });
296
+ },
297
+ rotateAngle(val) {
298
+ this.cutAnimation = true;
299
+ this.angle = val;
300
+ this.angleChanged(val);
301
+ },
302
+ cutAnimation(val) {
303
+ //开启过渡260毫秒之后自动关闭
304
+ clearTimeout(this.cutAnimationTime);
305
+ if (val) {
306
+ this.cutAnimationTime = setTimeout(() => {
307
+ this.cutAnimation = false;
308
+ }, 260);
309
+ }
310
+ },
311
+ limitMove(val) {
312
+ if (val) {
313
+ this.angleChanged(this.angle);
314
+ }
315
+ },
316
+ startCutting(val) {
317
+ if (this.custom && val) {
318
+ this.getImage();
319
+ }
320
+ }
321
+ },
322
+ mounted() {
323
+ this.sysInfo = uni.getSystemInfoSync();
324
+ this.imgTop = this.sysInfo.windowHeight / 2;
325
+ this.imgLeft = this.sysInfo.windowWidth / 2;
326
+ this.CROPPER_WIDTH = this.width;
327
+ this.CROPPER_HEIGHT = this.height;
328
+ this.canvasHeight = this.height;
329
+ this.canvasWidth = this.width;
330
+ this.ctx = uni.createCanvasContext('fui-image-cropper', this);
331
+ //初始化
332
+ setTimeout(() => {
333
+ this.props = '1,1';
334
+ }, 0);
335
+ setTimeout(() => {
336
+ this.$emit('ready', {});
337
+ }, 200);
338
+ },
339
+ methods: {
340
+ //返回裁剪后图片信息
341
+ getImage() {
342
+ if (!this.imageUrl) {
343
+ uni.showToast({
344
+ title: '请选择图片',
345
+ icon: 'none'
346
+ });
347
+ return;
348
+ }
349
+ this.loadding && this.showLoading();
350
+ let draw = () => {
351
+ //图片实际大小
352
+ let imgWidth = this.imgWidth * this.scale * this.scaleRatio;
353
+ let imgHeight = this.imgHeight * this.scale * this.scaleRatio;
354
+ //canvas和图片的相对距离
355
+ let xpos = this.imgLeft - this.cutX;
356
+ let ypos = this.imgTop - this.cutY;
357
+ //旋转画布
358
+ this.ctx.translate(xpos * this.scaleRatio, ypos * this.scaleRatio);
359
+ this.ctx.rotate((this.angle * Math.PI) / 180);
360
+ this.ctx.drawImage(this.imageUrl, -imgWidth / 2, -imgHeight / 2, imgWidth, imgHeight);
361
+ this.ctx.draw(false, () => {
362
+ let params = {
363
+ width: this.canvasWidth * this.scaleRatio,
364
+ height: Math.round(this.canvasHeight * this.scaleRatio),
365
+ destWidth: this.canvasWidth * this.scaleRatio,
366
+ destHeight: Math.round(this.canvasHeight) * this.scaleRatio,
367
+ fileType: 'png',
368
+ quality: this.quality
369
+ };
370
+ let data = {
371
+ url: '',
372
+ base64: '',
373
+ width: this.canvasWidth * this.scaleRatio,
374
+ height: this.canvasHeight * this.scaleRatio
375
+ };
376
+ // #ifdef MP-ALIPAY
377
+
378
+ if (this.isBase64) {
379
+ this.ctx.toDataURL(params).then((dataURL) => {
380
+ data.base64 = dataURL;
381
+ this.loadding && uni.hideLoading();
382
+ this.$emit('cropper', data);
383
+ });
384
+ } else {
385
+ this.ctx.toTempFilePath({
386
+ ...params,
387
+ success: (res) => {
388
+ data.url = res.tempFilePath;
389
+ this.loadding && uni.hideLoading();
390
+ this.$emit('cropper', data);
391
+ }
392
+ });
393
+ }
394
+ // #endif
395
+
396
+ // #ifndef MP-ALIPAY
397
+ // #ifdef MP-BAIDU || MP-TOUTIAO || H5
398
+ this.isBase64 = false;
399
+ // #endif
400
+ if (this.isBase64) {
401
+ uni.canvasGetImageData({
402
+ canvasId: 'fui-image-cropper',
403
+ x: 0,
404
+ y: 0,
405
+ width: this.canvasWidth * this.scaleRatio,
406
+ height: Math.round(this.canvasHeight * this.scaleRatio),
407
+ success: (res) => {
408
+ const arrayBuffer = new Uint8Array(res.data);
409
+ const base64 = uni.arrayBufferToBase64(arrayBuffer);
410
+ data.base64 = base64;
411
+ this.loadding && uni.hideLoading();
412
+ this.$emit('cropper', data);
413
+ }
414
+ });
415
+ } else {
416
+ uni.canvasToTempFilePath(
417
+ {
418
+ ...params,
419
+ canvasId: 'fui-image-cropper',
420
+ success: (res) => {
421
+ data.url = res.tempFilePath;
422
+ // #ifdef H5
423
+ data.base64 = res.tempFilePath;
424
+ // #endif
425
+ this.loadding && uni.hideLoading();
426
+ this.$emit('cropper', data);
427
+ },
428
+ fail(res) {
429
+ console.log(res);
430
+ }
431
+ },
432
+ this
433
+ );
434
+ }
435
+ // #endif
436
+ });
437
+ };
438
+ if (this.CROPPER_WIDTH != this.canvasWidth || this.CROPPER_HEIGHT != this.canvasHeight) {
439
+ this.CROPPER_WIDTH = this.canvasWidth;
440
+ this.CROPPER_HEIGHT = this.canvasHeight;
441
+ this.$nextTick(() => {
442
+ this.ctx.draw();
443
+ setTimeout(() => {
444
+ draw();
445
+ }, 100);
446
+ });
447
+ } else {
448
+ draw();
449
+ }
450
+ },
451
+ change(e) {
452
+ this.cutX = e.cutX || 0;
453
+ this.cutY = e.cutY || 0;
454
+ this.canvasWidth = e.canvasWidth || 100;
455
+ this.canvasHeight = e.canvasHeight || 100;
456
+ this.imgWidth = e.imgWidth || 100;
457
+ this.imgHeight = e.imgHeight || 100;
458
+ this.scale = e.scale || 1;
459
+ this.angle = e.angle || 0;
460
+ this.imgTop = e.imgTop || 0;
461
+ this.imgLeft = e.imgLeft || 0;
462
+ },
463
+ imageReset() {
464
+ this.scale = 1;
465
+ this.angle = 0;
466
+ let sys = this.sysInfo.windowHeight || uni.getSystemInfoSync();
467
+ this.imgTop = sys.windowHeight / 2;
468
+ this.imgLeft = sys.windowWidth / 2;
469
+ this.resetChange++;
470
+ this.props = `4,${this.resetChange}`;
471
+ //初始化旋转角度 0deg
472
+ this.$emit('initAngle', {});
473
+ },
474
+ imageLoad(e) {
475
+ this.imageReset();
476
+ uni.hideLoading();
477
+ this.$emit('imageLoad', {});
478
+ },
479
+
480
+ imgComputeSize(width, height) {
481
+ //默认按图片最小边 = 对应裁剪框尺寸
482
+ let imgWidth = width,
483
+ imgHeight = height;
484
+ if (imgWidth && imgHeight) {
485
+ if (imgWidth / imgHeight > this.width / this.height) {
486
+ imgHeight = this.height;
487
+ imgWidth = (width / height) * imgHeight;
488
+ } else {
489
+ imgWidth = this.width;
490
+ imgHeight = (height / width) * imgWidth;
491
+ }
492
+ } else {
493
+ let sys = this.sysInfo || uni.getSystemInfoSync();
494
+ imgWidth = sys.windowWidth;
495
+ imgHeight = 0;
496
+ }
497
+ this.imgWidth = imgWidth;
498
+ this.imgHeight = imgHeight;
499
+ this.sizeChange++;
500
+ this.props = `2,${this.sizeChange}`;
501
+ },
502
+ moveStop() {
503
+ clearTimeout(this.TIME_CUT_CENTER);
504
+ this.TIME_CUT_CENTER = setTimeout(() => {
505
+ if (!this.cutAnimation) {
506
+ this.cutAnimation = true;
507
+ }
508
+ this.centerChange++;
509
+ this.props = `5,${this.centerChange}`;
510
+ }, 666);
511
+ },
512
+ moveDuring() {
513
+ clearTimeout(this.TIME_CUT_CENTER);
514
+ },
515
+ showLoading() {
516
+ uni.showLoading({
517
+ title: '请稍候...',
518
+ mask: true
519
+ });
520
+ },
521
+ stop() {},
522
+ back() {
523
+ uni.navigateBack();
524
+ },
525
+ angleChanged(val) {
526
+ this.moveStop();
527
+ if (this.limitMove && val % 90) {
528
+ this.angle = Math.round(val / 90) * 90;
529
+ }
530
+ this.angleChange++;
531
+ this.props = `3,${this.angleChange}`;
532
+ },
533
+ setAngle() {
534
+ this.cutAnimation = true;
535
+ this.angle = this.angle + 90;
536
+ this.angleChanged(this.angle);
537
+ }
538
+ }
539
+ };
540
+ </script>
541
+
542
+ <style scoped>
543
+ .fui-container {
544
+ width: 100vw;
545
+ height: 100vh;
546
+ background-color: rgba(0, 0, 0, 0.6);
547
+ position: fixed;
548
+ top: 0;
549
+ left: 0;
550
+ z-index: 1;
551
+ }
552
+
553
+ .fui-image-cropper {
554
+ width: 100vw;
555
+ height: 100vh;
556
+ position: absolute;
557
+ }
558
+
559
+ .fui-content {
560
+ width: 100vw;
561
+ height: 100vh;
562
+ position: absolute;
563
+ z-index: 9;
564
+ display: flex;
565
+ flex-direction: column;
566
+ pointer-events: none;
567
+ }
568
+
569
+ .fui-bg-transparent {
570
+ background-color: rgba(0, 0, 0, 0.6);
571
+ transition-duration: 0.3s;
572
+ }
573
+
574
+ .fui-content-top {
575
+ pointer-events: none;
576
+ }
577
+
578
+ .fui-content-middle {
579
+ width: 100%;
580
+ height: 200px;
581
+ display: flex;
582
+ box-sizing: border-box;
583
+ }
584
+
585
+ .fui-cropper-box {
586
+ position: relative;
587
+ /* transition-duration: 0.2s; */
588
+ border-style: solid;
589
+ border-width: 1rpx;
590
+ box-sizing: border-box;
591
+ }
592
+
593
+ .fui-flex-auto {
594
+ flex: auto;
595
+ }
596
+
597
+ .fui-cropper-image {
598
+ width: 100%;
599
+ border-style: none;
600
+ position: absolute;
601
+ top: 0;
602
+ left: 0;
603
+ z-index: 2;
604
+ -webkit-backface-visibility: hidden;
605
+ backface-visibility: hidden;
606
+ transform-origin: center;
607
+ }
608
+
609
+ .fui-cropper-canvas {
610
+ position: fixed;
611
+ z-index: 10;
612
+ left: -2000px;
613
+ top: -2000px;
614
+ pointer-events: none;
615
+ }
616
+
617
+ .fui-edge {
618
+ border-style: solid;
619
+ pointer-events: auto;
620
+ position: absolute;
621
+ box-sizing: border-box;
622
+ }
623
+
624
+ .fui-top-left {
625
+ border-bottom-width: 0 !important;
626
+ border-right-width: 0 !important;
627
+ }
628
+
629
+ .fui-top-right {
630
+ border-bottom-width: 0 !important;
631
+ border-left-width: 0 !important;
632
+ }
633
+
634
+ .fui-bottom-left {
635
+ border-top-width: 0 !important;
636
+ border-right-width: 0 !important;
637
+ }
638
+
639
+ .fui-bottom-right {
640
+ border-top-width: 0 !important;
641
+ border-left-width: 0 !important;
642
+ }
643
+
644
+ .fui-cropper-tabbar {
645
+ width: 100%;
646
+ height: 120rpx;
647
+ padding: 0 40rpx;
648
+ box-sizing: border-box;
649
+ position: fixed;
650
+ left: 0;
651
+ bottom: 0;
652
+ z-index: 99;
653
+ display: flex;
654
+ align-items: center;
655
+ justify-content: space-between;
656
+ color: #ffffff;
657
+ font-size: 32rpx;
658
+ }
659
+
660
+ .fui-cropper-tabbar::after {
661
+ content: ' ';
662
+ position: absolute;
663
+ top: 0;
664
+ right: 0;
665
+ left: 0;
666
+ border-top: 1rpx solid rgba(255, 255, 255, 0.2);
667
+ -webkit-transform: scaleY(0.5) translateZ(0);
668
+ transform: scaleY(0.5) translateZ(0);
669
+ transform-origin: 0 100%;
670
+ }
671
+
672
+ .fui-op-btn {
673
+ height: 80rpx;
674
+ display: flex;
675
+ align-items: center;
676
+ }
677
+
678
+ .fui-rotate-img {
679
+ width: 44rpx;
680
+ height: 44rpx;
681
+ }
682
+ </style>