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

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 (260) hide show
  1. package/package.json +1 -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-form-item/cv-form-item.vue +1 -1
  20. package/ui-fireui/fui-actionsheet/fui-actionsheet.vue +202 -0
  21. package/ui-fireui/fui-alert/fui-alert.vue +141 -0
  22. package/ui-fireui/fui-badge/fui-badge.vue +158 -0
  23. package/ui-fireui/fui-bottom-navigation/fui-bottom-navigation.vue +390 -0
  24. package/ui-fireui/fui-bottom-popup/fui-bottom-popup.vue +100 -0
  25. package/ui-fireui/fui-bubble-popup/fui-bubble-popup.vue +236 -0
  26. package/ui-fireui/fui-button/fui-button.vue +424 -0
  27. package/ui-fireui/fui-calendar/fui-calendar.js +915 -0
  28. package/ui-fireui/fui-calendar/fui-calendar.vue +868 -0
  29. package/ui-fireui/fui-card/fui-card.vue +231 -0
  30. package/ui-fireui/fui-cascade-selection/fui-cascade-selection.vue +538 -0
  31. package/ui-fireui/fui-circular-progress/fui-circular-progress.vue +261 -0
  32. package/ui-fireui/fui-collapse/fui-collapse.vue +179 -0
  33. package/ui-fireui/fui-countdown/fui-countdown.vue +301 -0
  34. package/ui-fireui/fui-datetime/fui-datetime.vue +570 -0
  35. package/ui-fireui/fui-divider/fui-divider.vue +118 -0
  36. package/ui-fireui/fui-drawer/fui-drawer.vue +103 -0
  37. package/ui-fireui/fui-dropdown-list/fui-dropdown-list.vue +70 -0
  38. package/ui-fireui/fui-fab/fui-fab.vue +284 -0
  39. package/ui-fireui/fui-footer/fui-footer.vue +131 -0
  40. package/ui-fireui/fui-grid/fui-grid.vue +42 -0
  41. package/ui-fireui/fui-grid-item/fui-grid-item.vue +142 -0
  42. package/ui-fireui/fui-icon/fui-icon.vue +820 -0
  43. package/ui-fireui/fui-image-cropper/fui-image-cropper.vue +1058 -0
  44. package/ui-fireui/fui-image-group/fui-image-group.vue +149 -0
  45. package/ui-fireui/fui-keyboard/fui-keyboard.vue +254 -0
  46. package/ui-fireui/fui-keyboard-input/fui-keyboard-input.vue +78 -0
  47. package/ui-fireui/fui-list-cell/fui-list-cell.vue +178 -0
  48. package/ui-fireui/fui-list-view/fui-list-view.vue +87 -0
  49. package/ui-fireui/fui-loading/fui-loading.vue +78 -0
  50. package/ui-fireui/fui-loadmore/fui-loadmore.vue +163 -0
  51. package/ui-fireui/fui-modal/fui-modal.vue +392 -0
  52. package/ui-fireui/fui-navigation-bar/fui-navigation-bar.vue +180 -0
  53. package/ui-fireui/fui-no-data/fui-no-data.vue +116 -0
  54. package/ui-fireui/fui-nomore/fui-nomore.vue +116 -0
  55. package/ui-fireui/fui-numberbox/fui-numberbox.vue +234 -0
  56. package/ui-fireui/fui-numberbox-border/fui-numberbox-border.vue +232 -0
  57. package/ui-fireui/fui-picture-cropper/fui-picture-cropper.vue +682 -0
  58. package/ui-fireui/fui-picture-cropper/fui-picture-cropper.wxs +560 -0
  59. package/ui-fireui/fui-rate/fui-rate.vue +167 -0
  60. package/ui-fireui/fui-round-progress/fui-round-progress.vue +306 -0
  61. package/ui-fireui/fui-scroll-top/fui-scroll-top.vue +189 -0
  62. package/ui-fireui/fui-sharemodel/fui-sharemodel.vue +181 -0
  63. package/ui-fireui/fui-skeleton/fui-skeleton.vue +248 -0
  64. package/ui-fireui/fui-steps/fui-steps.vue +214 -0
  65. package/ui-fireui/fui-sticky/fui-sticky.vue +155 -0
  66. package/ui-fireui/fui-sticky-wxs/fui-sticky-wxs.vue +133 -0
  67. package/ui-fireui/fui-sticky-wxs/fui-sticky.wxs +44 -0
  68. package/ui-fireui/fui-swipe-action/fui-swipe-action.vue +301 -0
  69. package/ui-fireui/fui-tabbar/fui-tabbar.vue +283 -0
  70. package/ui-fireui/fui-tabs/fui-tabs.vue +284 -0
  71. package/ui-fireui/fui-tabs2/fui-tabs2.vue +284 -0
  72. package/ui-fireui/fui-tag/fui-tag.vue +374 -0
  73. package/ui-fireui/fui-time-axis/fui-time-axis.vue +36 -0
  74. package/ui-fireui/fui-timeaxis-item/fui-timeaxis-item.vue +48 -0
  75. package/ui-fireui/fui-tips/fui-tips.vue +161 -0
  76. package/ui-fireui/fui-toast/fui-toast.vue +117 -0
  77. package/ui-fireui/fui-top-dropdown/fui-top-dropdown.vue +129 -0
  78. package/ui-fireui/fui-upload/fui-upload.vue +446 -0
  79. package/ui-fireui/fui-uploadsamll/fui-uploadsamll.vue +472 -0
  80. package/uview-plus/README.md +1 -1
  81. package/uview-plus/changelog-wu-tool.md +21 -0
  82. package/uview-plus/changelog-wu.md +91 -0
  83. package/uview-plus/components/u-action-sheet/_doc/changelog.md +12 -0
  84. package/uview-plus/components/u-action-sheet/_doc/package.json +92 -0
  85. package/uview-plus/components/u-action-sheet/_doc/readme.md +16 -0
  86. package/uview-plus/components/u-app-update/_doc/changelog.md +26 -0
  87. package/uview-plus/components/u-app-update/_doc/package.json +89 -0
  88. package/uview-plus/components/u-app-update/_doc/readme.md +16 -0
  89. package/uview-plus/components/u-app-update/config.js +120 -0
  90. package/uview-plus/components/u-app-update/img/act.png +0 -0
  91. package/uview-plus/components/u-app-update/img/appUploadAlertBoxBg.png +0 -0
  92. package/uview-plus/components/u-app-update/img/close.png +0 -0
  93. package/uview-plus/components/u-app-update/js-sdk/checkVersion.js +81 -0
  94. package/uview-plus/components/u-app-update/js-sdk/silentlyAppUpdate.js +41 -0
  95. package/uview-plus/components/u-app-update/pages/index.vue +8 -0
  96. package/uview-plus/components/u-app-update/u-app-update.vue +583 -0
  97. package/uview-plus/components/u-button-wu/_doc/changelog.md +6 -0
  98. package/uview-plus/components/u-button-wu/_doc/package.json +89 -0
  99. package/uview-plus/components/u-button-wu/_doc/readme.md +16 -0
  100. package/uview-plus/components/u-button-wu/u-button-wu.vue +522 -0
  101. package/uview-plus/components/u-button-wu/vue.scss +81 -0
  102. package/uview-plus/components/u-calendar-wu/_doc/changelog.md +145 -0
  103. package/uview-plus/components/u-calendar-wu/_doc/package.json +90 -0
  104. package/uview-plus/components/u-calendar-wu/_doc/readme.md +16 -0
  105. package/uview-plus/components/u-calendar-wu/calendar.js +664 -0
  106. package/uview-plus/components/u-calendar-wu/i18n/en.json +14 -0
  107. package/uview-plus/components/u-calendar-wu/i18n/index.js +8 -0
  108. package/uview-plus/components/u-calendar-wu/i18n/zh-Hans.json +14 -0
  109. package/uview-plus/components/u-calendar-wu/i18n/zh-Hant.json +14 -0
  110. package/uview-plus/components/u-calendar-wu/props.js +166 -0
  111. package/uview-plus/components/u-calendar-wu/style.css +196 -0
  112. package/uview-plus/components/u-calendar-wu/u-calendar-wu.vue +921 -0
  113. package/uview-plus/components/u-calendar-wu/util.js +552 -0
  114. package/uview-plus/components/u-calendar-wu/wu-calendar-block/props.js +73 -0
  115. package/uview-plus/components/u-calendar-wu/wu-calendar-block/wu-calendar-block.vue +122 -0
  116. package/uview-plus/components/u-calendar-wu/wu-calendar-item/props.js +55 -0
  117. package/uview-plus/components/u-calendar-wu/wu-calendar-item/wu-calendar-item.vue +293 -0
  118. package/uview-plus/components/u-cell/_doc/changelog.md +6 -0
  119. package/uview-plus/components/u-cell/_doc/package.json +89 -0
  120. package/uview-plus/components/u-cell/_doc/readme.md +25 -0
  121. package/uview-plus/components/u-checkbox/_doc/changelog.md +8 -0
  122. package/uview-plus/components/u-checkbox/_doc/package.json +88 -0
  123. package/uview-plus/components/u-checkbox/_doc/readme.md +25 -0
  124. package/uview-plus/components/u-code/_doc/changelog.md +6 -0
  125. package/uview-plus/components/u-code/_doc/package.json +86 -0
  126. package/uview-plus/components/u-code/_doc/readme.md +16 -0
  127. package/uview-plus/components/u-drag-sort/_doc/changelog.md +0 -0
  128. package/uview-plus/components/u-drag-sort/_doc/package.json +85 -0
  129. package/uview-plus/components/u-drag-sort/_doc/readme.md +16 -0
  130. package/uview-plus/components/u-drag-sort/u-drag-sort.vue +3 -0
  131. package/uview-plus/components/u-empty/u-empty.vue +27 -1
  132. package/uview-plus/components/u-gap/_doc/changelog.md +4 -0
  133. package/uview-plus/components/u-gap/_doc/package.json +86 -0
  134. package/uview-plus/components/u-gap/_doc/readme.md +22 -0
  135. package/uview-plus/components/u-icon/_doc/changelog.md +10 -0
  136. package/uview-plus/components/u-icon/_doc/package.json +85 -0
  137. package/uview-plus/components/u-icon/_doc/readme.md +10 -0
  138. package/uview-plus/components/u-icon/icon.js +23 -25
  139. package/uview-plus/components/u-icon/icons.js +213 -213
  140. package/uview-plus/components/u-icon/style.css +3 -3
  141. package/uview-plus/components/u-icon/u-icon2.vue +149 -0
  142. package/uview-plus/components/u-image-wu/_doc/changelog.md +21 -0
  143. package/uview-plus/components/u-image-wu/_doc/package.json +88 -0
  144. package/uview-plus/components/u-image-wu/_doc/readme.md +11 -0
  145. package/uview-plus/components/u-image-wu/props.js +94 -0
  146. package/uview-plus/components/u-image-wu/u-image-wu.vue +243 -0
  147. package/uview-plus/components/u-input/_doc/changelog.md +6 -0
  148. package/uview-plus/components/u-input/_doc/package.json +88 -0
  149. package/uview-plus/components/u-input/_doc/readme.md +16 -0
  150. package/uview-plus/components/u-line/_doc/changelog.md +8 -0
  151. package/uview-plus/components/u-line/_doc/package.json +86 -0
  152. package/uview-plus/components/u-line/_doc/readme.md +16 -0
  153. package/uview-plus/components/u-link/_doc/changelog.md +8 -0
  154. package/uview-plus/components/u-link/_doc/package.json +86 -0
  155. package/uview-plus/components/u-link/_doc/readme.md +20 -0
  156. package/uview-plus/components/u-loading-icon/_doc/changelog.md +12 -0
  157. package/uview-plus/components/u-loading-icon/_doc/package.json +86 -0
  158. package/uview-plus/components/u-loading-icon/_doc/readme.md +16 -0
  159. package/uview-plus/components/u-loading-icon/props.js +1 -1
  160. package/uview-plus/components/u-navbar/_doc/changelog.md +6 -0
  161. package/uview-plus/components/u-navbar/_doc/package.json +89 -0
  162. package/uview-plus/components/u-navbar/_doc/readme.md +16 -0
  163. package/uview-plus/components/u-navbar-wu/props.js +102 -0
  164. package/uview-plus/components/u-navbar-wu/u-navbar-wu.vue +196 -0
  165. package/uview-plus/components/u-number-box/_doc/changelog.md +19 -0
  166. package/uview-plus/components/u-number-box/_doc/package.json +88 -0
  167. package/uview-plus/components/u-number-box/_doc/readme.md +16 -0
  168. package/uview-plus/components/u-overlay/_doc/changelog.md +4 -0
  169. package/uview-plus/components/u-overlay/_doc/package.json +88 -0
  170. package/uview-plus/components/u-overlay/_doc/readme.md +16 -0
  171. package/uview-plus/components/u-popup/_doc/changelog.md +4 -0
  172. package/uview-plus/components/u-popup/_doc/package.json +92 -0
  173. package/uview-plus/components/u-popup/_doc/readme.md +16 -0
  174. package/uview-plus/components/u-popup-wu/keypress.js +45 -0
  175. package/uview-plus/components/u-popup-wu/u-popup-wu.vue +519 -0
  176. package/uview-plus/components/u-radio/_doc/changelog.md +6 -0
  177. package/uview-plus/components/u-radio/_doc/package.json +88 -0
  178. package/uview-plus/components/u-radio/_doc/readme.md +25 -0
  179. package/uview-plus/components/u-row/_doc/changelog.md +8 -0
  180. package/uview-plus/components/u-row/_doc/package.json +86 -0
  181. package/uview-plus/components/u-row/_doc/readme.md +16 -0
  182. package/uview-plus/components/u-safe-bottom/_doc/changelog.md +6 -0
  183. package/uview-plus/components/u-safe-bottom/_doc/package.json +86 -0
  184. package/uview-plus/components/u-safe-bottom/_doc/readme.md +16 -0
  185. package/uview-plus/components/u-sku-wu/_doc/changelog.md +27 -0
  186. package/uview-plus/components/u-sku-wu/_doc/package.json +93 -0
  187. package/uview-plus/components/u-sku-wu/_doc/readme.md +16 -0
  188. package/uview-plus/components/u-sku-wu/props.js +86 -0
  189. package/uview-plus/components/u-sku-wu/style.css +271 -0
  190. package/uview-plus/components/u-sku-wu/u-sku-wu.vue +864 -0
  191. package/uview-plus/components/u-status-bar/_doc/changelog.md +4 -0
  192. package/uview-plus/components/u-status-bar/_doc/package.json +86 -0
  193. package/uview-plus/components/u-status-bar/_doc/readme.md +16 -0
  194. package/uview-plus/components/u-text/_doc/changelog.md +10 -0
  195. package/uview-plus/components/u-text/_doc/package.json +89 -0
  196. package/uview-plus/components/u-text/_doc/readme.md +20 -0
  197. package/uview-plus/components/u-textarea/_doc/changelog.md +6 -0
  198. package/uview-plus/components/u-textarea/_doc/package.json +86 -0
  199. package/uview-plus/components/u-textarea/_doc/readme.md +25 -0
  200. package/uview-plus/components/u-transition/_doc/changelog.md +14 -0
  201. package/uview-plus/components/u-transition/_doc/package.json +86 -0
  202. package/uview-plus/components/u-transition/_doc/readme.md +16 -0
  203. package/uview-plus/components/u-transition-wu/createAnimation.js +148 -0
  204. package/uview-plus/components/u-transition-wu/props.js +32 -0
  205. package/uview-plus/components/u-transition-wu/u-transition.vue +300 -0
  206. package/uview-plus/components/u-verification-code/u-verification-code.vue +161 -0
  207. package/uview-plus/index.js +107 -94
  208. package/uview-plus/libs/config/config.js +46 -48
  209. package/uview-plus/libs/css/color.scss +32 -311
  210. package/uview-plus/libs/css/components-wu.scss +30 -0
  211. package/uview-plus/libs/css/vue.scss +10 -10
  212. package/uview-plus/libs/function/calc.js +61 -55
  213. package/uview-plus/libs/function/cc.js +66 -0
  214. package/uview-plus/libs/function/color/color-convert/CHANGELOG.md +54 -0
  215. package/uview-plus/libs/function/color/color-convert/LICENSE +21 -0
  216. package/uview-plus/libs/function/color/color-convert/README.md +68 -0
  217. package/uview-plus/libs/function/color/color-convert/conversions.js +839 -0
  218. package/uview-plus/libs/function/color/color-convert/index.js +81 -0
  219. package/uview-plus/libs/function/color/color-convert/package.json +48 -0
  220. package/uview-plus/libs/function/color/color-convert/route.js +97 -0
  221. package/uview-plus/libs/function/color/color-name/LICENSE +8 -0
  222. package/uview-plus/libs/function/color/color-name/README.md +11 -0
  223. package/uview-plus/libs/function/color/color-name/index.js +152 -0
  224. package/uview-plus/libs/function/color/color-name/package.json +28 -0
  225. package/uview-plus/libs/function/color/color-string/LICENSE +21 -0
  226. package/uview-plus/libs/function/color/color-string/README.md +62 -0
  227. package/uview-plus/libs/function/color/color-string/index.js +244 -0
  228. package/uview-plus/libs/function/color/color-string/package.json +39 -0
  229. package/uview-plus/libs/function/color/color.js +496 -0
  230. package/uview-plus/libs/function/color/index.js +158 -0
  231. package/uview-plus/libs/function/color/is-arrayish/LICENSE +21 -0
  232. package/uview-plus/libs/function/color/is-arrayish/README.md +16 -0
  233. package/uview-plus/libs/function/color/is-arrayish/index.js +9 -0
  234. package/uview-plus/libs/function/color/is-arrayish/package.json +45 -0
  235. package/uview-plus/libs/function/color/is-arrayish/yarn-error.log +1443 -0
  236. package/uview-plus/libs/function/color/simple-swizzle/LICENSE +21 -0
  237. package/uview-plus/libs/function/color/simple-swizzle/README.md +39 -0
  238. package/uview-plus/libs/function/color/simple-swizzle/index.js +29 -0
  239. package/uview-plus/libs/function/color/simple-swizzle/package.json +36 -0
  240. package/uview-plus/libs/function/colorGradient.js +108 -106
  241. package/uview-plus/libs/function/debounce.js +17 -17
  242. package/uview-plus/libs/function/digit.js +1 -3
  243. package/uview-plus/libs/function/http.js +3 -3
  244. package/uview-plus/libs/function/index-wu.js +231 -0
  245. package/uview-plus/libs/function/index.js +579 -566
  246. package/uview-plus/libs/function/platform.js +18 -18
  247. package/uview-plus/libs/function/test.js +135 -137
  248. package/uview-plus/libs/function/throttle.js +17 -17
  249. package/uview-plus/libs/luch-request/core/Request.js +199 -199
  250. package/uview-plus/libs/mixin/mpMixin.js +1 -0
  251. package/uview-plus/libs/mixin/openType.js +33 -0
  252. package/uview-plus/libs/util/async-validator.js +1343 -1343
  253. package/uview-plus/libs/util/dayjs.js +404 -0
  254. package/uview-plus/libs/util/route.js +101 -105
  255. package/uview-plus/package-wu-tool.json +84 -0
  256. package/uview-plus/package-wu.json +112 -0
  257. package/uview-plus/package.json +106 -95
  258. package/uview-plus/readme-wu.md +148 -0
  259. package/uview-ui/index.js +51 -52
  260. package/plugins/uni-upgrade.js +0 -294
@@ -0,0 +1,583 @@
1
+ <template>
2
+ <view class="u-app-update-box">
3
+ <uni-popup ref="popup" type="center" :isMaskClick="false" @touchmove.stop.prevent>
4
+ <view class="content_popup" :style="{ backgroundColor: bgColor }">
5
+ <!-- 关闭app -->
6
+ <u-icon
7
+ v-if="!isForceUpdata"
8
+ class="close"
9
+ name="close"
10
+ :color="closeIconColor"
11
+ :size="closeIconSize"
12
+ @click="closeUpdate"
13
+ ></u-icon>
14
+ <!-- 版本提示 -->
15
+ <view class="version" :style="{ color: versionColor }">v{{ version }}</view>
16
+ <!-- 背景 -->
17
+ <image class="backgroundImg" width="100%" height="100%" src="../../img/appUploadAlertBoxBg.png"></image>
18
+ <!-- 更新详细信息 -->
19
+ <view class="info center">
20
+ <text class="title" :style="{ color: titleColor }">{{ title }}</text>
21
+ <!-- 更新内容 -->
22
+ <scroll-view class="info_desc_scroll" :style="{ color: contentColor }" scroll-y="true">
23
+ <rich-text :nodes="content"></rich-text>
24
+ </scroll-view>
25
+ </view>
26
+ <view class="footer" v-if="platform">
27
+ <button
28
+ v-if="downloadSuccess && !wgtInstalled"
29
+ class="btn"
30
+ :style="btnStyle"
31
+ @click="installPackage"
32
+ :loading="wgtInstalling"
33
+ :disabled="wgtInstalling"
34
+ >
35
+ {{ wgtInstalling ? wgtInstallingText : downloadSuccessText }}
36
+ </button>
37
+ <button v-else-if="wgtInstalled && isWGT" class="btn" :style="btnStyle" @click="restart">
38
+ {{ wgtInstalledText }}
39
+ </button>
40
+ <!-- 更新进度 -->
41
+ <view class="progress-box flex f-c f-y-c" :style="{ color: progressTextColor }" v-else-if="downloading">
42
+ <progress
43
+ class="progress"
44
+ :percent="downLoadPercent"
45
+ :activeColor="progressColor || themeColor"
46
+ show-info
47
+ stroke-width="10"
48
+ />
49
+ <view style="width: 100%; font-size: 28rpx; display: flex; justify-content: space-around">
50
+ <text>{{ downLoadingText }}</text>
51
+ <text>({{ downloadedSize }}M/{{ packageFileSize || 0 }}M)</text>
52
+ </view>
53
+ </view>
54
+ <!-- 选项 -->
55
+ <view v-else class="btns flex f-x-b">
56
+ <!-- IOS -->
57
+ <view v-if="platform == 'ios'" class="btn confirm" :style="btnStyle" @click="jumpToAppStore">
58
+ {{ downloadBtnTextIOS }}
59
+ </view>
60
+ <!-- android -->
61
+ <view v-else class="btn confirm" :style="btnStyle" @click="updataApp">
62
+ {{ downloadBtnTextAndroid }}
63
+ </view>
64
+ </view>
65
+ <!-- 短期内不在提醒 -->
66
+ <view
67
+ v-if="!isForceUpdata"
68
+ class="notRemind"
69
+ @click="userNotRemind = !userNotRemind"
70
+ :class="{ active: userNotRemind }"
71
+ >
72
+ <uni-icons
73
+ :type="userNotRemind ? 'checkbox' : 'circle'"
74
+ :size="notRemindIconSize"
75
+ :color="userNotRemind ? notRemindIconActColor || themeColor : notRemindIconNotActColor"
76
+ ></uni-icons>
77
+ <view class="remind-text" :style="{ color: userNotRemind ? notRemindTextActColor : notRemindTextNotActColor }">
78
+ {{ intervalAlertUserUpdateDay }}日内不在提醒
79
+ </view>
80
+ </view>
81
+ </view>
82
+ </view>
83
+ </uni-popup>
84
+ </view>
85
+ </template>
86
+
87
+ <script>
88
+ /**
89
+ * u-app-update app更新提示框
90
+ * @description app更新提示框,支持热更新,强制更新,普通更新,暂不更新,后台下载,更新内容展示,进度条显示,ios跳转appstore等功能。
91
+ * @property {String} titleColor 更新标题文字颜色(默认: #5e5e5e)。
92
+ * @property {String} contentColor 更新内容文字颜色(默认: #878787)。
93
+ * @property {String} themeColor 主题颜色。
94
+ * @property {String} bgColor 背景色(默认: #fff)。
95
+ * @property {String} versionColor 版本号字体颜色(默认: #fff)。
96
+ * @property {String} closeIconColor 关闭图标颜色(默认: #fff)。
97
+ * @property {String} closeIconSize 关闭图标大小(默认: 26)。
98
+ * @property {String} notRemindIconSize 短期内不更新图标大小(默认: 22)。
99
+ * @property {String} notRemindIconActColor 短期内不更新选中图标颜色(默认: '')。
100
+ * @property {String} notRemindIconNotActColor 短期内不更新未选中图标颜色(默认: #9d9d9d)。
101
+ * @property {String} notRemindTextActColor 短期内不更新选中文字颜色(默认: #6b6b6b)。
102
+ * @property {String} notRemindTextNotActColor 短期内不更新未选中文字颜色(默认: #9d9d9d)。
103
+ * @property {String} downloadBtnTextIOS 下载按钮ios文字(默认: 立即跳转更新)
104
+ * @property {String} downloadBtnTextAndroid 下载按钮Android文字(默认: 立即升级)。
105
+ * @property {String} downLoadingText 下载中文字提示(默认: 安装包下载中,请稍后)。
106
+ * @property {String} downloadSuccessText 下载完成文字提示(默认: 下载完成,立即安装)。
107
+ * @property {String} wgtInstallingText wgt安装中显示文字(默认: 正在安装....)。
108
+ * @property {Number} wgtInstalledText wgt安装完成重启显示文字(默认: 安装完毕,点击重启)。
109
+ * @property {Number} btnBgColor 按钮背景色(默认: '')。
110
+ * @property {Number} btnColor 按钮文字颜色(默认: '#fff')。
111
+ * @property {Number} progressColor 进度条颜色(默认: '')。
112
+ * @property {Number} progressTextColor 进度条文字样式(默认: #4c4c4c)。
113
+ * @property {Number} intervalAlertUserUpdateDay 提示用户更新的间隔时间 单位day(默认: 7)。
114
+ * @example
115
+ */
116
+ import config from '../../config.js';
117
+ import checkVersion from '../../js-sdk/checkVersion.js';
118
+
119
+ export default {
120
+ name: 'wuAppUpdata',
121
+ props: config.props,
122
+ data() {
123
+ return {
124
+ // 更新的版本号
125
+ version: '',
126
+ // 系统环境
127
+ platform: '',
128
+ // 下载链接
129
+ downloadUrl: '',
130
+ // 跳转的应用市场列表
131
+ storeList: [],
132
+ // 是否wgt资源包
133
+ isWGT: false,
134
+ // 是否强制更新
135
+ isForceUpdata: false,
136
+ // 更新的标题
137
+ title: '',
138
+ // 更新的内容
139
+ content: ``,
140
+
141
+ // 下载下载状态
142
+ downloading: '',
143
+ // 是否下载完成
144
+ downloadSuccess: false,
145
+ // 下载进度
146
+ downLoadPercent: 0,
147
+ // 目前app已下载大小
148
+ downloadedSize: 0,
149
+ // app总大小
150
+ packageFileSize: 0,
151
+
152
+ // wgt是否安装中
153
+ wgtInstalling: false,
154
+ // wgt是否安装完成
155
+ wgtInstalled: false,
156
+
157
+ // 要安装的本地包地址
158
+ tempFilePath: false,
159
+ // 之前的安装的本地包地址
160
+ installForBeforeFilePath: null,
161
+ // 创建的下载任务
162
+ downloadTask: null,
163
+
164
+ // 用户上次拒绝的时间
165
+ userLastRefuseTime: uni.getStorageSync('userLastRefuseTime'),
166
+ // 用户是否短期内不更新
167
+ userNotRemind: false
168
+ };
169
+ },
170
+ mounted() {
171
+ this.init();
172
+ },
173
+ methods: {
174
+ // 版本对比
175
+ compare(v1 = '0', v2 = '0') {
176
+ v1 = String(v1).split('.');
177
+ v2 = String(v2).split('.');
178
+ const minVersionLens = Math.min(v1.length, v2.length);
179
+
180
+ let result = 0;
181
+ for (let i = 0; i < minVersionLens; i++) {
182
+ const curV1 = Number(v1[i]);
183
+ const curV2 = Number(v2[i]);
184
+
185
+ if (curV1 > curV2) {
186
+ result = 1;
187
+ break;
188
+ } else if (curV1 < curV2) {
189
+ result = -1;
190
+ break;
191
+ }
192
+ }
193
+
194
+ if (result === 0 && v1.length !== v2.length) {
195
+ const v1BiggerThenv2 = v1.length > v2.length;
196
+ const maxLensVersion = v1BiggerThenv2 ? v1 : v2;
197
+ for (let i = minVersionLens; i < maxLensVersion.length; i++) {
198
+ const curVersion = Number(maxLensVersion[i]);
199
+ if (curVersion > 0) {
200
+ v1BiggerThenv2 ? (result = 1) : (result = -1);
201
+ break;
202
+ }
203
+ }
204
+ }
205
+
206
+ return result;
207
+ },
208
+
209
+ // 获取更新内容片段
210
+ getContentHTML(content) {
211
+ let contentArr = content.split('\n');
212
+ return contentArr.map((item) => `<p>${item}</p>`).join('\n');
213
+ },
214
+
215
+ // 跳转应用市场
216
+ checkStoreScheme() {
217
+ /**
218
+ * 跳转应用市场逻辑
219
+ * 如果本次更新设置了需要跳转的应用市场则从整个列表中筛选出来启用的应用市场
220
+ * 按照设置的优先级(priority)从大到小排序
221
+ * 并尝试跳转到所有应用市场
222
+ * 如果都跳转失败的话则会显示失败
223
+ */
224
+ // 可以跳转的应用市场
225
+ const canStoreList = (this.storeList || []).filter((item) => item.enable);
226
+
227
+ let openSchemePromise;
228
+ if (canStoreList && canStoreList.length) {
229
+ canStoreList
230
+ .sort((cur, next) => next.priority - cur.priority)
231
+ .map((item) => item.scheme)
232
+ .reduce((promise, cur, curIndex) => {
233
+ openSchemePromise = (promise || (promise = Promise.reject())).catch(() => {
234
+ return new Promise((resolve, reject) => {
235
+ plus.runtime.openURL(cur, (err) => {
236
+ reject(err);
237
+ });
238
+ });
239
+ });
240
+ return openSchemePromise;
241
+ }, openSchemePromise);
242
+ return openSchemePromise;
243
+ }
244
+
245
+ return Promise.reject();
246
+ },
247
+
248
+ // 初始化
249
+ init() {
250
+ // 如果在用户上次拒绝的时间存在
251
+ if (this.userLastRefuseTime) {
252
+ // 目标时间戳
253
+ let targetTime = this.userLastRefuseTime + this.intervalAlertUserUpdateDay * 24 * 60 * 60 * 1000;
254
+ // 现在时间戳
255
+ let nowTime = new Date().getTime();
256
+ // 如果目标时间戳大于现在时间戳
257
+ if (targetTime > nowTime) {
258
+ // 并阻止执行
259
+ return;
260
+ } else {
261
+ // 清除拒绝时间
262
+ uni.removeStorageSync('userLastRefuseTime');
263
+ }
264
+ }
265
+
266
+ // 检查版本 需要更新时才会触发回调
267
+ checkVersion().then((res) => {
268
+ // 非静默更新时触发
269
+ if (!res.is_silently) {
270
+ // 读取下载好的包的缓存
271
+ const appDownLoadTempFilePath = uni.getStorageSync('appDownLoadTempFilePath');
272
+
273
+ // 更新的版本号
274
+ this.version = res.version;
275
+ // 系统环境
276
+ this.platform = res.appPlatform;
277
+ // 网络下载地址
278
+ this.downloadUrl = res.url;
279
+ // 跳转的应用市场列表
280
+ this.storeList = res.store_list || [];
281
+ // 更新内容
282
+ this.content = this.getContentHTML(res.contents);
283
+ // 更新标题
284
+ this.title = res.title || '发现新版本';
285
+ // 是否强制更新
286
+ this.isForceUpdata = res.is_mandatory;
287
+ // 是否wgt资源包
288
+ this.isWGT = res.type == 'wgt';
289
+
290
+ // 如果已经有下载好的包
291
+ if (appDownLoadTempFilePath && this.compare(this.version, uni.getStorageSync('appDownLoadTempFilePathVersion')) == 0) {
292
+ this.tempFilePath = appDownLoadTempFilePath;
293
+ this.downloadSuccess = true;
294
+ this.installForBeforeFilePath = appDownLoadTempFilePath;
295
+ } else {
296
+ uni.removeStorageSync('appDownLoadTempFilePath');
297
+ uni.removeStorageSync('appDownLoadTempFilePathVersion');
298
+ }
299
+
300
+ // 打开更新提示
301
+ this.$refs.popup.open();
302
+ }
303
+ });
304
+ },
305
+
306
+ // 下载app
307
+ downloadPackage() {
308
+ if (!this.downloadTask) {
309
+ this.downloading = true;
310
+
311
+ //下载包
312
+ this.downloadTask = plus.downloader.createDownload(this.downloadUrl, {}, (download, status) => {
313
+ if (status == 200) {
314
+ this.downloadSuccess = true;
315
+ this.tempFilePath = download.filename;
316
+ uni.setStorageSync('appDownLoadTempFilePathVersion', this.version);
317
+ uni.setStorageSync('appDownLoadTempFilePath', this.tempFilePath);
318
+ }
319
+ // 清空下载进度
320
+ this.downLoadPercent = 0;
321
+ this.downloadedSize = 0;
322
+ this.packageFileSize = 0;
323
+ this.downloadTask = null;
324
+ });
325
+
326
+ this.downloadTask.start();
327
+
328
+ this.downloadTask.addEventListener('statechanged', (task, status) => {
329
+ switch (task.state) {
330
+ case 3:
331
+ // 更新下载进度
332
+ this.downLoadPercent = parseInt((task.downloadedSize / task.totalSize) * 100);
333
+ this.downloadedSize = (task.downloadedSize / Math.pow(1024, 2)).toFixed(2);
334
+ this.packageFileSize = (task.totalSize / Math.pow(1024, 2)).toFixed(2);
335
+ break;
336
+ }
337
+ });
338
+ }
339
+ },
340
+
341
+ // 安装app
342
+ installPackage() {
343
+ // wgt资源包安装
344
+ if (this.isWGT) {
345
+ this.wgtInstalling = true;
346
+ }
347
+ plus.runtime.install(
348
+ this.tempFilePath,
349
+ {
350
+ force: true
351
+ },
352
+ async (res) => {
353
+ this.wgtInstalling = false;
354
+ this.wgtInstalled = true;
355
+ },
356
+ async (err) => {
357
+ this.downloadSuccess = false;
358
+ // 如果是安装之前的包,安装失败后删除之前的包
359
+ if (this.installForBeforeFilePath) {
360
+ await this.deleteSavedFile(this.installForBeforeFilePath);
361
+ this.installForBeforeFilePath = '';
362
+ }
363
+
364
+ uni.showLoading({
365
+ icon: 'none',
366
+ title: '更新失败,请重新下载',
367
+ mask: true
368
+ });
369
+ }
370
+ );
371
+ },
372
+
373
+ // 删除保存的文件
374
+ deleteSavedFile(tempFilePath) {
375
+ uni.removeStorageSync('appDownLoadTempFilePath');
376
+ uni.removeSavedFile({
377
+ tempFilePath
378
+ });
379
+ },
380
+
381
+ // 保存文件
382
+ saveFile(tempFilePath) {
383
+ return new Promise((resolve, reject) => {
384
+ uni.saveFile({
385
+ tempFilePath,
386
+ success({ savedFilePath }) {
387
+ uni.setStorageSync('appDownLoadTempFilePath', tempFilePath);
388
+ },
389
+ complete() {
390
+ resolve();
391
+ }
392
+ });
393
+ });
394
+ },
395
+
396
+ // 重启应用
397
+ restart() {
398
+ this.wgtInstalled = false;
399
+ //更新完重启app
400
+ plus.runtime.restart();
401
+ },
402
+ // 跳转appstore
403
+ jumpToAppStore() {
404
+ // 请填入appid
405
+ plus.runtime.openURL(this.downloadUrl);
406
+ },
407
+ // 更新用户拒绝时间
408
+ updataUserRefuseTime() {
409
+ // 存储用户暂不升级的时间戳
410
+ this.userLastRefuseTime = new Date().getTime();
411
+ uni.setStorageSync('userLastRefuseTime', this.userLastRefuseTime);
412
+ },
413
+ // 关闭更新框
414
+ closeUpdate() {
415
+ if (this.downloading) {
416
+ uni.showModal({
417
+ title: '是否取消下载?',
418
+ cancelText: '否',
419
+ confirmText: '是',
420
+ success: (res) => {
421
+ if (res.confirm) {
422
+ this.downloadTask && this.downloadTask.abort();
423
+ this.$refs.popup.close();
424
+ }
425
+ }
426
+ });
427
+ } else {
428
+ this.$refs.popup.close();
429
+ // 如果用户短期内不更新
430
+ if (this.userNotRemind) {
431
+ this.updataUserRefuseTime();
432
+ }
433
+ }
434
+
435
+ if (this.downloadSuccess) {
436
+ // 包已经下载完毕,稍后安装,将包保存在本地
437
+ this.saveFile(this.tempFilePath);
438
+ }
439
+ },
440
+ // 应用更新
441
+ updataApp() {
442
+ // 检查可跳转的应用市场 如果失败则走应用内更新
443
+ this.checkStoreScheme().catch(() => {
444
+ this.downloadPackage();
445
+ });
446
+ }
447
+ },
448
+ computed: {
449
+ btnStyle() {
450
+ return {
451
+ color: this.btnColor,
452
+ backgroundColor: this.btnBgColor || this.themeColor
453
+ };
454
+ }
455
+ }
456
+ };
457
+ </script>
458
+
459
+ <style lang="scss" scoped>
460
+ .u-app-update-box {
461
+ :deep(.uni-popup) {
462
+ z-index: 1000;
463
+ }
464
+
465
+ .bg {
466
+ width: 100%;
467
+ }
468
+
469
+ .content_popup {
470
+ width: 590rpx;
471
+ border-radius: 10rpx;
472
+ background-size: cover;
473
+ background-repeat: no-repeat;
474
+ background-position: center;
475
+ box-sizing: border-box;
476
+ background-color: #fff;
477
+ padding-bottom: 40rpx;
478
+ position: relative;
479
+
480
+ .close {
481
+ position: absolute;
482
+ right: 15rpx;
483
+ top: 15rpx;
484
+ z-index: 3;
485
+ }
486
+
487
+ .version {
488
+ position: absolute;
489
+ left: 40rpx;
490
+ top: 45rpx;
491
+ z-index: 3;
492
+ font-size: 75rpx;
493
+ }
494
+
495
+ .backgroundImg {
496
+ width: 100.1%;
497
+ height: 270rpx;
498
+ position: absolute;
499
+ top: -48rpx;
500
+ }
501
+
502
+ .info {
503
+ position: relative;
504
+ padding: 240rpx 40rpx 0;
505
+ z-index: 2;
506
+
507
+ .title {
508
+ font-size: 42rpx;
509
+ }
510
+
511
+ .info_desc_scroll {
512
+ margin-top: 20rpx;
513
+ font-size: 33rpx;
514
+ min-height: 200rpx;
515
+ max-height: 400rpx;
516
+ box-sizing: border-box;
517
+ line-height: 1.3;
518
+
519
+ p:not(:last-child) {
520
+ margin-bottom: 12rpx;
521
+ }
522
+ }
523
+ }
524
+
525
+ .footer {
526
+ padding: 0 30rpx;
527
+
528
+ .progress-box {
529
+ width: 100%;
530
+ margin-top: 25rpx;
531
+ }
532
+
533
+ :deep(.progress) {
534
+ width: 90%;
535
+ height: 40rpx;
536
+ margin-bottom: 5rpx;
537
+
538
+ .uni-progress-bar {
539
+ border-radius: 35rpx;
540
+
541
+ .uni-progress-inner-bar {
542
+ border-radius: 35rpx;
543
+ }
544
+ }
545
+ }
546
+
547
+ .btn {
548
+ margin-top: 35rpx;
549
+ height: 75rpx;
550
+ line-height: 75rpx;
551
+ border-radius: 14rpx;
552
+ font-size: 34rpx;
553
+ font-weight: 400;
554
+ text-align: center;
555
+ width: 100%;
556
+ }
557
+
558
+ .notRemind {
559
+ display: flex;
560
+ justify-content: center;
561
+ align-items: center;
562
+ margin-top: 15rpx;
563
+
564
+ .remind-text {
565
+ color: #9d9d9d;
566
+ font-size: 30rpx;
567
+ margin-left: 3rpx;
568
+ transition: color 80ms linear;
569
+ }
570
+ }
571
+ }
572
+ }
573
+
574
+ .close-img {
575
+ width: 70rpx;
576
+ height: 70rpx;
577
+ z-index: 1000;
578
+ position: absolute;
579
+ bottom: -120rpx;
580
+ left: calc(50% - 70rpx / 2);
581
+ }
582
+ }
583
+ </style>
@@ -0,0 +1,6 @@
1
+ ## 1.0.2(2024-05-08)
2
+ 更新域名
3
+ ## 1.0.1(2023-09-11)
4
+ 自定义组件声明
5
+ ## 1.0.0(2023-08-03)
6
+ 按钮组件内部实现以uni-app的button组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。
@@ -0,0 +1,89 @@
1
+ {
2
+ "id": "u-button",
3
+ "displayName": "u-button 按钮 全面兼容vue3+2、app、h5、小程序等多端",
4
+ "version": "1.0.2",
5
+ "description": "按钮组件内部实现以uni-app的button组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。",
6
+ "keywords": [
7
+ "u-button",
8
+ "button",
9
+ "按钮",
10
+ "wuui",
11
+ "u-ui"
12
+ ],
13
+ "repository": "",
14
+ "engines": {
15
+ "HBuilderX": "^3.4.15"
16
+ },
17
+ "dcloudext": {
18
+ "type": "component-vue",
19
+ "sale": {
20
+ "regular": {
21
+ "price": "0.00"
22
+ },
23
+ "sourcecode": {
24
+ "price": "0.00"
25
+ }
26
+ },
27
+ "contact": {
28
+ "qq": ""
29
+ },
30
+ "declaration": {
31
+ "ads": "无",
32
+ "data": "插件不采集任何数据",
33
+ "permissions": "无"
34
+ },
35
+ "npmurl": ""
36
+ },
37
+ "uni_modules": {
38
+ "dependencies": [
39
+ "u-icon",
40
+ "u-loading-icon"
41
+ ],
42
+ "encrypt": [],
43
+ "platforms": {
44
+ "cloud": {
45
+ "tcb": "y",
46
+ "aliyun": "y",
47
+ "alipay": "n"
48
+ },
49
+ "client": {
50
+ "Vue": {
51
+ "vue2": "y",
52
+ "vue3": "y"
53
+ },
54
+ "App": {
55
+ "app-vue": "y",
56
+ "app-nvue": "y"
57
+ },
58
+ "H5-mobile": {
59
+ "Safari": "y",
60
+ "Android Browser": "y",
61
+ "微信浏览器(Android)": "y",
62
+ "QQ浏览器(Android)": "y"
63
+ },
64
+ "H5-pc": {
65
+ "Chrome": "y",
66
+ "IE": "y",
67
+ "Edge": "y",
68
+ "Firefox": "y",
69
+ "Safari": "y"
70
+ },
71
+ "小程序": {
72
+ "微信": "y",
73
+ "阿里": "y",
74
+ "百度": "y",
75
+ "字节跳动": "y",
76
+ "QQ": "y",
77
+ "钉钉": "y",
78
+ "快手": "y",
79
+ "飞书": "y",
80
+ "京东": "y"
81
+ },
82
+ "快应用": {
83
+ "华为": "y",
84
+ "联盟": "y"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,16 @@
1
+ ## u-button 按钮
2
+
3
+ > **组件名:u-button**
4
+
5
+ 该组件内部实现以 `uni-app` 的 `button` 组件为基础,进行二次封装,灵活配置,功能齐全,兼容全端。灵活配置,内置状态设置,开箱即用。
6
+
7
+ ## [查看文档](https://ijry.github.io/uview-plus/components/button.html)
8
+
9
+ ## [更多组件, 请查看 `u-ui` 组件库](https://ext.dcloud.net.cn/plugin?name=u--ui)
10
+ (请勿下载插件zip)
11
+
12
+ <a href="https://ext.dcloud.net.cn/plugin?name=u--ui">
13
+ <img src="https://wuui.cn/intr.png">
14
+ </a>
15
+
16
+ **如使用过程中有任何问题,或者您对u-ui有一些好的建议。<br>欢迎加入 [u-ui 交流群](https://ijry.github.io/uview-plus/components/qqFeedBack.html)**