tmui-cli 5.3.1 → 5.3.2

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 (421) hide show
  1. package/README.md +120 -2
  2. package/data/components.json +1 -1
  3. package/data/config.json +1 -1
  4. package/data/doc-index.json +1 -1
  5. package/data/docs/upload-photo.md +1 -0
  6. package/data/docs/upload-video.md +1 -0
  7. package/data/examples/navbar.vue +3 -3
  8. package/data/examples/upload-photo.vue +14 -0
  9. package/data/examples/upload-video.vue +14 -0
  10. package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +2 -0
  11. package/data/tmui4x/01./346/225/231/347/250/213/10./345/205/245/351/227/250/346/214/207/345/215/227/12./345/256/211/350/243/205.md +1 -1
  12. package/data/tmui4x/01./346/225/231/347/250/213/35.Interface/347/261/273/345/236/213.md +5 -0
  13. package/data/tmui4x/01./346/225/231/347/250/213/50.TMUI4x/350/222/270/346/261/275/350/256/241/345/210/222.md +18 -2
  14. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChatmarkdownU AI/350/201/212/345/244/251Markdown.md" +13 -1
  15. package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWebviewU /346/267/267/345/220/210WebView.md" +2 -1
  16. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/216/237/347/224/237/345/233/276/350/241/250 Chart.md" +6 -0
  17. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/233/276/347/211/207/350/243/201/345/211/252 xImageResizer.md" +1 -1
  18. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/200/235/347/273/264/345/257/274/345/233/276 xTreeFlat.md" +1 -1
  19. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//351/242/234/350/211/262/351/200/211/346/213/251 xColorView.md" +2 -2
  20. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274 xGuid.md" +31 -10
  21. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274/345/255/220/347/273/204/344/273/266 xGuidItem.md" +26 -5
  22. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//347/264/242/345/274/225 xIndexbar.md" +46 -4
  23. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266/markdown xCmarkdown.md" +9 -2
  24. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254 xHtml.md" +186 -0
  25. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254/345/255/220/347/273/204/344/273/266 xHtmlNode.md" +183 -0
  26. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274 xTable.md" +10 -1
  27. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274/345/210/227 xTableCol.md" +8 -0
  28. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/223/215/345/272/224/345/274/217/345/270/203/345/261/200 xLayout.md" +330 -0
  29. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/233/276/347/211/207/344/270/212/344/274/240 xUploadMedia.md" +51 -4
  30. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/244/232/351/200/211/346/227/245/345/216/206 xCalendarMultiple.md" +2 -7
  31. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254/347/274/226/350/276/221/345/231/250 xEditor.md" +4 -4
  32. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/265/214/345/205/245/345/274/217/346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xDateView.md" +27 -0
  33. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/345/216/206 xCalendar.md" +6 -8
  34. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xPickerDate.md" +27 -1
  35. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225 xForm.md" +36 -28
  36. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225/345/255/220/347/273/204/344/273/266 xFormItem.md" +35 -28
  37. package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/06.tokens/350/207/252/347/224/261.md +47 -0
  38. package/data/tmui4x-doc-index.json +47 -10
  39. package/data/uni-app-x-docs/.vuepress/utils/cssJson.json +1 -1
  40. package/data/uni-app-x-docs/.vuepress/utils/customTypeJson.json +1 -1
  41. package/data/uni-app-x-docs/.vuepress/utils/maniFestJson.json +1 -1
  42. package/data/uni-app-x-docs/.vuepress/utils/utsApiJson.json +1 -1
  43. package/data/uni-app-x-docs/.vuepress/utils/utsComJson.json +1 -1
  44. package/data/uni-app-x-docs/.vuepress/utils/utsUnicloudApiJson.json +1 -1
  45. package/data/uni-app-x-docs/.vuepress/utils/vueJson.json +1 -1
  46. package/data/uni-app-x-docs/_sidebar.md +2 -1
  47. package/data/uni-app-x-docs/api/_sidebar.md +3 -0
  48. package/data/uni-app-x-docs/api/convert2-abs-full-path.md +33 -0
  49. package/data/uni-app-x-docs/api/create-drama-ad.md +24 -15
  50. package/data/uni-app-x-docs/api/create-selector-query.md +2 -2
  51. package/data/uni-app-x-docs/api/create-worker.md +10 -11
  52. package/data/uni-app-x-docs/api/dialog-page.md +4 -0
  53. package/data/uni-app-x-docs/api/dom/README.md +1 -1
  54. package/data/uni-app-x-docs/api/dom/cssstyledeclaration.md +10 -55
  55. package/data/uni-app-x-docs/api/dom/unielement.md +2 -1
  56. package/data/uni-app-x-docs/api/dom/uniresizeobserver.md +4 -47
  57. package/data/uni-app-x-docs/api/event-bus.md +1 -1
  58. package/data/uni-app-x-docs/api/get-recorder-manager.md +5 -5
  59. package/data/uni-app-x-docs/api/install-wgt.md +10 -11
  60. package/data/uni-app-x-docs/api/screen-brightness.md +6 -0
  61. package/data/uni-app-x-docs/api/theme-change.md +1 -1
  62. package/data/uni-app-x-docs/api/unicloud/README.md +41 -0
  63. package/data/uni-app-x-docs/api/unicloud/function.md +1 -1
  64. package/data/uni-app-x-docs/api/unicloud/object.md +1 -1
  65. package/data/uni-app-x-docs/api/uniresizeobserver.md +50 -0
  66. package/data/uni-app-x-docs/app-vapor.md +9 -2
  67. package/data/uni-app-x-docs/collocation/app.md +2 -2
  68. package/data/uni-app-x-docs/collocation/manifest-android.md +15 -1
  69. package/data/uni-app-x-docs/compiler/README.md +1 -1
  70. package/data/uni-app-x-docs/component/_sidebar.md +4 -1
  71. package/data/uni-app-x-docs/component/ad-drama.md +8 -13
  72. package/data/uni-app-x-docs/component/button.md +1 -1
  73. package/data/uni-app-x-docs/component/icon.md +2 -0
  74. package/data/uni-app-x-docs/component/image.md +4 -2
  75. package/data/uni-app-x-docs/component/swiper.md +5 -1
  76. package/data/uni-app-x-docs/component/text.md +6 -6
  77. package/data/uni-app-x-docs/component/uni-ui-x/uni-collapse.md +1 -1
  78. package/data/uni-app-x-docs/component/uni-ui-x/uni-combox.md +4 -0
  79. package/data/uni-app-x-docs/component/uni-ui-x/uni-icons.md +25 -0
  80. package/data/uni-app-x-docs/component/uni-ui-x/uni-link.md +1 -1
  81. package/data/uni-app-x-docs/component/uni-ui-x/uni-nav-bar.md +1 -1
  82. package/data/uni-app-x-docs/component/uni-ui-x/uni-number-box.md +1 -1
  83. package/data/uni-app-x-docs/component/uni-ui-x/uni-rate.md +1 -1
  84. package/data/uni-app-x-docs/component/video.md +2 -2
  85. package/data/uni-app-x-docs/component/view.md +2 -1
  86. package/data/uni-app-x-docs/css/common/at-rules.md +8 -2
  87. package/data/uni-app-x-docs/css/common/selector.md +3 -3
  88. package/data/uni-app-x-docs/css/common/style-isolation.md +3 -3
  89. package/data/uni-app-x-docs/css/visibility.md +8 -3
  90. package/data/uni-app-x-docs/i18n.md +30 -30
  91. package/data/uni-app-x-docs/mp/README.md +21 -0
  92. package/data/uni-app-x-docs/mp/native-component-and-wxs.md +1 -1
  93. package/data/uni-app-x-docs/native/download/android.md +18 -63
  94. package/data/uni-app-x-docs/native/download/ios.md +5 -5
  95. package/data/uni-app-x-docs/native/use/android.md +4 -2
  96. package/data/uni-app-x-docs/native/use/androidcomm.md +154 -40
  97. package/data/uni-app-x-docs/readme.md +51 -28
  98. package/data/uni-app-x-docs/sample.md +57 -14
  99. package/data/uni-app-x-docs/select/crossplatform-on-ai.md +475 -0
  100. package/data/uni-app-x-docs/select/native-render-and-self-render.md +4 -4
  101. package/data/uni-app-x-docs/tutorial/compliance.md +6 -6
  102. package/data/uni-app-x-docs/tutorial/debug/devtools.md +16 -6
  103. package/data/uni-app-x-docs/tutorial/store.md +1 -1
  104. package/data/uni-app-x-docs/uniapptox.md +49 -18
  105. package/data/uni-app-x-docs/uniappvsuniappx.md +160 -38
  106. package/data/uni-app-x-docs/uts/buildin-object-api/array.md +0 -296
  107. package/data/uni-app-x-docs/uts/uts2js.md +1 -1
  108. package/data/uni-app-x-docs/vue/README.md +20 -12
  109. package/data/uni-app-x-docs/vue/built-in.md +64 -37
  110. package/data/uni-app-x-docs/vue/component.md +3 -1
  111. package/data/uni-app-x-docs/vue/composition-api.md +1 -1
  112. package/data/uni-app-x-docs/web/ssr.md +22 -86
  113. package/data/uniappx/_sidebar.md +2 -1
  114. package/data/uniappx/api/_sidebar.md +3 -0
  115. package/data/uniappx/api/accelerometer.md +96 -96
  116. package/data/uniappx/api/action-sheet.md +4 -4
  117. package/data/uniappx/api/app-route.md +20 -0
  118. package/data/uniappx/api/authentication.md +6 -6
  119. package/data/uniappx/api/base64.md +4 -4
  120. package/data/uniappx/api/choose-file.md +2 -2
  121. package/data/uniappx/api/choose-image.md +2 -2
  122. package/data/uniappx/api/choose-location.md +2 -2
  123. package/data/uniappx/api/choose-media.md +2 -2
  124. package/data/uniappx/api/choose-video.md +2 -2
  125. package/data/uniappx/api/clipboard.md +4 -4
  126. package/data/uniappx/api/compass.md +94 -94
  127. package/data/uniappx/api/connect-event-source.md +2 -2
  128. package/data/uniappx/api/contact.md +62 -62
  129. package/data/uniappx/api/convert2-abs-full-path.md +57 -0
  130. package/data/uniappx/api/create-camera-context.md +2 -2
  131. package/data/uniappx/api/create-canvas-context-async.md +2 -2
  132. package/data/uniappx/api/create-drama-ad.md +533 -343
  133. package/data/uniappx/api/create-editor-context-async.md +2 -2
  134. package/data/uniappx/api/create-inner-audio-context.md +4 -4
  135. package/data/uniappx/api/create-request-permission-listener.md +2 -2
  136. package/data/uniappx/api/create-selector-query.md +2 -2
  137. package/data/uniappx/api/create-video-context.md +2 -2
  138. package/data/uniappx/api/create-webview-context.md +4 -4
  139. package/data/uniappx/api/create-worker.md +11 -11
  140. package/data/uniappx/api/dialog-page.md +8 -4
  141. package/data/uniappx/api/dom/cssstyledeclaration.md +1 -46
  142. package/data/uniappx/api/dom/unielement.md +2 -1
  143. package/data/uniappx/api/dom/uniresizeobserver.md +2 -19
  144. package/data/uniappx/api/download-file.md +2 -2
  145. package/data/uniappx/api/event-bus.md +9 -9
  146. package/data/uniappx/api/exit.md +2 -2
  147. package/data/uniappx/api/get-accessibility-info.md +2 -2
  148. package/data/uniappx/api/get-app-authorize-setting.md +2 -2
  149. package/data/uniappx/api/get-app-base-info.md +3 -2
  150. package/data/uniappx/api/get-background-audio-manager.md +2 -2
  151. package/data/uniappx/api/get-device-info.md +2 -2
  152. package/data/uniappx/api/get-element-by-id.md +2 -2
  153. package/data/uniappx/api/get-file-system-manager.md +4 -4
  154. package/data/uniappx/api/get-location.md +2 -2
  155. package/data/uniappx/api/get-network-type.md +2 -2
  156. package/data/uniappx/api/get-recorder-manager.md +28 -28
  157. package/data/uniappx/api/get-system-info.md +4 -4
  158. package/data/uniappx/api/get-system-setting.md +2 -2
  159. package/data/uniappx/api/get-window-info.md +2 -2
  160. package/data/uniappx/api/gyroscope.md +68 -68
  161. package/data/uniappx/api/install-apk.md +2 -2
  162. package/data/uniappx/api/install-wgt.md +26 -53
  163. package/data/uniappx/api/is-simulator.md +2 -2
  164. package/data/uniappx/api/keyboard.md +6 -6
  165. package/data/uniappx/api/launch.md +4 -4
  166. package/data/uniappx/api/load-font-face.md +2 -2
  167. package/data/uniappx/api/loading.md +4 -4
  168. package/data/uniappx/api/make-phone-call.md +2 -2
  169. package/data/uniappx/api/memory.md +6 -6
  170. package/data/uniappx/api/modal.md +4 -4
  171. package/data/uniappx/api/navigator-bar-loading.md +4 -4
  172. package/data/uniappx/api/network-status-change.md +4 -4
  173. package/data/uniappx/api/on-tab-bar-mid-button-tap.md +2 -2
  174. package/data/uniappx/api/open-app-authorize-setting.md +2 -2
  175. package/data/uniappx/api/open-document.md +2 -2
  176. package/data/uniappx/api/page-scroll-to.md +2 -2
  177. package/data/uniappx/api/privacy.md +8 -8
  178. package/data/uniappx/api/provider.md +4 -4
  179. package/data/uniappx/api/pull-down-refresh.md +4 -4
  180. package/data/uniappx/api/report.md +1 -1
  181. package/data/uniappx/api/request-merchant-transfer.md +2 -2
  182. package/data/uniappx/api/request-payment.md +2 -2
  183. package/data/uniappx/api/request-system-permission.md +4 -0
  184. package/data/uniappx/api/request.md +2 -2
  185. package/data/uniappx/api/rpx2px.md +2 -2
  186. package/data/uniappx/api/save-image-to-photos-album.md +2 -2
  187. package/data/uniappx/api/scan-code.md +2 -2
  188. package/data/uniappx/api/screen-brightness.md +49 -43
  189. package/data/uniappx/api/set-navigation-bar-color.md +2 -2
  190. package/data/uniappx/api/set-navigation-bar-title.md +2 -2
  191. package/data/uniappx/api/set-tab-bar.md +16 -16
  192. package/data/uniappx/api/share-with-system.md +2 -2
  193. package/data/uniappx/api/share.md +2 -2
  194. package/data/uniappx/api/storage.md +20 -20
  195. package/data/uniappx/api/theme-change.md +18 -18
  196. package/data/uniappx/api/toast.md +20 -13
  197. package/data/uniappx/api/uasm.md +8 -0
  198. package/data/uniappx/api/unicloud/README.md +151 -3
  199. package/data/uniappx/api/unicloud/database.md +6 -6
  200. package/data/uniappx/api/unicloud/function.md +5 -5
  201. package/data/uniappx/api/unicloud/object.md +5 -5
  202. package/data/uniappx/api/unicloud/storage.md +9 -9
  203. package/data/uniappx/api/unicloud/utils.md +18 -18
  204. package/data/uniappx/api/uniresizeobserver.md +108 -0
  205. package/data/uniappx/api/upload-file.md +2 -2
  206. package/data/uniappx/api/vibrate.md +30 -30
  207. package/data/uniappx/api/virtual-payment.md +2 -2
  208. package/data/uniappx/api/websocket.md +14 -14
  209. package/data/uniappx/app-vapor.md +9 -2
  210. package/data/uniappx/collocation/manifest-android.md +15 -1
  211. package/data/uniappx/collocation/manifest.md +1 -0
  212. package/data/uniappx/component/_sidebar.md +4 -1
  213. package/data/uniappx/component/ad-drama.md +18 -50
  214. package/data/uniappx/component/animation-view.md +2 -2
  215. package/data/uniappx/component/button.md +5 -1
  216. package/data/uniappx/component/camera.md +2 -2
  217. package/data/uniappx/component/canvas.md +3 -3
  218. package/data/uniappx/component/checkbox-group.md +4 -0
  219. package/data/uniappx/component/checkbox.md +5 -1
  220. package/data/uniappx/component/common.md +2 -2
  221. package/data/uniappx/component/editor.md +4 -0
  222. package/data/uniappx/component/form.md +2 -2
  223. package/data/uniappx/component/icon.md +2 -0
  224. package/data/uniappx/component/image.md +7 -2
  225. package/data/uniappx/component/input.md +2 -2
  226. package/data/uniappx/component/label.md +4 -0
  227. package/data/uniappx/component/list-view.md +6 -4
  228. package/data/uniappx/component/loading.md +4 -4
  229. package/data/uniappx/component/match-media.md +2 -2
  230. package/data/uniappx/component/movable-view.md +2 -2
  231. package/data/uniappx/component/navigation-bar.md +17 -17
  232. package/data/uniappx/component/navigator.md +12 -12
  233. package/data/uniappx/component/page-container.md +4 -0
  234. package/data/uniappx/component/picker-view.md +8 -0
  235. package/data/uniappx/component/picker.md +16 -16
  236. package/data/uniappx/component/progress.md +2 -2
  237. package/data/uniappx/component/radio-group.md +4 -0
  238. package/data/uniappx/component/radio.md +4 -0
  239. package/data/uniappx/component/rich-text.md +2 -2
  240. package/data/uniappx/component/scroll-view.md +5 -5
  241. package/data/uniappx/component/slider.md +23 -17
  242. package/data/uniappx/component/sticky-header.md +4 -0
  243. package/data/uniappx/component/sticky-section.md +4 -0
  244. package/data/uniappx/component/swiper.md +6 -2
  245. package/data/uniappx/component/switch.md +4 -0
  246. package/data/uniappx/component/text.md +8 -8
  247. package/data/uniappx/component/textarea.md +2 -2
  248. package/data/uniappx/component/uni-ui-x/README.md +3 -2
  249. package/data/uniappx/component/uni-ui-x/uni-badge-view.md +4 -0
  250. package/data/uniappx/component/uni-ui-x/uni-collapse.md +1 -1
  251. package/data/uniappx/component/uni-ui-x/uni-combox.md +39 -15
  252. package/data/uniappx/component/uni-ui-x/uni-icons.md +376 -0
  253. package/data/uniappx/component/uni-ui-x/uni-link.md +1 -1
  254. package/data/uniappx/component/uni-ui-x/uni-nav-bar.md +1 -1
  255. package/data/uniappx/component/uni-ui-x/uni-number-box.md +1 -1
  256. package/data/uniappx/component/uni-ui-x/uni-rate.md +5 -1
  257. package/data/uniappx/component/uni-ui-x/uni-tab.md +4 -0
  258. package/data/uniappx/component/unicloud-db.md +5 -5
  259. package/data/uniappx/component/video.md +3 -3
  260. package/data/uniappx/component/view.md +2 -0
  261. package/data/uniappx/component/waterflow.md +8 -2
  262. package/data/uniappx/component/web-view.md +2 -2
  263. package/data/uniappx/css/common/at-rules.md +13 -7
  264. package/data/uniappx/css/common/color.md +9 -9
  265. package/data/uniappx/css/common/function.md +2 -0
  266. package/data/uniappx/css/common/length.md +89 -89
  267. package/data/uniappx/css/common/selector.md +3 -3
  268. package/data/uniappx/css/visibility.md +8 -3
  269. package/data/uniappx/i18n.md +29 -29
  270. package/data/uniappx/mp/README.md +21 -0
  271. package/data/uniappx/native/download/android.md +14 -60
  272. package/data/uniappx/native/download/ios.md +5 -5
  273. package/data/uniappx/native/use/android.md +4 -2
  274. package/data/uniappx/native/use/androidcomm.md +130 -4
  275. package/data/uniappx/readme.md +51 -28
  276. package/data/uniappx/sample.md +57 -14
  277. package/data/uniappx/select/crossplatform-on-ai.md +470 -0
  278. package/data/uniappx/select/native-render-and-self-render.md +4 -4
  279. package/data/uniappx/tutorial/compliance.md +1 -1
  280. package/data/uniappx/tutorial/debug/devtools.md +16 -6
  281. package/data/uniappx/uniapptox.md +49 -18
  282. package/data/uniappx/uniappvsuniappx.md +157 -38
  283. package/data/uniappx/uts/buildin-object-api/array.md +0 -371
  284. package/data/uniappx/uts/uts2js.md +1 -1
  285. package/data/uniappx/vue/README.md +7 -2
  286. package/data/uniappx/vue/built-in.md +20 -6
  287. package/data/uniappx/vue/component.md +2 -0
  288. package/data/uniappx/vue/modifier.md +6 -6
  289. package/data/uniappx/web/ssr.md +17 -58
  290. package/data/uniappx-doc-index.json +99 -687
  291. package/dist/main.mjs +113 -87
  292. package/package.json +2 -2
  293. package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254 xMarkdown.md" +0 -211
  294. package/data/uni-app-x-docs/alert.md +0 -79
  295. package/data/uni-app-x-docs/avatar-group.md +0 -73
  296. package/data/uni-app-x-docs/badge.md +0 -62
  297. package/data/uni-app-x-docs/between-time.md +0 -76
  298. package/data/uni-app-x-docs/button.md +0 -114
  299. package/data/uni-app-x-docs/calendar-multiple.md +0 -90
  300. package/data/uni-app-x-docs/cell.md +0 -91
  301. package/data/uni-app-x-docs/checkbox-group.md +0 -62
  302. package/data/uni-app-x-docs/checkbox.md +0 -74
  303. package/data/uni-app-x-docs/circle-progress.md +0 -74
  304. package/data/uni-app-x-docs/code-input.md +0 -77
  305. package/data/uni-app-x-docs/col.md +0 -57
  306. package/data/uni-app-x-docs/collapse-item.md +0 -76
  307. package/data/uni-app-x-docs/collapse.md +0 -59
  308. package/data/uni-app-x-docs/countdown.md +0 -79
  309. package/data/uni-app-x-docs/date-view.md +0 -65
  310. package/data/uni-app-x-docs/drawer.md +0 -94
  311. package/data/uni-app-x-docs/dropdown-item.md +0 -68
  312. package/data/uni-app-x-docs/dropdown-menu.md +0 -70
  313. package/data/uni-app-x-docs/echart.md +0 -69
  314. package/data/uni-app-x-docs/float-drawer.md +0 -79
  315. package/data/uni-app-x-docs/form-item.md +0 -67
  316. package/data/uni-app-x-docs/form.md +0 -68
  317. package/data/uni-app-x-docs/html.md +0 -70
  318. package/data/uni-app-x-docs/icon.md +0 -67
  319. package/data/uni-app-x-docs/image.md +0 -74
  320. package/data/uni-app-x-docs/input.md +0 -126
  321. package/data/uni-app-x-docs/modal.md +0 -92
  322. package/data/uni-app-x-docs/money.md +0 -70
  323. package/data/uni-app-x-docs/more.md +0 -69
  324. package/data/uni-app-x-docs/navbar.md +0 -82
  325. package/data/uni-app-x-docs/picker-date.md +0 -75
  326. package/data/uni-app-x-docs/picker-selected.md +0 -75
  327. package/data/uni-app-x-docs/picker-time.md +0 -77
  328. package/data/uni-app-x-docs/picker-view.md +0 -70
  329. package/data/uni-app-x-docs/picker.md +0 -76
  330. package/data/uni-app-x-docs/popover.md +0 -68
  331. package/data/uni-app-x-docs/progress.md +0 -72
  332. package/data/uni-app-x-docs/pull-refresh.md +0 -73
  333. package/data/uni-app-x-docs/radio-group.md +0 -61
  334. package/data/uni-app-x-docs/radio.md +0 -74
  335. package/data/uni-app-x-docs/rate.md +0 -72
  336. package/data/uni-app-x-docs/row.md +0 -61
  337. package/data/uni-app-x-docs/sheet.md +0 -72
  338. package/data/uni-app-x-docs/sign-board.md +0 -61
  339. package/data/uni-app-x-docs/skeleton.md +0 -60
  340. package/data/uni-app-x-docs/sku.md +0 -69
  341. package/data/uni-app-x-docs/slider-double.md +0 -71
  342. package/data/uni-app-x-docs/slider-menu.md +0 -78
  343. package/data/uni-app-x-docs/slider.md +0 -71
  344. package/data/uni-app-x-docs/stepper.md +0 -76
  345. package/data/uni-app-x-docs/steps-item.md +0 -71
  346. package/data/uni-app-x-docs/steps.md +0 -73
  347. package/data/uni-app-x-docs/sticky-header.md +0 -57
  348. package/data/uni-app-x-docs/sticky.md +0 -55
  349. package/data/uni-app-x-docs/switch-slider.md +0 -82
  350. package/data/uni-app-x-docs/switch.md +0 -68
  351. package/data/uni-app-x-docs/tabbar.md +0 -83
  352. package/data/uni-app-x-docs/tabs.md +0 -84
  353. package/data/uni-app-x-docs/tag.md +0 -78
  354. package/data/uni-app-x-docs/text.md +0 -69
  355. package/data/uni-app-x-docs/upload-photo.md +0 -86
  356. package/data/uni-app-x-docs/upload-video.md +0 -86
  357. package/data/uni-app-x-docs//346/250/241/346/235/277.md +0 -47
  358. package/data/uniappx/alert.md +0 -61
  359. package/data/uniappx/avatar-group.md +0 -55
  360. package/data/uniappx/badge.md +0 -44
  361. package/data/uniappx/between-time.md +0 -58
  362. package/data/uniappx/button.md +0 -96
  363. package/data/uniappx/calendar-multiple.md +0 -72
  364. package/data/uniappx/cell.md +0 -73
  365. package/data/uniappx/checkbox-group.md +0 -44
  366. package/data/uniappx/checkbox.md +0 -56
  367. package/data/uniappx/circle-progress.md +0 -56
  368. package/data/uniappx/code-input.md +0 -59
  369. package/data/uniappx/col.md +0 -39
  370. package/data/uniappx/collapse-item.md +0 -58
  371. package/data/uniappx/collapse.md +0 -41
  372. package/data/uniappx/countdown.md +0 -61
  373. package/data/uniappx/date-view.md +0 -47
  374. package/data/uniappx/drawer.md +0 -76
  375. package/data/uniappx/dropdown-item.md +0 -50
  376. package/data/uniappx/dropdown-menu.md +0 -52
  377. package/data/uniappx/echart.md +0 -51
  378. package/data/uniappx/float-drawer.md +0 -61
  379. package/data/uniappx/form-item.md +0 -49
  380. package/data/uniappx/form.md +0 -50
  381. package/data/uniappx/html.md +0 -52
  382. package/data/uniappx/icon.md +0 -49
  383. package/data/uniappx/image.md +0 -56
  384. package/data/uniappx/input.md +0 -108
  385. package/data/uniappx/modal.md +0 -74
  386. package/data/uniappx/money.md +0 -52
  387. package/data/uniappx/more.md +0 -51
  388. package/data/uniappx/navbar.md +0 -64
  389. package/data/uniappx/picker-date.md +0 -57
  390. package/data/uniappx/picker-selected.md +0 -57
  391. package/data/uniappx/picker-time.md +0 -59
  392. package/data/uniappx/picker-view.md +0 -52
  393. package/data/uniappx/picker.md +0 -58
  394. package/data/uniappx/popover.md +0 -50
  395. package/data/uniappx/progress.md +0 -54
  396. package/data/uniappx/pull-refresh.md +0 -55
  397. package/data/uniappx/radio-group.md +0 -43
  398. package/data/uniappx/radio.md +0 -56
  399. package/data/uniappx/rate.md +0 -54
  400. package/data/uniappx/row.md +0 -43
  401. package/data/uniappx/sheet.md +0 -54
  402. package/data/uniappx/sign-board.md +0 -43
  403. package/data/uniappx/skeleton.md +0 -42
  404. package/data/uniappx/sku.md +0 -51
  405. package/data/uniappx/slider-double.md +0 -53
  406. package/data/uniappx/slider-menu.md +0 -60
  407. package/data/uniappx/slider.md +0 -53
  408. package/data/uniappx/stepper.md +0 -58
  409. package/data/uniappx/steps-item.md +0 -53
  410. package/data/uniappx/steps.md +0 -55
  411. package/data/uniappx/sticky-header.md +0 -39
  412. package/data/uniappx/sticky.md +0 -37
  413. package/data/uniappx/switch-slider.md +0 -64
  414. package/data/uniappx/switch.md +0 -50
  415. package/data/uniappx/tabbar.md +0 -65
  416. package/data/uniappx/tabs.md +0 -66
  417. package/data/uniappx/tag.md +0 -60
  418. package/data/uniappx/text.md +0 -51
  419. package/data/uniappx/upload-photo.md +0 -68
  420. package/data/uniappx/upload-video.md +0 -68
  421. package/data/uniappx//346/250/241/346/235/277.md +0 -34
@@ -43,9 +43,28 @@ uni-app迁移到uni-app x,是一个大型工程。
43
43
 
44
44
  ### 5. 构造uni-app x项目
45
45
 
46
- 新建`uni-app x`项目,勾选`manifest.json`中的蒸汽模式。把老项目的页面、组件、uni_modules、静态资源复制过来。所有`vue`或`nvue`页面组件文件,批量重命名为`uvue`。`main.js`改名为`main.uts`(蒸汽模式下,`main.uts`里也支持`js/ts`写法)。可以保留之前的appid和包名。
46
+ 新建`uni-app x`项目,选择蒸汽模式。
47
+ 可以保留之前的appid和包名,在manifest.json源码视图里改成之前的appid。
47
48
 
48
- 之前如果有`nativeplugins`目录,就不用带来过了,uni-app x只支持uni_modules下的uts插件。原本的插件需要换新,或者临时mock掉。如果插件市场没有同款uts插件替代,可以让uni-agent重新封装一个uts原生插件,不懂原生也可以指挥ai完成(别选智商低的模型)。对于app.vue,不建议整体文件改名替换uni-app x的app.uvue。而是挑选部分代码复制过来。因为uni-app x 的app.uvue有2个变化:
49
+ manifest的结构,在uni-app x中与uni-app略有不同。需要把原来manifest的信息按新的规范填一遍。关于三方sdk的key信息,只要包名和签名不变,key可以复用。[详见](./collocation/manifest.md)
50
+
51
+ 如果使用云端证书打包,只要appid、账户不变,证书可以复用。
52
+
53
+ 把老项目的页面、组件、uni_modules、静态资源复制到新项目中。
54
+ 之前如果有`nativeplugins`目录,就不用带来过了,uni-app x只支持uni_modules下的uts插件。
55
+ 原本的插件需要换新,或者临时mock掉。
56
+ 如果插件市场没有同款uts插件替代,可以让uni-agent重新封装一个uts原生插件,不懂原生也可以指挥ai完成(别选智商低的模型)。
57
+
58
+ 所有`vue`或`nvue`页面组件文件,批量重命名为`uvue`。
59
+
60
+ 在HBuilder 5.31以前,推荐把独立的js/ts文件的后缀名改成uts(蒸汽模式页面引用的uts文件也是弱类型,可以写js/ts语法)。
61
+ 5.31起不需要改文件后缀了。
62
+
63
+ 老项目的pages.json可以直接挪过来使用。结构没有差别,只是uni-app x的pages.json中不再支持plus,多支持了一些新的页面style和tabbar的属性。[详见](./collocation/pagesjson.md)
64
+
65
+ 老项目的`main.js`和`app.vue`,挑选内容复制到新项目中对应的新文件中。
66
+
67
+ uni-app x 的app.uvue对比老 uni-app 有2个变化:
49
68
 
50
69
  #### 5.1 应用退出方式
51
70
 
@@ -60,7 +79,9 @@ uni-app迁移到uni-app x,是一个大型工程。
60
79
  如果你之前有web版和微信小程序,那么改造后首先运行到 `uni-app x` 的web和微信小程序上,看看是否正常。
61
80
 
62
81
  同时注意uni-app x的 [web开发注意](./web/README.md) 和 [小程序开发注意](./mp/README.md)
63
-
82
+
83
+ uni-app x 的 app.uvue 文档[详见](./collocation/app.md)
84
+
64
85
  ### 6. 再次适配css
65
86
 
66
87
  之前在uni-app中适配过一次css,但[css样式重置](./css/README.md#css-reset)、[样式隔离策略2.0](./css/common/style-isolation.md),这2个在uni-app下没有,还得在uni-app x环境中再次适配。
@@ -73,9 +94,10 @@ uni-app x在编译时,会在控制台提示不支持的css,可以让uni-agen
73
94
 
74
95
  ### 7. 适配UniApp对象重构
75
96
 
76
- HBuilderX 4.31+ 重构了应用对象,迁移时需要检查`getApp()`的相关代码:
77
-
78
- * `getApp()`改为返回[UniApp对象](./api/get-app.md),Vue实例通过`vm`属性提供。调用`App.uvue`中定义的全局方法时,需要把`getApp().methodName()`改为`getApp().vm?.methodName()`;`globalData`仍通过`getApp().globalData`访问。`UniApp`可在uts插件和uvue页面中使用,但`vm`和`globalData`仅支持在uvue页面中使用。
97
+ uni-app x 的 `getApp()` 改为返回[UniApp对象](./api/get-app.md)。
98
+ Vue实例需通过`vm`属性提供。
99
+ 调用`App.uvue`中定义的全局方法时,需要把`getApp().methodName()`改为`getApp().vm?.methodName()`(ts需要?,js去掉?)。
100
+ `globalData`仍通过`getApp().globalData`访问。
79
101
 
80
102
  如果要改造为App,继续往下。
81
103
 
@@ -87,29 +109,30 @@ uni-app x不支持plus。
87
109
  * 如果在pages.json里使用了plus,推荐改用 uni-ui x 的 [uni-nav-bar 自定义导航栏组件](./component/uni-ui-x/uni-nav-bar.md) 和 [uni-tab-bar自定义tabbar组件](./component/uni-ui-x/uni-tab.md) 来替代。
88
110
 
89
111
  另外如果项目使用了subNVue,需要改成[dialogPage](./api/dialog-page.md)
112
+
113
+ 页面中如果有 app-plus 的条件编译,建议改为 app 。uni-app x 中也支持独立的 app-android、app-ios、app-harmony 的条件编译。
90
114
 
91
- ### 9. 改造组件库
115
+ ### 9. 升级或改造前端库
92
116
 
93
- * 如果使用了uni ui,那么迁移指南在这篇文档的底部:[uni-ui x](./component/uni-ui-x/README.md)
117
+ * 如果使用了uni ui,那么迁移指南在这篇文档的底部:[uni-ui x](./component/uni-ui-x/README.md#uniuiupgrade)
94
118
  * 如果使用其他组件库,需要咨询组件作者是否有 uni-app x 版本。如果没有的话,推荐用[uni-ui x](./component/uni-ui-x/README.md)重构。
95
119
 
96
- uni-app x 相比 uni-app 多了不少内置组件,比如`list-view`复用长列表、`waterflow`瀑布流、`page-container`弹框、`sticky`吸顶、`match-media`宽屏适配、loading加载中、native-view对接原生view。对于内置组件已经满足需求的情况就没必要使用三方组件了。
120
+ uni-app x 相比 uni-app 多了不少内置组件,比如`list-view`复用长列表、`waterflow`瀑布流、`page-container`弹框、`sticky`吸顶、`match-media`宽屏适配、loading加载、native-view对接原生view。对于内置组件已经满足需求的情况就没必要使用三方组件了。
121
+
122
+ * 升级uni_modules,比如官方的uni-id-pages、uni-starter、uni-pay、升级中心等库,需要升级到支持蒸汽模式的最新版本。
97
123
 
98
124
  ### 10. 改造wxs和renderjs为Element API
99
125
 
100
- uni-app x的app平台不再支持wxs和renderjs。uni-app x的逻辑层和渲染层虽然还是2层,但并没有明显的通信成本。
126
+ uni-app x的app平台不再支持wxs和renderjs。
101
127
 
102
- uni-app x 提供了全端统一的UNIElement API,它在编译到微信小程序时会自动编译成wxs。写法跨端且高性能。[详见](./api/dom/README.md)
128
+ uni-app x 提供了全端统一的UNIElement API,它在编译到微信/支付宝小程序时会自动编译成wxs/ajs。写法跨端且高性能。[详见](./api/dom/README.md)
103
129
 
104
130
  包括moveable组件的使用,也推荐改成UNIElement的操作。
105
131
 
106
- ### 11. mock掉App原生插件(非uts原生插件)的输入输出,在iOS和鸿蒙上验证
132
+ ### 11. mock掉App原生插件(非uts原生插件)的输入输出
107
133
 
108
134
  如果你使用了老的App原生插件,先让uni-agent把App原生插件的输入输出mock掉,后续步骤再处理原生插件,先对前几步的工作进行验证。
109
135
 
110
- - iOS和鸿蒙,使用的是js驱动,arkts是js的强化版,可以运行标准的js。
111
- - Android的vdom模式是uts驱动,需要强类型。对于uni-app开发者而言,推荐改用没有强类型约束的蒸汽模式,并且性能比vdom更高。
112
-
113
136
  这一步要再处理一件事,检查组件库是否适配了[样式隔离策略2.0](./css/common/style-isolation.md)。uni-app x 的蒸汽模式,仅支持[样式隔离策略2.0](./css/common/style-isolation.md)。
114
137
 
115
138
  ### 12. 替换App原生插件和uts兼容模式组件
@@ -130,11 +153,18 @@ uni-agent让普通前端开发者具备了写原生插件的能力,官方的
130
153
 
131
154
  完成后继续在iOS和鸿蒙上验证。
132
155
 
133
- ### 13. 使用HBuilderX 5.23以上适配Android
156
+ 注意部分uts插件使用了uni-app的特性,导致没有适配uni-app x,这种情况需要插件作者升级适配。
134
157
 
135
- 直接打开 `uni-app x` 的蒸汽模式,该模式兼容js/ts写法。且性能比`uni-app x` Android版VDOM模式、比Android原生开发的性能都会好非常多。[详见](./app-vapor.md)
158
+ uni-app 的 Android平台整个应用只有一个activity,每个page是view。而uni-app x 的 Android 平台,每个页面都是一个activity。有的uts插件可能未区别这种差异。
136
159
 
137
- js驱动将避免开发者改造uts代码,并且兼容广泛的npm js生态。
160
+ ### 13. 处理uts/js/ts的差异
161
+
162
+ 在 HBuilder 5.31以前,蒸汽模式下uts/js/ts都是按uts2js编译。此时script中的lang不能设置,需要置空。同时外部文件后缀需要为uts。
163
+ 但此时的uts,不编译为强类型的kt、swift,可以在里面写普通的js/ts代码。
164
+
165
+ 从 5.31+ ,蒸汽模式下支持独立设置uts/js/ts。[详见](./vue/README.md#lang)。
166
+
167
+ 推荐uni-app的老应用升级时选择5.31+。
138
168
 
139
169
  ### 小结
140
170
 
@@ -143,6 +173,7 @@ js驱动将避免开发者改造uts代码,并且兼容广泛的npm js生态。
143
173
  这十几步的每一步都应该新起一个会话。有必要传给下一个会话的内容,让AI总结到md里,让下一个会话在有必要时读取这个md。
144
174
 
145
175
  **一个AI使用经验:**
176
+
146
177
  AI很擅长从0到60,这一步很快。但再往上,要不投入更多优秀人力review、要不投入更多和更高智商的AI算力做交叉验证和自动化测试。
147
178
 
148
179
  高智商的AI算力虽然贵,但在代码翻译这件事上,其实性价比是远超过投入优秀的人时的。
@@ -10,8 +10,6 @@ uni-app由于预加载webview,所以在常规业务中新页面加载速度也
10
10
 
11
11
  hello uni-app x 有400多个页面、众多SDK、100多M的体积,但没有splash,它就像系统应用一样在无splash的情况下迅速渲染首屏。
12
12
 
13
- 另外uni-app中实现高性能UI交互需要使用App专属的renderjs,uni-app x 不再需要,直接操作DOM元素,全平台均可高性能操作UI。
14
-
15
13
  除了极致的性能之外,uni-app x 还有哪些长处?下文对两者的差异进行全面汇总。
16
14
 
17
15
  在语法层面,uni-app x 蒸汽模式与 uni-app 高度相似:支持相同的 Vue 语法、相同的 JS/TS、相同的组件和 API 命名,仅 CSS 为 Web 的子集。
@@ -21,11 +19,57 @@ uni-app 毕竟是2018年设计的系统,而 uni-app x 吸取了前者的很多
21
19
  优秀的架构不像显性功能那样容易被直观感知,但当你遇到各种复杂问题时,它会展现出更优雅解决方案、合理的解耦、更小的副作用。
22
20
 
23
21
  ## UI系统
22
+
23
+ ### 支持高刷
24
+
25
+ iOS等系统限制了webview的滚动外的其他常见如动画,刷新率只能到60帧,无法在高刷屏上跑满120帧。
26
+
27
+ uni-app x 的原生渲染没有限制,并且也提供了申请高刷相关的配置和api。
28
+
29
+ ### 内置更多UI组件
30
+
31
+ 针对那些常用且对性能要求极高(或如液态玻璃般必须原生实现)的场景,uni-app x 蒸汽模式提供了业内顶级性能的组件实现:
32
+
33
+ uni-app x 蒸汽模式提供了业内顶级性能的组件实现。
34
+
35
+ - 液态玻璃组件 [glass-effect-view](./component/glass-effect-view.md)
36
+ - [list-view](./component/list-view.md):比原生recyclerView性能更高的长列表组件,还支持滚动锚定。[benchmark](./app-vapor.md#list)
37
+ - [waterflow](./component/waterflow.md)
38
+ - 嵌套滚动组件 [nested-scroll-header](./component/nested-scroll-header.md)、[nested-scroll-body](./component/nested-scroll-body.md)
39
+ - 吸顶组件 [sticky-header](./component/sticky-header.md)、[sticky-section](./component/sticky-section.md)
40
+ - [page-container](https://doc.dcloud.net.cn/uni-app-x/component/page-container.html):页内弹层
41
+ - [rich-text](./component/rich-text.md):原生模式的rich-text,富文本渲染速度远超webview。业内公开可用的方案中没有能达到同级别性能的方案 [benchmark](./app-vapor.md#rich-text)
42
+ - [loaing](./component/loading.md):高性能加载圈,同屏渲染数百个loading转圈也不卡UI。Android和iOS不占用主线程。
43
+ - [camera](./component/camera.md):摄像头组件,视频帧数据共享内存方式传给js,零拷贝高性能
44
+ - [animation-view](./component/animation-view.md) : uni-app的lottie组件仅支持nvue的Android和iOS。uni-app x全平台都支持。
45
+ - [native-view](./component/native-view.md):集成原生视图到uvue界面的重要纽带
46
+
47
+ iOS和鸿蒙,分别有液态玻璃和沉浸光感,这并非webview可以模拟的。uni-app x 蒸汽模式下均支持,包括pages.json中配置的tabbar,也支持液态玻璃和沉浸光感。
48
+
49
+ ### 原有组件的强化
50
+ - swiper 增加了 3D 轮播支持和自动高度
51
+ - canvas 的性能超过webview中的canvas
52
+ - image组件支持AVIF等先进格式
53
+ - scroll-view 支持Element API指定滚动位置,可跳过响应式数据更新直接快速操作滚动条位置
54
+ - scroll-view Android 可拖动滚动条,在较长内容中快速定位
55
+ - 页面和滚动容器统一了bounce和下拉刷新逻辑和样式。即页面本身就是一个scroll-view。而老uni-app中页面是原生view,scroll-view则是div,bounce和下拉刷新样式都不统一。
56
+ - Android 的页面和滚动容器bounce提供了拉伸和弹簧2种效果选项。下拉刷新和bounce统一了视觉逻辑,在拉伸和弹簧中,分别对应原生circle和下拉loading圈。
57
+ - input和textarea是原生输入控件,没有iOS webview上的输入附件;键盘上推时取消了性能不佳的resize,改为平顺的自动上推和手动控制;光标颜色可以自定义;新增hold-keyboard保持键盘不收起
58
+ - editor组件,支持插入链接和可整块删除的 @ 提及
59
+ - map组件,新增了更多细节功能
60
+
61
+ ### 用全平台统一的Element API替代wxs/sjs/renderjs
62
+
63
+ uni-app 中,高性能UI操作离不开 wxs/sjs/renderjs。\
64
+ 但这些代码不跨端,难用,AI也不熟悉。\
65
+ uni-app x 支持跨平台 Element API来统一替代 wxs/sjs/renderjs。\
66
+ 统一对Element的style设置css属性,全平台都支持,在小程序上会编译为wxs/sjs的高性能代码。
67
+
24
68
  ### UI的全自定义能力
25
69
 
26
70
  uni-app 的 UI 不具备全面定制能力,许多UI定制需求开发者难以实现。
27
71
 
28
- 1. 小程序的组件规范缺少足够的自定义性
72
+ 1. 小程序的组件规范缺少足够的自定义性。uni-app x全面开放
29
73
 
30
74
  例如swiper的指示器,小程序的规范中仅能通过3个属性来定义:是否显示、指示点的颜色、以及高亮指示点的颜色。
31
75
  但在实际业务中,指示器的形态丰富多样,有时需要横线,有时需要显示数字。
@@ -34,15 +78,25 @@ uni-app 中,开发者只能隐藏默认指示器并自行绘制(即 uni ui
34
78
 
35
79
  uni-app x 中,swiper组件提供了`indicator-class`、`indicator-active-class`和指示器插槽,可以完全自定义所有指示器ui。
36
80
 
37
- 类似的情况还有很多,slider、switch等很多组件,小程序规范只能提供有限属性定义样式,但 uni-app x 中提供了各种externalClass,支持所有样式的自定义。
81
+ 类似的情况还有很多,见下表,小程序规范只能提供有限属性定义样式,但 uni-app x 中支持所有样式的自定义。
82
+
83
+ | 组件 | 新增可定制部分 |
84
+ | --- | --- |
85
+ | [swiper](https://doc.dcloud.net.cn/uni-app-x/component/swiper.html) | 指示器大小、形状、间距,以及自定义指示器内容 |
86
+ | [slider](https://doc.dcloud.net.cn/uni-app-x/component/slider.html) | 背景轨道、已选轨道和滑块 |
87
+ | [switch](https://doc.dcloud.net.cn/uni-app-x/component/switch.html) | 滑块及选中状态 |
88
+ | [radio](https://doc.dcloud.net.cn/uni-app-x/component/radio.html)、[checkbox](https://doc.dcloud.net.cn/uni-app-x/component/checkbox.html) | 图标、未选中和选中状态 |
89
+ | [button](https://doc.dcloud.net.cn/uni-app-x/component/button.html) | 加载图标、加载文字和部分平台的加载形态 |
90
+ | [picker-view](https://doc.dcloud.net.cn/uni-app-x/component/picker-view.html) | App 蒸汽模式通过 class 定制滚动选择器的遮罩 |
38
91
 
39
92
  此外,小程序规范中,暗黑时很多组件样式是写死的。但在uni-app x下,都可以完全自定义。
40
93
 
41
- 2. 原生UI无法自定义
94
+ 2. 原生UI的全面自定义性
42
95
 
43
96
  uni-app中,出于性能考虑,很多UI界面是各平台原生语言实现的,比如showModal、showActionSheet、showLoading、扫码、一键登录、previewImage、chooseLocation、openLocation、video组件的操作视图...
44
97
 
45
98
  这些原生UI无法方便的自定义,只能提供有限的属性,例如一键登陆提供了一批json定义方式。
99
+
46
100
  这些UI界面的国际化、暗黑适配也不统一。
47
101
  由于不同平台代码不同,这些UI的细节也不同。
48
102
 
@@ -72,36 +126,18 @@ uni-app x 蒸汽模式支持的"样式隔离系统2.0",从根本上彻底的
72
126
 
73
127
  "样式隔离系统2.0",是跨端生态里非常重要的基建,它深刻影响整个组件生态,是孕育优秀组件库的坚实地基。
74
128
 
75
- ### 内置更多UI组件
76
-
77
- 针对那些常用且对性能要求极高(或如液态玻璃般必须原生实现)的场景,uni-app x 蒸汽模式提供了业内顶级性能的组件实现:
78
-
79
- uni-app x 蒸汽模式提供了业内顶级性能的组件实现。
80
-
81
- - 液态玻璃组件 [glass-effect-view](./component/glass-effect-view.md)
82
- - [list-view](./component/list-view.md):比原生recyclerView性能更高的长列表组件。[benchmark](./app-vapor.md#list)
83
- - [waterflow](./component/waterflow.md)
84
- - 嵌套滚动组件 [nested-scroll-header](./component/nested-scroll-header.md)、[nested-scroll-body](./component/nested-scroll-body.md)
85
- - 吸顶组件 [sticky-header](./component/sticky-header.md)、[sticky-section](./component/sticky-section.md)
86
- - [page-container](https://doc.dcloud.net.cn/uni-app-x/component/page-container.html)
87
- - [rich-text](./component/rich-text.md):原生模式的rich-text,提供了业内顶尖的富文本渲染性能。[benchmark](./app-vapor.md#rich-text)
88
- - [camera](./component/camera.md)
89
- - [animation-view](./component/animation-view.md) : uni-app的lottie组件仅支持nvue的Android和iOS。uni-app x全平台都支持。
90
- - [native-view](./component/native-view.md):集成原生视图到uvue界面的重要纽带
91
-
92
- ### 用全平台统一的Element API替代wxs/sjs/renderjs
93
-
94
- uni-app 中,高性能UI操作离不开 wxs/sjs/renderjs。\
95
- 但这些代码不跨端,难用,AI也不熟悉。\
96
- uni-app x 支持跨平台 Element API来统一替代 wxs/sjs/renderjs。\
97
- 统一对Element的style设置css属性,全平台都支持,在小程序上会编译为wxs/sjs的高性能代码。
98
-
99
129
  ### 布尔属性规范化
100
130
 
101
131
  小程序的规范中,很多布尔属性的默认值为true,这产生很多歧义,不写这个属性、简写属性名但不赋值、值为空字符串...各种情况下到底是什么含义很混乱。\
102
132
  W3C有专门的布尔属性规范,[详见](https://developer.mozilla.org/zh-CN/docs/Glossary/Boolean/HTML)。\
103
133
  uni-app x 蒸汽模式的组件规范,统一规范化了这个行为。所有布尔属性默认值都是false,各种边界均符合W3C布尔属性规范定义。
104
134
 
135
+ ### 原生组件的开放获取
136
+
137
+ uni-app x的原生组件,可以通过Element的getAndroidView、getIOSView、getHarmonyController方法来获取到其原生原本的view。进而二次操作。
138
+
139
+ 比如web-view、scroll-view、map、video等组件,uni-app x的内置组件封装了常见功能,OS还有一些能力未封装,开发者可以在uts插件中获取到这些组件对应的原生view,自行操作和扩展所有原生能力。
140
+
105
141
  ### uni-ui x的高性能和完全自定义
106
142
 
107
143
  uni-app对应的uni ui,存在封装和抽象不合理的问题,组件属性封了太多,影响了性能、拉长了文档,也仍然无法满足开发者的所有自定义需求。
@@ -114,31 +150,73 @@ uni-ui x 的逻辑抽象和设计代表了业内最先进的水平。它借鉴
114
150
 
115
151
  uni-app 诞生于隐私和权限管控并不严格的时代。很多相关功能没有内置,需要依赖插件实现。
116
152
 
117
- uni-app x 内置了众多权限相关的API:[uni.getAppAuthorizeSetting](./api/get-app-authorize-setting.md)、[uni.openAppAuthorizeSetting](./api/open-app-authorize-setting.md)、[uni.getSystemSetting](./api/get-system-setting.md)、[uni.createRequestPermissionListener](./api/create-request-permission-listener.md)、[uni.requestSystemPermission](./api/request-system-permission.md)
153
+ uni-app x 内置了众多权限相关的API:
154
+ - [uni.getAppAuthorizeSetting](./api/get-app-authorize-setting.md)
155
+ - [uni.openAppAuthorizeSetting](./api/open-app-authorize-setting.md)
156
+ - [uni.getSystemSetting](./api/get-system-setting.md)
157
+ - [uni.createRequestPermissionListener](./api/create-request-permission-listener.md)
158
+ - [uni.requestSystemPermission](./api/request-system-permission.md)
118
159
 
119
160
  uni-app的隐私政策弹窗,是原生提供的一个无法完全自定义的弹窗。\
120
161
  而在 uni-app x 中,不再依赖这种受限的原生弹框,开发者完全可以在前端使用 uvue 自主绘制任意隐私政策弹窗界面。
121
162
 
122
- 同时uni-app x新增了多项隐私政策的相关API、组件和配置:uni.getPrivacySetting、uni.resetPrivacyAuthorization、uni.onPrivacyAuthorizationChange、uni.offPrivacyAuthorizationChange,同时button组件中提供了属性open-type="agreePrivacyAuthorization",manifest.json中app节点下提供了initPrivacyAuthorization。[详见](./api/privacy.md)
163
+ 同时uni-app x新增了多项隐私政策的相关API、组件和配置:
164
+ - uni.getPrivacySetting
165
+ - uni.resetPrivacyAuthorization
166
+ - uni.onPrivacyAuthorizationChange
167
+ - uni.offPrivacyAuthorizationChange
168
+ - button组件中提供了属性open-type="agreePrivacyAuthorization"
169
+ - manifest.json中app节点下提供了initPrivacyAuthorization。[详见](./api/privacy.md)
123
170
 
124
171
  uni-app x 的内置组件和API,都遵循统一的隐私管理规范,避免隐私政策同意前发生违规的数据访问。
125
172
 
173
+ uni-app x 让插件和应用共享隐私授权状态,插件也可以查询授权状态、监听授权状态变化。
174
+
126
175
  uni-app中集成的一些三方SDK版本较老,这些SDK的新版已符合监管规范。仅在uni-app x中使用的是新版SDK。
127
176
 
128
- 应用商店的隐私管理经常升级,uni-app的做法是发现开发者报哪个SDK有问题,才升级哪个。而uni-app x从源头就没有这类问题。
177
+ uni-app 中还留有 plus.device.imei 等新版Android无法再使用的API,呼叫电话、读写通讯录等API使用的也是现在已经难以获得权限的老方式。
178
+ 在uni-app x 中,读写联系人、呼叫电话、选择相册,这些API的实现内部都使用了新的权限管理策略,不再要求高敏感权限。
129
179
 
130
- uni-app 中还留有 plus.device.imei 等新版Android无法再使用的API,呼叫电话、读写通讯录等API使用的也是现在已经难以获得权限的老方式。在uni-app x 中,读写联系人、呼叫电话、选择相册,这些API的实现内部都使用了新的权限管理策略,不再要求高敏感权限。
180
+ uni-app 中有启动打点,uni-app x 蒸汽模式没有。uni-app x 蒸汽模式的隐私协议与 uni-app 不同,仅在 uni-app x 引擎报错崩溃时才有数据采集,以便于DCloud改进产品,且这部分数据采集不涉及用户隐私。
131
181
 
132
182
  ## 内置API的新增和优化
133
183
 
134
- uni-app x 内置很多新API,例如[worker](./api/create-worker.md)、[getFileSystemManager](./api/get-file-system-manager.md)、[日历](./api/calendar.md)、[陀螺仪](./api/gyroscope.md)。
184
+ ### uni-app x 新增很多内置API
185
+
186
+ - [worker](./api/create-worker.md):多线程,提高性能的利器。
187
+ - [getFileSystemManager](./api/get-file-system-manager.md)
188
+ - [日历](./api/calendar.md)
189
+ - [陀螺仪](./api/gyroscope.md)
190
+
191
+ 新增了DOM概念,提供了大量Element的API,比如
192
+ - [截图takeSnapshot](./api/dom/unielement.md#takesnapshot)
193
+ - [requestFullscreen](./api/dom/unielement.md#requestFullscreen)
194
+ - [UniResizeObserver](./api/dom/uniresizeobserver.md)
135
195
 
136
- 尤其是worker多线程,是提高性能的利器。
196
+ 新增了UniApp应用对象、UniPage页面对象、requestAnimationFrame。
137
197
 
198
+ ### 老API也有诸多强化
199
+
200
+ - request
138
201
  uni-app 中使用AI流式返回,需要通过renderjs,在webview操作。
139
202
  uni-app x 的request API内置支持AI流式返回。
140
203
 
141
- ## 原生扩展多端一致性
204
+ uni-app x 提供了 HTTP/3 / QUIC 网络模块,支持更快的网络。
205
+
206
+ 访问在线图片、音频、字体,缓存统一在uni-cache沙盒目录。
207
+
208
+ - getDeviceInfo、getWindowInfo、getAppBaseInfo,提供了更多内容
209
+
210
+ - actionsheet、showModal新增了主动关闭API
211
+
212
+ - 扫码,从 ZXing 升级为 Google MLKit。不再需要引入三方插件。
213
+ 扫码页面是前端页面,开源可定制。
214
+
215
+ - 背景音频遵循OS系统规范,不会被后台节电杀掉,通知栏有控制条
216
+
217
+ ## 原生扩展优化
218
+
219
+ ### 多端一致性
142
220
 
143
221
  uni-app 的组件和API,涉及原生扩展时,各平台一致性较弱。
144
222
  - 比如uni.showModal在不同平台样式差异很大
@@ -146,6 +224,24 @@ uni-app 的组件和API,涉及原生扩展时,各平台一致性较弱。
146
224
 
147
225
  uni-app x 中通过interface.uts多平台统一约束了原生扩展API的实现,通过UI层的自举实现跨平台UI界面。
148
226
 
227
+ ### 原生组件扩展优化
228
+
229
+ uni-app中集成原生组件,有2个麻烦:
230
+ 1. 无法同层渲染
231
+ 2. 原生组件的属性、事件、方法定义逻辑不统一
232
+
233
+ uni-app x 自身是原生渲染,集成原生组件没有分层问题,可以自由设置层级和透明度,高性能同层合成。
234
+
235
+ uni-app x 提供了 [native-view](./component/native-view.md) 组件,把原生组件的开发,变成了vue组件的开发。通过标准的vue组件开发方式来开发原生组件,且保障了跨平台的组件定义一致性。原生对接逻辑简单,只需调用 native-view 组件的 bind 方法,绑定一个原生视图即可。其余逻辑,与开发API插件相同。
236
+
237
+ ### 支持arraybuffer共享内存
238
+
239
+ 原生和js前端可通过arraybuffer共享内存,在request、fileManager、camera等操作时,零拷贝数据,性能大幅提升
240
+
241
+ ### uts插件通道性能优化
242
+
243
+ 在原生数据和js交换时,支持通过codegen技术,免除序列化。大幅提升原生和js的通信性能,
244
+
149
245
  ## 错误码规范
150
246
 
151
247
  uni-app 的API实现较早,当时还没有uniError规范。导致不同平台错误码可能不同或错误码过于笼统不利于排错。
@@ -196,10 +292,14 @@ uni-app x 的内置UI,包括导航栏、tabbar、video全屏、各种弹窗,
196
292
 
197
293
  uni-app 和 uni-app x 都支持uts插件。尤其是API插件,可以同时在 uni-app 和 uni-app x 中使用。
198
294
 
199
- 不过uni-app的uts插件,在js和原生通信时采用的是序列化方案,跨语言通信性能欠佳。
295
+ - 通信性能
296
+
297
+ uni-app的uts插件,在js和原生通信时采用的是序列化方案,跨语言通信性能欠佳。
200
298
 
201
299
  uni-app x 基于codegen技术,免除序列化,通信性能更优秀。
202
300
 
301
+ - native-view原生组件扩展
302
+
203
303
  在原生组件集成方面,uni-app 和 uni-app x 差异很大。
204
304
 
205
305
  uni-app 只能在nvue页面里显示原生视图。\
@@ -210,12 +310,22 @@ uni-app x 内置native-view组件,可以绑定任意原生view,理解和使
210
310
 
211
311
  uni-app x 不支持已经被淘汰数年的App原生插件机制。插件市场在2024年已经不再受理新增的App原生插件了。
212
312
 
313
+ - 跨平台一致性约束
314
+
213
315
  uts插件本身的interface.uts和errcode.uts机制,让不同平台原生能力封装为统一的前端API,变的更加规范和便捷。\
214
316
  uni-app x 数百个内置组件和API都是基于uts插件实现的,这套原生扩展机制成熟、高效且高性能。
215
317
 
318
+ uts插件同时也兼容uni Error错误码规范。
319
+
320
+ - uasm插件
321
+
216
322
  uni-app x 新增了[uasm插件](https://doc.dcloud.net.cn/uni-app-x/plugin/uasm-plugin.html)(uni assembly),可以把高性能二进制库方便引入到前端开发中。\
217
323
  并且App平台支持[Node-API](https://doc.dcloud.net.cn/uni-app-x/plugin/uasm-node-api.html),可以把很多Node生态库引入到App中。
218
324
 
325
+ - provider扩展机制
326
+
327
+ 登录、支付、分享、定位、地图,很多组件和API可以选择多个供应商。uni-app x 有完善的provider机制,内置API也基于该机制开发,且该机制开放,外部插件作者也可以注册为内置组件和API的provider。[详见](https://doc.dcloud.net.cn/uni-app-x/api/provider.html)
328
+
219
329
  ## 热更新
220
330
 
221
331
  uni-app 和 uni-app x 蒸汽模式均支持wgt热更新。
@@ -234,6 +344,14 @@ uni-app 的离线sdk,仅限于离线打包。对于一个已经存在的原生
234
344
 
235
345
  uni-app x 的离线sdk,支持离线打包,也支持一个已经存在的原生应用方便的嵌入,实现渐进式使用 uni-app x。[详情](./native/README.md)
236
346
 
347
+ ## devtools
348
+
349
+ 蒸汽模式 DevTools 可以查看页面与组件树、计算样式、盒模型,以及网络和Storage管理面板。[详见](https://doc.dcloud.net.cn/uni-app-x/tutorial/debug/devtools.html)
350
+
351
+ ## 模块管理和摇树机制
352
+
353
+ uni-app x的模块管理更清晰,统一都是uni_modules。自带摇树机制,减少打包体积,也可以手动配置。[详见](./collocation/manifest-modules.md)
354
+
237
355
  ## 质量
238
356
 
239
357
  uni-app 没有自动化测试系统。对于组件和API的质量监控不足。
@@ -265,8 +383,9 @@ uni-app x 目前仅支持微信小程序和支付宝小程序。接下来会适
265
383
 
266
384
  uni-app x 还不支持安心打包和js加密。js加密,开发者可以使用[uni加固](https://doc.dcloud.net.cn/uni-app-x/tutorial/app-security.html)或其他加固方案解决。
267
385
 
268
- 4. API方面
386
+ 4. 组件和API方面
269
387
 
388
+ - image组件不支持svg动画
270
389
  - 暂未内置蓝牙(已在开发中)。目前需要在插件市场寻找蓝牙相关插件。
271
390
  - 登录支付海外sdk未集成。目前需要在插件市场寻找相关插件。
272
391
  - canvas的API,没有web的丰富。不影响图表等常见功能。[详见](./api/canvasrenderingcontext2d.md)