uview-ui-wjf 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -0
  3. package/changelog.md +388 -0
  4. package/components/u--form/u--form.vue +92 -0
  5. package/components/u--image/u--image.vue +73 -0
  6. package/components/u--input/u--input.vue +115 -0
  7. package/components/u--text/u--text.vue +72 -0
  8. package/components/u--textarea/u--textarea.vue +85 -0
  9. package/components/u-action-sheet/props.js +54 -0
  10. package/components/u-action-sheet/u-action-sheet.vue +278 -0
  11. package/components/u-album/props.js +59 -0
  12. package/components/u-album/u-album.vue +259 -0
  13. package/components/u-alert/props.js +44 -0
  14. package/components/u-alert/u-alert.vue +243 -0
  15. package/components/u-avatar/props.js +78 -0
  16. package/components/u-avatar/u-avatar.vue +173 -0
  17. package/components/u-avatar-group/props.js +52 -0
  18. package/components/u-avatar-group/u-avatar-group.vue +103 -0
  19. package/components/u-back-top/props.js +54 -0
  20. package/components/u-back-top/u-back-top.vue +129 -0
  21. package/components/u-badge/props.js +72 -0
  22. package/components/u-badge/u-badge.vue +171 -0
  23. package/components/u-button/nvue.scss +46 -0
  24. package/components/u-button/props.js +161 -0
  25. package/components/u-button/u-button.vue +495 -0
  26. package/components/u-button/vue.scss +80 -0
  27. package/components/u-calendar/header.vue +99 -0
  28. package/components/u-calendar/month.vue +579 -0
  29. package/components/u-calendar/props.js +144 -0
  30. package/components/u-calendar/u-calendar.vue +384 -0
  31. package/components/u-calendar/util.js +85 -0
  32. package/components/u-car-keyboard/props.js +14 -0
  33. package/components/u-car-keyboard/u-car-keyboard.vue +311 -0
  34. package/components/u-cell/props.js +110 -0
  35. package/components/u-cell/u-cell.vue +229 -0
  36. package/components/u-cell-group/props.js +14 -0
  37. package/components/u-cell-group/u-cell-group.vue +61 -0
  38. package/components/u-checkbox/props.js +69 -0
  39. package/components/u-checkbox/u-checkbox.vue +344 -0
  40. package/components/u-checkbox-group/props.js +82 -0
  41. package/components/u-checkbox-group/u-checkbox-group.vue +103 -0
  42. package/components/u-circle-progress/props.js +8 -0
  43. package/components/u-circle-progress/u-circle-progress.vue +198 -0
  44. package/components/u-code/props.js +34 -0
  45. package/components/u-code/u-code.vue +129 -0
  46. package/components/u-code-input/props.js +79 -0
  47. package/components/u-code-input/u-code-input.vue +252 -0
  48. package/components/u-col/props.js +29 -0
  49. package/components/u-col/u-col.vue +162 -0
  50. package/components/u-collapse/props.js +19 -0
  51. package/components/u-collapse/u-collapse.vue +90 -0
  52. package/components/u-collapse-item/props.js +59 -0
  53. package/components/u-collapse-item/u-collapse-item.vue +225 -0
  54. package/components/u-column-notice/props.js +55 -0
  55. package/components/u-column-notice/u-column-notice.vue +160 -0
  56. package/components/u-count-down/props.js +24 -0
  57. package/components/u-count-down/u-count-down.vue +163 -0
  58. package/components/u-count-down/utils.js +62 -0
  59. package/components/u-count-to/props.js +59 -0
  60. package/components/u-count-to/u-count-to.vue +184 -0
  61. package/components/u-datetime-picker/props.js +120 -0
  62. package/components/u-datetime-picker/u-datetime-picker.vue +361 -0
  63. package/components/u-divider/props.js +44 -0
  64. package/components/u-divider/u-divider.vue +116 -0
  65. package/components/u-dropdown/props.js +65 -0
  66. package/components/u-dropdown/u-dropdown.vue +127 -0
  67. package/components/u-dropdown-item/props.js +36 -0
  68. package/components/u-dropdown-item/u-dropdown-item.vue +127 -0
  69. package/components/u-empty/props.js +59 -0
  70. package/components/u-empty/u-empty.vue +128 -0
  71. package/components/u-form/props.js +45 -0
  72. package/components/u-form/u-form.vue +214 -0
  73. package/components/u-form-item/props.js +48 -0
  74. package/components/u-form-item/u-form-item.vue +235 -0
  75. package/components/u-gap/props.js +24 -0
  76. package/components/u-gap/u-gap.vue +38 -0
  77. package/components/u-grid/props.js +19 -0
  78. package/components/u-grid/u-grid.vue +97 -0
  79. package/components/u-grid-item/props.js +14 -0
  80. package/components/u-grid-item/u-grid-item.vue +209 -0
  81. package/components/u-icon/icons.js +214 -0
  82. package/components/u-icon/props.js +89 -0
  83. package/components/u-icon/u-icon.vue +237 -0
  84. package/components/u-image/props.js +84 -0
  85. package/components/u-image/u-image.vue +232 -0
  86. package/components/u-index-anchor/props.js +29 -0
  87. package/components/u-index-anchor/u-index-anchor.vue +91 -0
  88. package/components/u-index-item/props.js +5 -0
  89. package/components/u-index-item/u-index-item.vue +87 -0
  90. package/components/u-index-list/props.js +29 -0
  91. package/components/u-index-list/u-index-list.vue +440 -0
  92. package/components/u-input/props.js +187 -0
  93. package/components/u-input/u-input.vue +369 -0
  94. package/components/u-keyboard/props.js +84 -0
  95. package/components/u-keyboard/u-keyboard.vue +164 -0
  96. package/components/u-line/props.js +33 -0
  97. package/components/u-line/u-line.vue +62 -0
  98. package/components/u-line-progress/props.js +28 -0
  99. package/components/u-line-progress/u-line-progress.vue +144 -0
  100. package/components/u-link/props.js +39 -0
  101. package/components/u-link/u-link.vue +83 -0
  102. package/components/u-list/props.js +76 -0
  103. package/components/u-list/u-list.vue +157 -0
  104. package/components/u-list-item/props.js +9 -0
  105. package/components/u-list-item/u-list-item.vue +116 -0
  106. package/components/u-loading-icon/props.js +59 -0
  107. package/components/u-loading-icon/u-loading-icon.vue +343 -0
  108. package/components/u-loading-page/props.js +49 -0
  109. package/components/u-loading-page/u-loading-page.vue +115 -0
  110. package/components/u-loadmore/props.js +94 -0
  111. package/components/u-loadmore/u-loadmore.vue +150 -0
  112. package/components/u-modal/props.js +89 -0
  113. package/components/u-modal/u-modal.vue +228 -0
  114. package/components/u-navbar/props.js +84 -0
  115. package/components/u-navbar/u-navbar.vue +186 -0
  116. package/components/u-no-network/props.js +19 -0
  117. package/components/u-no-network/u-no-network.vue +220 -0
  118. package/components/u-notice-bar/props.js +70 -0
  119. package/components/u-notice-bar/u-notice-bar.vue +101 -0
  120. package/components/u-notify/props.js +49 -0
  121. package/components/u-notify/u-notify.vue +211 -0
  122. package/components/u-number-box/props.js +109 -0
  123. package/components/u-number-box/u-number-box.vue +416 -0
  124. package/components/u-number-keyboard/props.js +19 -0
  125. package/components/u-number-keyboard/u-number-keyboard.vue +196 -0
  126. package/components/u-overlay/props.js +24 -0
  127. package/components/u-overlay/u-overlay.vue +68 -0
  128. package/components/u-parse/node/node.vue +499 -0
  129. package/components/u-parse/parser.js +1075 -0
  130. package/components/u-parse/props.js +45 -0
  131. package/components/u-parse/u-parse.vue +366 -0
  132. package/components/u-picker/props.js +79 -0
  133. package/components/u-picker/u-picker.vue +286 -0
  134. package/components/u-picker-column/props.js +5 -0
  135. package/components/u-picker-column/u-picker-column.vue +27 -0
  136. package/components/u-popup/props.js +79 -0
  137. package/components/u-popup/u-popup.vue +304 -0
  138. package/components/u-radio/props.js +64 -0
  139. package/components/u-radio/u-radio.vue +339 -0
  140. package/components/u-radio-group/props.js +85 -0
  141. package/components/u-radio-group/u-radio-group.vue +108 -0
  142. package/components/u-rate/props.js +69 -0
  143. package/components/u-rate/u-rate.vue +306 -0
  144. package/components/u-read-more/props.js +61 -0
  145. package/components/u-read-more/u-read-more.vue +157 -0
  146. package/components/u-row/props.js +19 -0
  147. package/components/u-row/u-row.vue +93 -0
  148. package/components/u-row-notice/props.js +39 -0
  149. package/components/u-row-notice/u-row-notice.vue +330 -0
  150. package/components/u-safe-bottom/props.js +5 -0
  151. package/components/u-safe-bottom/u-safe-bottom.vue +56 -0
  152. package/components/u-scroll-list/nvue.js +28 -0
  153. package/components/u-scroll-list/other.js +0 -0
  154. package/components/u-scroll-list/props.js +34 -0
  155. package/components/u-scroll-list/scrollWxs.wxs +50 -0
  156. package/components/u-scroll-list/u-scroll-list.vue +224 -0
  157. package/components/u-search/props.js +118 -0
  158. package/components/u-search/u-search.vue +303 -0
  159. package/components/u-skeleton/props.js +59 -0
  160. package/components/u-skeleton/u-skeleton.vue +244 -0
  161. package/components/u-slider/mpother.js +113 -0
  162. package/components/u-slider/mpwxs.js +42 -0
  163. package/components/u-slider/mpwxs.wxs +121 -0
  164. package/components/u-slider/nvue - /345/211/257/346/234/254.js" +180 -0
  165. package/components/u-slider/nvue.js +193 -0
  166. package/components/u-slider/props.js +54 -0
  167. package/components/u-slider/u-slider.vue +55 -0
  168. package/components/u-status-bar/props.js +8 -0
  169. package/components/u-status-bar/u-status-bar.vue +46 -0
  170. package/components/u-steps/props.js +39 -0
  171. package/components/u-steps/u-steps.vue +80 -0
  172. package/components/u-steps-item/props.js +24 -0
  173. package/components/u-steps-item/u-steps-item.vue +316 -0
  174. package/components/u-sticky/props.js +40 -0
  175. package/components/u-sticky/u-sticky.vue +212 -0
  176. package/components/u-subsection/props.js +49 -0
  177. package/components/u-subsection/u-subsection.vue +299 -0
  178. package/components/u-swipe-action/props.js +9 -0
  179. package/components/u-swipe-action/u-swipe-action.vue +67 -0
  180. package/components/u-swipe-action-item/index - backup.wxs +256 -0
  181. package/components/u-swipe-action-item/index.wxs +225 -0
  182. package/components/u-swipe-action-item/nvue - backup.js +270 -0
  183. package/components/u-swipe-action-item/nvue.js +174 -0
  184. package/components/u-swipe-action-item/props.js +41 -0
  185. package/components/u-swipe-action-item/u-swipe-action-item.vue +190 -0
  186. package/components/u-swipe-action-item/wxs.js +15 -0
  187. package/components/u-swiper/props.js +125 -0
  188. package/components/u-swiper/u-swiper.vue +255 -0
  189. package/components/u-swiper-indicator/props.js +29 -0
  190. package/components/u-swiper-indicator/u-swiper-indicator.vue +110 -0
  191. package/components/u-switch/props.js +54 -0
  192. package/components/u-switch/u-switch.vue +177 -0
  193. package/components/u-tabbar/props.js +44 -0
  194. package/components/u-tabbar/u-tabbar.vue +141 -0
  195. package/components/u-tabbar-item/props.js +35 -0
  196. package/components/u-tabbar-item/u-tabbar-item.vue +142 -0
  197. package/components/u-table/props.js +5 -0
  198. package/components/u-table/u-table.vue +29 -0
  199. package/components/u-tabs/props.js +64 -0
  200. package/components/u-tabs/u-tabs.vue +363 -0
  201. package/components/u-tabs-item/props.js +5 -0
  202. package/components/u-tabs-item/u-tabs-item.vue +29 -0
  203. package/components/u-tag/props.js +84 -0
  204. package/components/u-tag/u-tag.vue +358 -0
  205. package/components/u-td/props.js +5 -0
  206. package/components/u-td/u-td.vue +31 -0
  207. package/components/u-text/props.js +110 -0
  208. package/components/u-text/u-text.vue +223 -0
  209. package/components/u-text/value.js +85 -0
  210. package/components/u-textarea/props.js +119 -0
  211. package/components/u-textarea/u-textarea.vue +239 -0
  212. package/components/u-toast/u-toast.vue +291 -0
  213. package/components/u-toolbar/props.js +34 -0
  214. package/components/u-toolbar/u-toolbar.vue +102 -0
  215. package/components/u-tooltip/clipboard.min.js +58 -0
  216. package/components/u-tooltip/props.js +59 -0
  217. package/components/u-tooltip/u-tooltip.vue +366 -0
  218. package/components/u-tr/props.js +5 -0
  219. package/components/u-tr/u-tr.vue +31 -0
  220. package/components/u-transition/nvue.ani-map.js +68 -0
  221. package/components/u-transition/props.js +24 -0
  222. package/components/u-transition/transition.js +157 -0
  223. package/components/u-transition/u-transition.vue +92 -0
  224. package/components/u-transition/vue.ani-style.scss +113 -0
  225. package/components/u-upload/mixin.js +21 -0
  226. package/components/u-upload/props.js +124 -0
  227. package/components/u-upload/u-upload.vue +566 -0
  228. package/components/u-upload/utils.js +151 -0
  229. package/components/uview-ui/uview-ui.vue +15 -0
  230. package/index.js +79 -0
  231. package/index.scss +23 -0
  232. package/libs/config/color.js +17 -0
  233. package/libs/config/config.js +34 -0
  234. package/libs/config/props/actionSheet.js +25 -0
  235. package/libs/config/props/album.js +25 -0
  236. package/libs/config/props/alert.js +22 -0
  237. package/libs/config/props/avatar.js +28 -0
  238. package/libs/config/props/avatarGroup.js +23 -0
  239. package/libs/config/props/backtop.js +27 -0
  240. package/libs/config/props/badge.js +27 -0
  241. package/libs/config/props/button.js +42 -0
  242. package/libs/config/props/calendar.js +42 -0
  243. package/libs/config/props/carKeyboard.js +15 -0
  244. package/libs/config/props/cell.js +35 -0
  245. package/libs/config/props/cellGroup.js +17 -0
  246. package/libs/config/props/checkbox.js +27 -0
  247. package/libs/config/props/checkboxGroup.js +29 -0
  248. package/libs/config/props/circleProgress.js +15 -0
  249. package/libs/config/props/code.js +21 -0
  250. package/libs/config/props/codeInput.js +29 -0
  251. package/libs/config/props/col.js +19 -0
  252. package/libs/config/props/collapse.js +17 -0
  253. package/libs/config/props/collapseItem.js +25 -0
  254. package/libs/config/props/columnNotice.js +24 -0
  255. package/libs/config/props/countDown.js +18 -0
  256. package/libs/config/props/countTo.js +25 -0
  257. package/libs/config/props/datetimePicker.js +37 -0
  258. package/libs/config/props/divider.js +23 -0
  259. package/libs/config/props/empty.js +26 -0
  260. package/libs/config/props/form.js +22 -0
  261. package/libs/config/props/formItem.js +23 -0
  262. package/libs/config/props/gap.js +19 -0
  263. package/libs/config/props/grid.js +17 -0
  264. package/libs/config/props/gridItem.js +16 -0
  265. package/libs/config/props/icon.js +36 -0
  266. package/libs/config/props/image.js +30 -0
  267. package/libs/config/props/indexAnchor.js +19 -0
  268. package/libs/config/props/indexList.js +19 -0
  269. package/libs/config/props/input.js +48 -0
  270. package/libs/config/props/keyboard.js +30 -0
  271. package/libs/config/props/line.js +20 -0
  272. package/libs/config/props/lineProgress.js +19 -0
  273. package/libs/config/props/link.js +26 -0
  274. package/libs/config/props/list.js +28 -0
  275. package/libs/config/props/listItem.js +15 -0
  276. package/libs/config/props/loadingIcon.js +30 -0
  277. package/libs/config/props/loadingPage.js +23 -0
  278. package/libs/config/props/loadmore.js +32 -0
  279. package/libs/config/props/modal.js +31 -0
  280. package/libs/config/props/navbar.js +32 -0
  281. package/libs/config/props/noNetwork.js +18 -0
  282. package/libs/config/props/noticeBar.js +27 -0
  283. package/libs/config/props/notify.js +22 -0
  284. package/libs/config/props/numberBox.js +35 -0
  285. package/libs/config/props/numberKeyboard.js +17 -0
  286. package/libs/config/props/overlay.js +18 -0
  287. package/libs/config/props/parse.js +22 -0
  288. package/libs/config/props/picker.js +29 -0
  289. package/libs/config/props/popup.js +29 -0
  290. package/libs/config/props/radio.js +27 -0
  291. package/libs/config/props/radioGroup.js +30 -0
  292. package/libs/config/props/rate.js +26 -0
  293. package/libs/config/props/readMore.js +22 -0
  294. package/libs/config/props/row.js +17 -0
  295. package/libs/config/props/rowNotice.js +21 -0
  296. package/libs/config/props/scrollList.js +20 -0
  297. package/libs/config/props/search.js +37 -0
  298. package/libs/config/props/section.js +24 -0
  299. package/libs/config/props/skeleton.js +25 -0
  300. package/libs/config/props/slider.js +25 -0
  301. package/libs/config/props/statusBar.js +15 -0
  302. package/libs/config/props/steps.js +21 -0
  303. package/libs/config/props/stepsItem.js +18 -0
  304. package/libs/config/props/sticky.js +20 -0
  305. package/libs/config/props/subsection.js +23 -0
  306. package/libs/config/props/swipeAction.js +15 -0
  307. package/libs/config/props/swipeActionItem.js +21 -0
  308. package/libs/config/props/swiper.js +39 -0
  309. package/libs/config/props/swipterIndicator.js +19 -0
  310. package/libs/config/props/switch.js +24 -0
  311. package/libs/config/props/tabbar.js +22 -0
  312. package/libs/config/props/tabbarItem.js +20 -0
  313. package/libs/config/props/tabs.js +32 -0
  314. package/libs/config/props/tag.js +29 -0
  315. package/libs/config/props/text.js +38 -0
  316. package/libs/config/props/textarea.js +36 -0
  317. package/libs/config/props/toast.js +30 -0
  318. package/libs/config/props/toolbar.js +21 -0
  319. package/libs/config/props/tooltip.js +25 -0
  320. package/libs/config/props/transition.js +18 -0
  321. package/libs/config/props/upload.js +36 -0
  322. package/libs/config/props.js +190 -0
  323. package/libs/config/zIndex.js +20 -0
  324. package/libs/css/color.scss +155 -0
  325. package/libs/css/common.scss +97 -0
  326. package/libs/css/components.scss +15 -0
  327. package/libs/css/flex.scss +257 -0
  328. package/libs/css/h5.scss +0 -0
  329. package/libs/css/mixin.scss +8 -0
  330. package/libs/css/mp.scss +0 -0
  331. package/libs/css/nvue.scss +0 -0
  332. package/libs/css/vue.scss +27 -0
  333. package/libs/function/colorGradient.js +134 -0
  334. package/libs/function/debounce.js +29 -0
  335. package/libs/function/digit.js +167 -0
  336. package/libs/function/index.js +731 -0
  337. package/libs/function/platform.js +75 -0
  338. package/libs/function/test.js +288 -0
  339. package/libs/function/throttle.js +30 -0
  340. package/libs/luch-request/adapters/index.js +97 -0
  341. package/libs/luch-request/core/InterceptorManager.js +50 -0
  342. package/libs/luch-request/core/Request.js +198 -0
  343. package/libs/luch-request/core/buildFullPath.js +20 -0
  344. package/libs/luch-request/core/defaults.js +29 -0
  345. package/libs/luch-request/core/dispatchRequest.js +3 -0
  346. package/libs/luch-request/core/mergeConfig.js +103 -0
  347. package/libs/luch-request/core/settle.js +16 -0
  348. package/libs/luch-request/helpers/buildURL.js +69 -0
  349. package/libs/luch-request/helpers/combineURLs.js +14 -0
  350. package/libs/luch-request/helpers/isAbsoluteURL.js +14 -0
  351. package/libs/luch-request/index.d.ts +116 -0
  352. package/libs/luch-request/index.js +3 -0
  353. package/libs/luch-request/utils/clone.js +264 -0
  354. package/libs/luch-request/utils.js +131 -0
  355. package/libs/mixin/button.js +13 -0
  356. package/libs/mixin/mixin.js +160 -0
  357. package/libs/mixin/mpMixin.js +8 -0
  358. package/libs/mixin/mpShare.js +13 -0
  359. package/libs/mixin/openType.js +25 -0
  360. package/libs/mixin/style.js +228 -0
  361. package/libs/mixin/touch.js +59 -0
  362. package/libs/util/async-validator.js +1343 -0
  363. package/libs/util/calendar.js +546 -0
  364. package/libs/util/dayjs.js +308 -0
  365. package/libs/util/emitter.js +51 -0
  366. package/libs/util/route.js +124 -0
  367. package/package.json +83 -0
  368. package/theme.scss +44 -0
@@ -0,0 +1,264 @@
1
+ /* eslint-disable */
2
+ var clone = (function() {
3
+ 'use strict';
4
+
5
+ function _instanceof(obj, type) {
6
+ return type != null && obj instanceof type;
7
+ }
8
+
9
+ var nativeMap;
10
+ try {
11
+ nativeMap = Map;
12
+ } catch(_) {
13
+ // maybe a reference error because no `Map`. Give it a dummy value that no
14
+ // value will ever be an instanceof.
15
+ nativeMap = function() {};
16
+ }
17
+
18
+ var nativeSet;
19
+ try {
20
+ nativeSet = Set;
21
+ } catch(_) {
22
+ nativeSet = function() {};
23
+ }
24
+
25
+ var nativePromise;
26
+ try {
27
+ nativePromise = Promise;
28
+ } catch(_) {
29
+ nativePromise = function() {};
30
+ }
31
+
32
+ /**
33
+ * Clones (copies) an Object using deep copying.
34
+ *
35
+ * This function supports circular references by default, but if you are certain
36
+ * there are no circular references in your object, you can save some CPU time
37
+ * by calling clone(obj, false).
38
+ *
39
+ * Caution: if `circular` is false and `parent` contains circular references,
40
+ * your program may enter an infinite loop and crash.
41
+ *
42
+ * @param `parent` - the object to be cloned
43
+ * @param `circular` - set to true if the object to be cloned may contain
44
+ * circular references. (optional - true by default)
45
+ * @param `depth` - set to a number if the object is only to be cloned to
46
+ * a particular depth. (optional - defaults to Infinity)
47
+ * @param `prototype` - sets the prototype to be used when cloning an object.
48
+ * (optional - defaults to parent prototype).
49
+ * @param `includeNonEnumerable` - set to true if the non-enumerable properties
50
+ * should be cloned as well. Non-enumerable properties on the prototype
51
+ * chain will be ignored. (optional - false by default)
52
+ */
53
+ function clone(parent, circular, depth, prototype, includeNonEnumerable) {
54
+ if (typeof circular === 'object') {
55
+ depth = circular.depth;
56
+ prototype = circular.prototype;
57
+ includeNonEnumerable = circular.includeNonEnumerable;
58
+ circular = circular.circular;
59
+ }
60
+ // maintain two arrays for circular references, where corresponding parents
61
+ // and children have the same index
62
+ var allParents = [];
63
+ var allChildren = [];
64
+
65
+ var useBuffer = typeof Buffer != 'undefined';
66
+
67
+ if (typeof circular == 'undefined')
68
+ circular = true;
69
+
70
+ if (typeof depth == 'undefined')
71
+ depth = Infinity;
72
+
73
+ // recurse this function so we don't reset allParents and allChildren
74
+ function _clone(parent, depth) {
75
+ // cloning null always returns null
76
+ if (parent === null)
77
+ return null;
78
+
79
+ if (depth === 0)
80
+ return parent;
81
+
82
+ var child;
83
+ var proto;
84
+ if (typeof parent != 'object') {
85
+ return parent;
86
+ }
87
+
88
+ if (_instanceof(parent, nativeMap)) {
89
+ child = new nativeMap();
90
+ } else if (_instanceof(parent, nativeSet)) {
91
+ child = new nativeSet();
92
+ } else if (_instanceof(parent, nativePromise)) {
93
+ child = new nativePromise(function (resolve, reject) {
94
+ parent.then(function(value) {
95
+ resolve(_clone(value, depth - 1));
96
+ }, function(err) {
97
+ reject(_clone(err, depth - 1));
98
+ });
99
+ });
100
+ } else if (clone.__isArray(parent)) {
101
+ child = [];
102
+ } else if (clone.__isRegExp(parent)) {
103
+ child = new RegExp(parent.source, __getRegExpFlags(parent));
104
+ if (parent.lastIndex) child.lastIndex = parent.lastIndex;
105
+ } else if (clone.__isDate(parent)) {
106
+ child = new Date(parent.getTime());
107
+ } else if (useBuffer && Buffer.isBuffer(parent)) {
108
+ if (Buffer.from) {
109
+ // Node.js >= 5.10.0
110
+ child = Buffer.from(parent);
111
+ } else {
112
+ // Older Node.js versions
113
+ child = new Buffer(parent.length);
114
+ parent.copy(child);
115
+ }
116
+ return child;
117
+ } else if (_instanceof(parent, Error)) {
118
+ child = Object.create(parent);
119
+ } else {
120
+ if (typeof prototype == 'undefined') {
121
+ proto = Object.getPrototypeOf(parent);
122
+ child = Object.create(proto);
123
+ }
124
+ else {
125
+ child = Object.create(prototype);
126
+ proto = prototype;
127
+ }
128
+ }
129
+
130
+ if (circular) {
131
+ var index = allParents.indexOf(parent);
132
+
133
+ if (index != -1) {
134
+ return allChildren[index];
135
+ }
136
+ allParents.push(parent);
137
+ allChildren.push(child);
138
+ }
139
+
140
+ if (_instanceof(parent, nativeMap)) {
141
+ parent.forEach(function(value, key) {
142
+ var keyChild = _clone(key, depth - 1);
143
+ var valueChild = _clone(value, depth - 1);
144
+ child.set(keyChild, valueChild);
145
+ });
146
+ }
147
+ if (_instanceof(parent, nativeSet)) {
148
+ parent.forEach(function(value) {
149
+ var entryChild = _clone(value, depth - 1);
150
+ child.add(entryChild);
151
+ });
152
+ }
153
+
154
+ for (var i in parent) {
155
+ var attrs = Object.getOwnPropertyDescriptor(parent, i);
156
+ if (attrs) {
157
+ child[i] = _clone(parent[i], depth - 1);
158
+ }
159
+
160
+ try {
161
+ var objProperty = Object.getOwnPropertyDescriptor(parent, i);
162
+ if (objProperty.set === 'undefined') {
163
+ // no setter defined. Skip cloning this property
164
+ continue;
165
+ }
166
+ child[i] = _clone(parent[i], depth - 1);
167
+ } catch(e){
168
+ if (e instanceof TypeError) {
169
+ // when in strict mode, TypeError will be thrown if child[i] property only has a getter
170
+ // we can't do anything about this, other than inform the user that this property cannot be set.
171
+ continue
172
+ } else if (e instanceof ReferenceError) {
173
+ //this may happen in non strict mode
174
+ continue
175
+ }
176
+ }
177
+
178
+ }
179
+
180
+ if (Object.getOwnPropertySymbols) {
181
+ var symbols = Object.getOwnPropertySymbols(parent);
182
+ for (var i = 0; i < symbols.length; i++) {
183
+ // Don't need to worry about cloning a symbol because it is a primitive,
184
+ // like a number or string.
185
+ var symbol = symbols[i];
186
+ var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);
187
+ if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {
188
+ continue;
189
+ }
190
+ child[symbol] = _clone(parent[symbol], depth - 1);
191
+ Object.defineProperty(child, symbol, descriptor);
192
+ }
193
+ }
194
+
195
+ if (includeNonEnumerable) {
196
+ var allPropertyNames = Object.getOwnPropertyNames(parent);
197
+ for (var i = 0; i < allPropertyNames.length; i++) {
198
+ var propertyName = allPropertyNames[i];
199
+ var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);
200
+ if (descriptor && descriptor.enumerable) {
201
+ continue;
202
+ }
203
+ child[propertyName] = _clone(parent[propertyName], depth - 1);
204
+ Object.defineProperty(child, propertyName, descriptor);
205
+ }
206
+ }
207
+
208
+ return child;
209
+ }
210
+
211
+ return _clone(parent, depth);
212
+ }
213
+
214
+ /**
215
+ * Simple flat clone using prototype, accepts only objects, usefull for property
216
+ * override on FLAT configuration object (no nested props).
217
+ *
218
+ * USE WITH CAUTION! This may not behave as you wish if you do not know how this
219
+ * works.
220
+ */
221
+ clone.clonePrototype = function clonePrototype(parent) {
222
+ if (parent === null)
223
+ return null;
224
+
225
+ var c = function () {};
226
+ c.prototype = parent;
227
+ return new c();
228
+ };
229
+
230
+ // private utility functions
231
+
232
+ function __objToStr(o) {
233
+ return Object.prototype.toString.call(o);
234
+ }
235
+ clone.__objToStr = __objToStr;
236
+
237
+ function __isDate(o) {
238
+ return typeof o === 'object' && __objToStr(o) === '[object Date]';
239
+ }
240
+ clone.__isDate = __isDate;
241
+
242
+ function __isArray(o) {
243
+ return typeof o === 'object' && __objToStr(o) === '[object Array]';
244
+ }
245
+ clone.__isArray = __isArray;
246
+
247
+ function __isRegExp(o) {
248
+ return typeof o === 'object' && __objToStr(o) === '[object RegExp]';
249
+ }
250
+ clone.__isRegExp = __isRegExp;
251
+
252
+ function __getRegExpFlags(re) {
253
+ var flags = '';
254
+ if (re.global) flags += 'g';
255
+ if (re.ignoreCase) flags += 'i';
256
+ if (re.multiline) flags += 'm';
257
+ return flags;
258
+ }
259
+ clone.__getRegExpFlags = __getRegExpFlags;
260
+
261
+ return clone;
262
+ })();
263
+
264
+ export default clone
@@ -0,0 +1,131 @@
1
+ 'use strict'
2
+
3
+ // utils is a library of generic helper functions non-specific to axios
4
+
5
+ const { toString } = Object.prototype
6
+
7
+ /**
8
+ * Determine if a value is an Array
9
+ *
10
+ * @param {Object} val The value to test
11
+ * @returns {boolean} True if value is an Array, otherwise false
12
+ */
13
+ export function isArray(val) {
14
+ return toString.call(val) === '[object Array]'
15
+ }
16
+
17
+ /**
18
+ * Determine if a value is an Object
19
+ *
20
+ * @param {Object} val The value to test
21
+ * @returns {boolean} True if value is an Object, otherwise false
22
+ */
23
+ export function isObject(val) {
24
+ return val !== null && typeof val === 'object'
25
+ }
26
+
27
+ /**
28
+ * Determine if a value is a Date
29
+ *
30
+ * @param {Object} val The value to test
31
+ * @returns {boolean} True if value is a Date, otherwise false
32
+ */
33
+ export function isDate(val) {
34
+ return toString.call(val) === '[object Date]'
35
+ }
36
+
37
+ /**
38
+ * Determine if a value is a URLSearchParams object
39
+ *
40
+ * @param {Object} val The value to test
41
+ * @returns {boolean} True if value is a URLSearchParams object, otherwise false
42
+ */
43
+ export function isURLSearchParams(val) {
44
+ return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams
45
+ }
46
+
47
+ /**
48
+ * Iterate over an Array or an Object invoking a function for each item.
49
+ *
50
+ * If `obj` is an Array callback will be called passing
51
+ * the value, index, and complete array for each item.
52
+ *
53
+ * If 'obj' is an Object callback will be called passing
54
+ * the value, key, and complete object for each property.
55
+ *
56
+ * @param {Object|Array} obj The object to iterate
57
+ * @param {Function} fn The callback to invoke for each item
58
+ */
59
+ export function forEach(obj, fn) {
60
+ // Don't bother if no value provided
61
+ if (obj === null || typeof obj === 'undefined') {
62
+ return
63
+ }
64
+
65
+ // Force an array if not already something iterable
66
+ if (typeof obj !== 'object') {
67
+ /* eslint no-param-reassign:0 */
68
+ obj = [obj]
69
+ }
70
+
71
+ if (isArray(obj)) {
72
+ // Iterate over array values
73
+ for (let i = 0, l = obj.length; i < l; i++) {
74
+ fn.call(null, obj[i], i, obj)
75
+ }
76
+ } else {
77
+ // Iterate over object keys
78
+ for (const key in obj) {
79
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
80
+ fn.call(null, obj[key], key, obj)
81
+ }
82
+ }
83
+ }
84
+ }
85
+
86
+ /**
87
+ * 是否为boolean 值
88
+ * @param val
89
+ * @returns {boolean}
90
+ */
91
+ export function isBoolean(val) {
92
+ return typeof val === 'boolean'
93
+ }
94
+
95
+ /**
96
+ * 是否为真正的对象{} new Object
97
+ * @param {any} obj - 检测的对象
98
+ * @returns {boolean}
99
+ */
100
+ export function isPlainObject(obj) {
101
+ return Object.prototype.toString.call(obj) === '[object Object]'
102
+ }
103
+
104
+ /**
105
+ * Function equal to merge with the difference being that no reference
106
+ * to original objects is kept.
107
+ *
108
+ * @see merge
109
+ * @param {Object} obj1 Object to merge
110
+ * @returns {Object} Result of all merge properties
111
+ */
112
+ export function deepMerge(/* obj1, obj2, obj3, ... */) {
113
+ const result = {}
114
+ function assignValue(val, key) {
115
+ if (typeof result[key] === 'object' && typeof val === 'object') {
116
+ result[key] = deepMerge(result[key], val)
117
+ } else if (typeof val === 'object') {
118
+ result[key] = deepMerge({}, val)
119
+ } else {
120
+ result[key] = val
121
+ }
122
+ }
123
+ for (let i = 0, l = arguments.length; i < l; i++) {
124
+ forEach(arguments[i], assignValue)
125
+ }
126
+ return result
127
+ }
128
+
129
+ export function isUndefined(val) {
130
+ return typeof val === 'undefined'
131
+ }
@@ -0,0 +1,13 @@
1
+ export default {
2
+ props: {
3
+ lang: String,
4
+ sessionFrom: String,
5
+ sendMessageTitle: String,
6
+ sendMessagePath: String,
7
+ sendMessageImg: String,
8
+ showMessageCard: Boolean,
9
+ appParameter: String,
10
+ formType: String,
11
+ openType: String
12
+ }
13
+ }
@@ -0,0 +1,160 @@
1
+ module.exports = {
2
+ // 定义每个组件都可能需要用到的外部样式以及类名
3
+ props: {
4
+ // 每个组件都有的父组件传递的样式,可以为字符串或者对象形式
5
+ customStyle: {
6
+ type: [Object, String],
7
+ default: () => ({})
8
+ },
9
+ customClass: {
10
+ type: String,
11
+ default: ''
12
+ },
13
+ // 跳转的页面路径
14
+ url: {
15
+ type: String,
16
+ default: ''
17
+ },
18
+ // 页面跳转的类型
19
+ linkType: {
20
+ type: String,
21
+ default: 'navigateTo'
22
+ }
23
+ },
24
+ data() {
25
+ return {}
26
+ },
27
+ onLoad() {
28
+ // getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出
29
+ this.$u.getRect = this.$uGetRect
30
+ },
31
+ created() {
32
+ // 组件当中,只有created声明周期,为了能在组件使用,故也在created中将方法挂载到$u
33
+ this.$u.getRect = this.$uGetRect
34
+ },
35
+ computed: {
36
+ // 在2.x版本中,将会把$u挂载到uni对象下,导致在模板中无法使用uni.$u.xxx形式
37
+ // 所以这里通过computed计算属性将其附加到this.$u上,就可以在模板或者js中使用uni.$u.xxx
38
+ // 只在nvue环境通过此方式引入完整的$u,其他平台会出现性能问题,非nvue则按需引入(主要原因是props过大)
39
+ $u() {
40
+ // #ifndef APP-NVUE
41
+ // 在非nvue端,移除props,http,mixin等对象,避免在小程序setData时数据过大影响性能
42
+ return uni.$u.deepMerge(uni.$u, {
43
+ props: undefined,
44
+ http: undefined,
45
+ mixin: undefined
46
+ })
47
+ // #endif
48
+ // #ifdef APP-NVUE
49
+ return uni.$u
50
+ // #endif
51
+ },
52
+ /**
53
+ * 生成bem规则类名
54
+ * 由于微信小程序,H5,nvue之间绑定class的差异,无法通过:class="[bem()]"的形式进行同用
55
+ * 故采用如下折中做法,最后返回的是数组(一般平台)或字符串(支付宝和字节跳动平台),类似['a', 'b', 'c']或'a b c'的形式
56
+ * @param {String} name 组件名称
57
+ * @param {Array} fixed 一直会存在的类名
58
+ * @param {Array} change 会根据变量值为true或者false而出现或者隐藏的类名
59
+ * @returns {Array|string}
60
+ */
61
+ bem() {
62
+ return function (name, fixed, change) {
63
+ // 类名前缀
64
+ const prefix = `u-${name}--`
65
+ const classes = {}
66
+ if (fixed) {
67
+ fixed.map((item) => {
68
+ // 这里的类名,会一直存在
69
+ classes[prefix + this[item]] = true
70
+ })
71
+ }
72
+ if (change) {
73
+ change.map((item) => {
74
+ // 这里的类名,会根据this[item]的值为true或者false,而进行添加或者移除某一个类
75
+ this[item] ? (classes[prefix + item] = this[item]) : (delete classes[prefix + item])
76
+ })
77
+ }
78
+ return Object.keys(classes)
79
+ // 支付宝,头条小程序无法动态绑定一个数组类名,否则解析出来的结果会带有",",而导致失效
80
+ // #ifdef MP-ALIPAY || MP-TOUTIAO || MP-LARK
81
+ .join(' ')
82
+ // #endif
83
+ }
84
+ }
85
+ },
86
+ methods: {
87
+ // 跳转某一个页面
88
+ openPage(urlKey = 'url') {
89
+ const url = this[urlKey]
90
+ if (url) {
91
+ // 执行类似uni.navigateTo的方法
92
+ uni[this.linkType]({
93
+ url
94
+ })
95
+ }
96
+ },
97
+ // 查询节点信息
98
+ // 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)
99
+ // 解决办法为在组件根部再套一个没有任何作用的view元素
100
+ $uGetRect(selector, all) {
101
+ return new Promise((resolve) => {
102
+ uni.createSelectorQuery()
103
+ .in(this)[all ? 'selectAll' : 'select'](selector)
104
+ .boundingClientRect((rect) => {
105
+ if (all && Array.isArray(rect) && rect.length) {
106
+ resolve(rect)
107
+ }
108
+ if (!all && rect) {
109
+ resolve(rect)
110
+ }
111
+ })
112
+ .exec()
113
+ })
114
+ },
115
+ getParentData(parentName = '') {
116
+ // 避免在created中去定义parent变量
117
+ if (!this.parent) this.parent = {}
118
+ // 这里的本质原理是,通过获取父组件实例(也即类似u-radio的父组件u-radio-group的this)
119
+ // 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性
120
+ // 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化
121
+ // 此处并不会自动更新子组件的数据,而是依赖父组件u-radio-group去监听data的变化,手动调用更新子组件的方法去重新获取
122
+ this.parent = uni.$u.$parent.call(this, parentName)
123
+ if (this.parent.children) {
124
+ // 如果父组件的children不存在本组件的实例,才将本实例添加到父组件的children中
125
+ this.parent.children.indexOf(this) === -1 && this.parent.children.push(this)
126
+ }
127
+ if (this.parent && this.parentData) {
128
+ // 历遍parentData中的属性,将parent中的同名属性赋值给parentData
129
+ Object.keys(this.parentData).map((key) => {
130
+ this.parentData[key] = this.parent[key]
131
+ })
132
+ }
133
+ },
134
+ // 阻止事件冒泡
135
+ preventEvent(e) {
136
+ e && typeof (e.stopPropagation) === 'function' && e.stopPropagation()
137
+ },
138
+ // 空操作
139
+ noop(e) {
140
+ this.preventEvent(e)
141
+ }
142
+ },
143
+ onReachBottom() {
144
+ uni.$emit('uOnReachBottom')
145
+ },
146
+ beforeDestroy() {
147
+ // 判断当前页面是否存在parent和chldren,一般在checkbox和checkbox-group父子联动的场景会有此情况
148
+ // 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱
149
+ if (this.parent && uni.$u.test.array(this.parent.children)) {
150
+ // 组件销毁时,移除父组件中的children数组中对应的实例
151
+ const childrenList = this.parent.children
152
+ childrenList.map((child, index) => {
153
+ // 如果相等,则移除
154
+ if (child === this) {
155
+ childrenList.splice(index, 1)
156
+ }
157
+ })
158
+ }
159
+ }
160
+ }
@@ -0,0 +1,8 @@
1
+ export default {
2
+ // #ifdef MP-WEIXIN
3
+ // 将自定义节点设置成虚拟的,更加接近Vue组件的表现,能更好的使用flex属性
4
+ options: {
5
+ virtualHost: true
6
+ }
7
+ // #endif
8
+ }
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ onLoad() {
3
+ // 设置默认的转发参数
4
+ uni.$u.mpShare = {
5
+ title: '', // 默认为小程序名称
6
+ path: '', // 默认为当前页面路径
7
+ imageUrl: '' // 默认为当前页面的截图
8
+ }
9
+ },
10
+ onShareAppMessage() {
11
+ return uni.$u.mpShare
12
+ }
13
+ }
@@ -0,0 +1,25 @@
1
+ export default {
2
+ props: {
3
+ openType: String
4
+ },
5
+ methods: {
6
+ onGetUserInfo(event) {
7
+ this.$emit('getuserinfo', event.detail)
8
+ },
9
+ onContact(event) {
10
+ this.$emit('contact', event.detail)
11
+ },
12
+ onGetPhoneNumber(event) {
13
+ this.$emit('getphonenumber', event.detail)
14
+ },
15
+ onError(event) {
16
+ this.$emit('error', event.detail)
17
+ },
18
+ onLaunchApp(event) {
19
+ this.$emit('launchapp', event.detail)
20
+ },
21
+ onOpenSetting(event) {
22
+ this.$emit('opensetting', event.detail)
23
+ }
24
+ }
25
+ }