tmui-cli 2.0.3 → 2.0.5
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.
- package/README.md +22 -14
- package/data/components.json +1 -1
- package/data/config.json +1 -1
- package/data/doc-index.json +1 -1
- package/data/examples/radio.vue +4 -0
- package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +2 -0
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/01.Agent.md +42 -16
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/04.SKILL.md +9 -8
- package/data/tmui4x-doc-index.json +1 -1
- package/data/uni-app-x-docs/.vuepress/components/md/banner.vue +241 -0
- package/data/uni-app-x-docs/.vuepress/components/md/hperm.vue +59 -0
- package/data/uni-app-x-docs/.vuepress/components/md/virtual.vue +49 -0
- package/data/uni-app-x-docs/.vuepress/config/copy.js +7 -0
- package/data/uni-app-x-docs/.vuepress/config/footer.js +220 -0
- package/data/uni-app-x-docs/.vuepress/config/help.js +4 -0
- package/data/uni-app-x-docs/.vuepress/config/i18n/index.js +2 -0
- package/data/uni-app-x-docs/.vuepress/config/navbar.js +144 -0
- package/data/uni-app-x-docs/.vuepress/config/redirectRouter.js +35 -0
- package/data/uni-app-x-docs/.vuepress/config/routerMap.js +30 -0
- package/data/uni-app-x-docs/.vuepress/config/searchPage.js +53 -0
- package/data/uni-app-x-docs/.vuepress/config/siderbar/index.js +6 -0
- package/data/uni-app-x-docs/.vuepress/config/siderbar/uni-app-x.js +69 -0
- package/data/uni-app-x-docs/.vuepress/config/toc.js +13 -0
- package/data/uni-app-x-docs/.vuepress/config.js +130 -0
- package/data/uni-app-x-docs/.vuepress/markdown/inject-json-to-md.js +248 -0
- package/data/uni-app-x-docs/.vuepress/public/baidu.js +7 -0
- package/data/uni-app-x-docs/.vuepress/public/h5/hybrid/html/local.html +88 -0
- package/data/uni-app-x-docs/.vuepress/public/h5/index.html +14 -0
- package/data/uni-app-x-docs/.vuepress/public/h5/pcguide.html +241 -0
- package/data/uni-app-x-docs/.vuepress/public/h5/touch-emulator.js +363 -0
- package/data/uni-app-x-docs/.vuepress/public/js/miku.js +10 -0
- package/data/uni-app-x-docs/.vuepress/public/miku-delivery-1.2.1.js +7 -0
- package/data/uni-app-x-docs/.vuepress/public/miku-delivery-sw-1.2.1.js +7 -0
- package/data/uni-app-x-docs/.vuepress/public/pc.html +157 -0
- package/data/uni-app-x-docs/.vuepress/public/static/web-view-forum.html +119 -0
- package/data/uni-app-x-docs/.vuepress/public/static/web-view.html +119 -0
- package/data/uni-app-x-docs/.vuepress/public/svg/uni-open-bridge.svg +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/code.js +61 -0
- package/data/uni-app-x-docs/.vuepress/utils/cssJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/customTypeJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/example-mapping.json +46 -0
- package/data/uni-app-x-docs/.vuepress/utils/example.js +107 -0
- package/data/uni-app-x-docs/.vuepress/utils/index.js +20 -0
- package/data/uni-app-x-docs/.vuepress/utils/maniFestJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/pageInstanceJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/pagesJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/specialStringJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/utsApiJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/utsComJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/utsDiffTSJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/utsJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/utsUnicloudApiJson.json +1 -0
- package/data/uni-app-x-docs/.vuepress/utils/vueJson.json +1 -0
- package/data/uni-app-x-docs/404.md +2 -0
- package/data/uni-app-x-docs/_sidebar.md +140 -0
- package/data/uni-app-x-docs/adapt.md +169 -0
- package/data/uni-app-x-docs/ai/NOTE.md +7 -0
- package/data/uni-app-x-docs/api/README.md +105 -0
- package/data/uni-app-x-docs/api/_sidebar.md +165 -0
- package/data/uni-app-x-docs/api/accelerometer.md +72 -0
- package/data/uni-app-x-docs/api/action-sheet.md +40 -0
- package/data/uni-app-x-docs/api/animation-frame.md +57 -0
- package/data/uni-app-x-docs/api/app-route.md +323 -0
- package/data/uni-app-x-docs/api/authentication.md +62 -0
- package/data/uni-app-x-docs/api/base64.md +33 -0
- package/data/uni-app-x-docs/api/bio-auth.md +5 -0
- package/data/uni-app-x-docs/api/calendar.md +40 -0
- package/data/uni-app-x-docs/api/canvas-get-image-data.md +5 -0
- package/data/uni-app-x-docs/api/canvas-put-image-data.md +5 -0
- package/data/uni-app-x-docs/api/canvas-to-temp-file-path.md +17 -0
- package/data/uni-app-x-docs/api/canvasrenderingcontext2d.md +673 -0
- package/data/uni-app-x-docs/api/capture-screen.md +55 -0
- package/data/uni-app-x-docs/api/capturescreen.md +5 -0
- package/data/uni-app-x-docs/api/choose-file.md +27 -0
- package/data/uni-app-x-docs/api/choose-image.md +40 -0
- package/data/uni-app-x-docs/api/choose-location.md +304 -0
- package/data/uni-app-x-docs/api/choose-media.md +29 -0
- package/data/uni-app-x-docs/api/choose-video.md +31 -0
- package/data/uni-app-x-docs/api/clipboard.md +44 -0
- package/data/uni-app-x-docs/api/compass.md +53 -0
- package/data/uni-app-x-docs/api/compress-image.md +25 -0
- package/data/uni-app-x-docs/api/compress-video.md +21 -0
- package/data/uni-app-x-docs/api/connect-event-source.md +34 -0
- package/data/uni-app-x-docs/api/contact.md +37 -0
- package/data/uni-app-x-docs/api/create-camera-context.md +27 -0
- package/data/uni-app-x-docs/api/create-canvas-context-async.md +36 -0
- package/data/uni-app-x-docs/api/create-editor-context-async.md +23 -0
- package/data/uni-app-x-docs/api/create-inner-audio-context.md +67 -0
- package/data/uni-app-x-docs/api/create-intersection-observer.md +17 -0
- package/data/uni-app-x-docs/api/create-interstitial-ad.md +43 -0
- package/data/uni-app-x-docs/api/create-live-player-context.md +26 -0
- package/data/uni-app-x-docs/api/create-live-pusher-context.md +26 -0
- package/data/uni-app-x-docs/api/create-map-context.md +13 -0
- package/data/uni-app-x-docs/api/create-request-permission-listener.md +37 -0
- package/data/uni-app-x-docs/api/create-rewarded-video-ad.md +58 -0
- package/data/uni-app-x-docs/api/create-selector-query.md +161 -0
- package/data/uni-app-x-docs/api/create-video-context.md +46 -0
- package/data/uni-app-x-docs/api/create-webview-context.md +66 -0
- package/data/uni-app-x-docs/api/create-worker.md +293 -0
- package/data/uni-app-x-docs/api/dialog-page.md +113 -0
- package/data/uni-app-x-docs/api/dom/README.md +520 -0
- package/data/uni-app-x-docs/api/dom/cssstyledeclaration.md +515 -0
- package/data/uni-app-x-docs/api/dom/domrect.md +11 -0
- package/data/uni-app-x-docs/api/dom/drawablecontext.md +212 -0
- package/data/uni-app-x-docs/api/dom/element.md +5 -0
- package/data/uni-app-x-docs/api/dom/unicanvaselement.md +101 -0
- package/data/uni-app-x-docs/api/dom/unielement.md +608 -0
- package/data/uni-app-x-docs/api/dom/uniimageelement.md +25 -0
- package/data/uni-app-x-docs/api/dom/uniinputelement.md +11 -0
- package/data/uni-app-x-docs/api/dom/uninativeviewelement.md +98 -0
- package/data/uni-app-x-docs/api/dom/uniresizeobserver.md +48 -0
- package/data/uni-app-x-docs/api/dom/unitextareaelement.md +11 -0
- package/data/uni-app-x-docs/api/dom/unitextelement.md +49 -0
- package/data/uni-app-x-docs/api/dom/univideoelement.md +108 -0
- package/data/uni-app-x-docs/api/dom/uniwebviewelement.md +97 -0
- package/data/uni-app-x-docs/api/download-file.md +52 -0
- package/data/uni-app-x-docs/api/env.md +19 -0
- package/data/uni-app-x-docs/api/event-bus.md +81 -0
- package/data/uni-app-x-docs/api/exit.md +63 -0
- package/data/uni-app-x-docs/api/ext.md +61 -0
- package/data/uni-app-x-docs/api/facial-recognition-meta-info.md +47 -0
- package/data/uni-app-x-docs/api/facial-recognition-verify.md +5 -0
- package/data/uni-app-x-docs/api/file-system-spec.md +224 -0
- package/data/uni-app-x-docs/api/get-accessibility-info.md +23 -0
- package/data/uni-app-x-docs/api/get-app-authorize-setting.md +29 -0
- package/data/uni-app-x-docs/api/get-app-base-info.md +32 -0
- package/data/uni-app-x-docs/api/get-app.md +28 -0
- package/data/uni-app-x-docs/api/get-background-audio-manager.md +54 -0
- package/data/uni-app-x-docs/api/get-battery-info.md +31 -0
- package/data/uni-app-x-docs/api/get-current-pages.md +39 -0
- package/data/uni-app-x-docs/api/get-device-info.md +35 -0
- package/data/uni-app-x-docs/api/get-element-by-id.md +55 -0
- package/data/uni-app-x-docs/api/get-element.md +5 -0
- package/data/uni-app-x-docs/api/get-file-system-manager.md +62 -0
- package/data/uni-app-x-docs/api/get-image-info.md +22 -0
- package/data/uni-app-x-docs/api/get-launch-options-sync.md +5 -0
- package/data/uni-app-x-docs/api/get-location.md +210 -0
- package/data/uni-app-x-docs/api/get-network-type.md +23 -0
- package/data/uni-app-x-docs/api/get-performance.md +17 -0
- package/data/uni-app-x-docs/api/get-provider.md +5 -0
- package/data/uni-app-x-docs/api/get-recorder-manager.md +51 -0
- package/data/uni-app-x-docs/api/get-system-info.md +100 -0
- package/data/uni-app-x-docs/api/get-system-setting.md +24 -0
- package/data/uni-app-x-docs/api/get-univerify-manager.md +306 -0
- package/data/uni-app-x-docs/api/get-video-info.md +21 -0
- package/data/uni-app-x-docs/api/get-window-info.md +55 -0
- package/data/uni-app-x-docs/api/gyroscope.md +80 -0
- package/data/uni-app-x-docs/api/image.md +32 -0
- package/data/uni-app-x-docs/api/install-apk.md +26 -0
- package/data/uni-app-x-docs/api/interceptor.md +35 -0
- package/data/uni-app-x-docs/api/is-simulator.md +29 -0
- package/data/uni-app-x-docs/api/keyboard.md +55 -0
- package/data/uni-app-x-docs/api/launch.md +43 -0
- package/data/uni-app-x-docs/api/load-font-face.md +46 -0
- package/data/uni-app-x-docs/api/loading.md +61 -0
- package/data/uni-app-x-docs/api/locale.md +43 -0
- package/data/uni-app-x-docs/api/location-change.md +123 -0
- package/data/uni-app-x-docs/api/make-phone-call.md +25 -0
- package/data/uni-app-x-docs/api/memory.md +29 -0
- package/data/uni-app-x-docs/api/modal.md +51 -0
- package/data/uni-app-x-docs/api/navigator-bar-loading.md +40 -0
- package/data/uni-app-x-docs/api/navigator.md +89 -0
- package/data/uni-app-x-docs/api/network-status-change.md +41 -0
- package/data/uni-app-x-docs/api/network-summarize.md +40 -0
- package/data/uni-app-x-docs/api/nodes-info.md +5 -0
- package/data/uni-app-x-docs/api/on-tab-bar-mid-button-tap.md +20 -0
- package/data/uni-app-x-docs/api/open-app-authorize-setting.md +23 -0
- package/data/uni-app-x-docs/api/open-document.md +21 -0
- package/data/uni-app-x-docs/api/open-location.md +22 -0
- package/data/uni-app-x-docs/api/page-scroll-to.md +57 -0
- package/data/uni-app-x-docs/api/path2d.md +160 -0
- package/data/uni-app-x-docs/api/preview-image.md +44 -0
- package/data/uni-app-x-docs/api/privacy.md +84 -0
- package/data/uni-app-x-docs/api/provider.md +123 -0
- package/data/uni-app-x-docs/api/pull-down-refresh.md +46 -0
- package/data/uni-app-x-docs/api/push.md +1 -0
- package/data/uni-app-x-docs/api/report.md +44 -0
- package/data/uni-app-x-docs/api/request-merchant-transfer.md +31 -0
- package/data/uni-app-x-docs/api/request-payment.md +212 -0
- package/data/uni-app-x-docs/api/request-system-permission.md +21 -0
- package/data/uni-app-x-docs/api/request.md +73 -0
- package/data/uni-app-x-docs/api/rpx2px.md +19 -0
- package/data/uni-app-x-docs/api/save-image-to-photos-album.md +19 -0
- package/data/uni-app-x-docs/api/save-video-to-photos-album.md +17 -0
- package/data/uni-app-x-docs/api/scan-code.md +39 -0
- package/data/uni-app-x-docs/api/screen-brightness.md +53 -0
- package/data/uni-app-x-docs/api/set-navigation-bar-color.md +27 -0
- package/data/uni-app-x-docs/api/set-navigation-bar-title.md +22 -0
- package/data/uni-app-x-docs/api/set-tab-bar.md +121 -0
- package/data/uni-app-x-docs/api/set-tabbar.md +5 -0
- package/data/uni-app-x-docs/api/share-with-system.md +27 -0
- package/data/uni-app-x-docs/api/share.md +128 -0
- package/data/uni-app-x-docs/api/show-action-sheet.md +5 -0
- package/data/uni-app-x-docs/api/show-loading.md +5 -0
- package/data/uni-app-x-docs/api/show-modal.md +5 -0
- package/data/uni-app-x-docs/api/show-toast.md +5 -0
- package/data/uni-app-x-docs/api/sign-in.md +141 -0
- package/data/uni-app-x-docs/api/storage.md +347 -0
- package/data/uni-app-x-docs/api/theme-change.md +477 -0
- package/data/uni-app-x-docs/api/theme.md +5 -0
- package/data/uni-app-x-docs/api/toast.md +62 -0
- package/data/uni-app-x-docs/api/uni-push.md +251 -0
- package/data/uni-app-x-docs/api/unicloud/README.md +25 -0
- package/data/uni-app-x-docs/api/unicloud/database.md +27 -0
- package/data/uni-app-x-docs/api/unicloud/function.md +58 -0
- package/data/uni-app-x-docs/api/unicloud/object.md +75 -0
- package/data/uni-app-x-docs/api/unicloud/sse-channel.md +103 -0
- package/data/uni-app-x-docs/api/unicloud/storage.md +46 -0
- package/data/uni-app-x-docs/api/unicloud/utils.md +71 -0
- package/data/uni-app-x-docs/api/unipage.md +389 -0
- package/data/uni-app-x-docs/api/upload-file.md +40 -0
- package/data/uni-app-x-docs/api/vibrate.md +37 -0
- package/data/uni-app-x-docs/api/virtual-payment.md +228 -0
- package/data/uni-app-x-docs/api/websocket-global.md +5 -0
- package/data/uni-app-x-docs/api/websocket.md +116 -0
- package/data/uni-app-x-docs/api/wide-screen-adaptation.md +197 -0
- package/data/uni-app-x-docs/api/wifi.md +135 -0
- package/data/uni-app-x-docs/api/window.md +39 -0
- package/data/uni-app-x-docs/app-harmony/README.md +75 -0
- package/data/uni-app-x-docs/app-harmony/harmony-vapor.md +5 -0
- package/data/uni-app-x-docs/app-vapor.md +599 -0
- package/data/uni-app-x-docs/benchmark/vapor-benchmark-android.md +488 -0
- package/data/uni-app-x-docs/benchmark/vapor-benchmark-harmony.md +312 -0
- package/data/uni-app-x-docs/benchmark/vapor-benchmark-ios.md +375 -0
- package/data/uni-app-x-docs/collocation/_sidebar.md +15 -0
- package/data/uni-app-x-docs/collocation/app.md +268 -0
- package/data/uni-app-x-docs/collocation/manifest-android.md +1321 -0
- package/data/uni-app-x-docs/collocation/manifest-harmony.md +152 -0
- package/data/uni-app-x-docs/collocation/manifest-ios.md +732 -0
- package/data/uni-app-x-docs/collocation/manifest-modules.md +521 -0
- package/data/uni-app-x-docs/collocation/manifest-splashscreen.md +232 -0
- package/data/uni-app-x-docs/collocation/manifest.md +591 -0
- package/data/uni-app-x-docs/collocation/pagesjson.md +462 -0
- package/data/uni-app-x-docs/collocation/themejson.md +177 -0
- package/data/uni-app-x-docs/compiler/README.md +125 -0
- package/data/uni-app-x-docs/compiler/_sidebar.md +4 -0
- package/data/uni-app-x-docs/component/README.md +228 -0
- package/data/uni-app-x-docs/component/_sidebar.md +118 -0
- package/data/uni-app-x-docs/component/ad-custom.md +19 -0
- package/data/uni-app-x-docs/component/ad.md +45 -0
- package/data/uni-app-x-docs/component/animation-view.md +19 -0
- package/data/uni-app-x-docs/component/aria-component.md +19 -0
- package/data/uni-app-x-docs/component/audio.md +7 -0
- package/data/uni-app-x-docs/component/block.md +21 -0
- package/data/uni-app-x-docs/component/button.md +105 -0
- package/data/uni-app-x-docs/component/camera.md +54 -0
- package/data/uni-app-x-docs/component/canvas.md +163 -0
- package/data/uni-app-x-docs/component/channel-live.md +19 -0
- package/data/uni-app-x-docs/component/channel-video.md +19 -0
- package/data/uni-app-x-docs/component/checkbox-group.md +21 -0
- package/data/uni-app-x-docs/component/checkbox.md +27 -0
- package/data/uni-app-x-docs/component/common.md +304 -0
- package/data/uni-app-x-docs/component/cover-image.md +25 -0
- package/data/uni-app-x-docs/component/cover-view.md +25 -0
- package/data/uni-app-x-docs/component/custom-tab-bar.md +19 -0
- package/data/uni-app-x-docs/component/double-tap-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/draggable-sheet.md +19 -0
- package/data/uni-app-x-docs/component/editor.md +33 -0
- package/data/uni-app-x-docs/component/flow-item.md +5 -0
- package/data/uni-app-x-docs/component/force-press-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/form.md +108 -0
- package/data/uni-app-x-docs/component/functional-page-navigator.md +19 -0
- package/data/uni-app-x-docs/component/glass-effect-view.md +32 -0
- package/data/uni-app-x-docs/component/grid-builder.md +19 -0
- package/data/uni-app-x-docs/component/grid-view.md +19 -0
- package/data/uni-app-x-docs/component/horizontal-drag-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/icon.md +19 -0
- package/data/uni-app-x-docs/component/image.md +79 -0
- package/data/uni-app-x-docs/component/input.md +121 -0
- package/data/uni-app-x-docs/component/keyboard-accessory.md +19 -0
- package/data/uni-app-x-docs/component/label.md +21 -0
- package/data/uni-app-x-docs/component/list-builder.md +19 -0
- package/data/uni-app-x-docs/component/list-item.md +1 -0
- package/data/uni-app-x-docs/component/list-view.md +191 -0
- package/data/uni-app-x-docs/component/live-player.md +29 -0
- package/data/uni-app-x-docs/component/live-pusher.md +31 -0
- package/data/uni-app-x-docs/component/loading.md +31 -0
- package/data/uni-app-x-docs/component/long-press-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/map.md +116 -0
- package/data/uni-app-x-docs/component/match-media.md +21 -0
- package/data/uni-app-x-docs/component/movable-area.md +27 -0
- package/data/uni-app-x-docs/component/movable-view.md +27 -0
- package/data/uni-app-x-docs/component/native-component.md +19 -0
- package/data/uni-app-x-docs/component/native-view.md +210 -0
- package/data/uni-app-x-docs/component/navigation-bar.md +19 -0
- package/data/uni-app-x-docs/component/navigator.md +22 -0
- package/data/uni-app-x-docs/component/nested-scroll-body.md +32 -0
- package/data/uni-app-x-docs/component/nested-scroll-header.md +32 -0
- package/data/uni-app-x-docs/component/nested-scroll.md +8 -0
- package/data/uni-app-x-docs/component/official-account.md +19 -0
- package/data/uni-app-x-docs/component/open-container.md +19 -0
- package/data/uni-app-x-docs/component/page-container.md +37 -0
- package/data/uni-app-x-docs/component/page-meta.md +19 -0
- package/data/uni-app-x-docs/component/pan-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/picker-view-column.md +5 -0
- package/data/uni-app-x-docs/component/picker-view.md +48 -0
- package/data/uni-app-x-docs/component/picker.md +29 -0
- package/data/uni-app-x-docs/component/progress.md +19 -0
- package/data/uni-app-x-docs/component/radio-group.md +21 -0
- package/data/uni-app-x-docs/component/radio.md +27 -0
- package/data/uni-app-x-docs/component/rich-text.md +108 -0
- package/data/uni-app-x-docs/component/root-portal.md +19 -0
- package/data/uni-app-x-docs/component/scale-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/scroll-view.md +213 -0
- package/data/uni-app-x-docs/component/share-element.md +84 -0
- package/data/uni-app-x-docs/component/slider.md +44 -0
- package/data/uni-app-x-docs/component/snapshot.md +19 -0
- package/data/uni-app-x-docs/component/span.md +19 -0
- package/data/uni-app-x-docs/component/sticky-header.md +50 -0
- package/data/uni-app-x-docs/component/sticky-section.md +54 -0
- package/data/uni-app-x-docs/component/sticky.md +8 -0
- package/data/uni-app-x-docs/component/store-home.md +19 -0
- package/data/uni-app-x-docs/component/store-product.md +19 -0
- package/data/uni-app-x-docs/component/swiper-item.md +5 -0
- package/data/uni-app-x-docs/component/swiper.md +94 -0
- package/data/uni-app-x-docs/component/switch.md +28 -0
- package/data/uni-app-x-docs/component/tap-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/text.md +242 -0
- package/data/uni-app-x-docs/component/textarea.md +90 -0
- package/data/uni-app-x-docs/component/uni-ui-x/README.md +1 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-badge-view.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-collapse-item.md +5 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-collapse.md +48 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-drag-cell.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-fab-button.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-index-bar.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-link.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-nav-bar.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-number-box.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-rate.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-refresh-box.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-tab-bar.md +5 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-tab-content.md +5 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-tab-item.md +5 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-tab-midbutton.md +5 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-tab.md +111 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-time-format.md +25 -0
- package/data/uni-app-x-docs/component/unicloud-db.md +19 -0
- package/data/uni-app-x-docs/component/vertical-drag-gesture-handler.md +19 -0
- package/data/uni-app-x-docs/component/video.md +139 -0
- package/data/uni-app-x-docs/component/view.md +86 -0
- package/data/uni-app-x-docs/component/voip-room.md +19 -0
- package/data/uni-app-x-docs/component/waterflow.md +122 -0
- package/data/uni-app-x-docs/component/web-view.md +160 -0
- package/data/uni-app-x-docs/css/README.md +274 -0
- package/data/uni-app-x-docs/css/_sidebar.md +103 -0
- package/data/uni-app-x-docs/css/align-content.md +22 -0
- package/data/uni-app-x-docs/css/align-items.md +20 -0
- package/data/uni-app-x-docs/css/align-self.md +20 -0
- package/data/uni-app-x-docs/css/animation-composition.md +18 -0
- package/data/uni-app-x-docs/css/animation-delay.md +18 -0
- package/data/uni-app-x-docs/css/animation-direction.md +18 -0
- package/data/uni-app-x-docs/css/animation-duration.md +18 -0
- package/data/uni-app-x-docs/css/animation-fill-mode.md +18 -0
- package/data/uni-app-x-docs/css/animation-iteration-count.md +18 -0
- package/data/uni-app-x-docs/css/animation-name.md +18 -0
- package/data/uni-app-x-docs/css/animation-play-state.md +18 -0
- package/data/uni-app-x-docs/css/animation-range-end.md +18 -0
- package/data/uni-app-x-docs/css/animation-range-start.md +18 -0
- package/data/uni-app-x-docs/css/animation-range.md +18 -0
- package/data/uni-app-x-docs/css/animation-timeline.md +18 -0
- package/data/uni-app-x-docs/css/animation-timing-function.md +18 -0
- package/data/uni-app-x-docs/css/animation.md +18 -0
- package/data/uni-app-x-docs/css/backdrop-filter.md +21 -0
- package/data/uni-app-x-docs/css/background-clip.md +20 -0
- package/data/uni-app-x-docs/css/background-color.md +25 -0
- package/data/uni-app-x-docs/css/background-image.md +48 -0
- package/data/uni-app-x-docs/css/background.md +20 -0
- package/data/uni-app-x-docs/css/border-bottom-color.md +20 -0
- package/data/uni-app-x-docs/css/border-bottom-left-radius.md +23 -0
- package/data/uni-app-x-docs/css/border-bottom-right-radius.md +23 -0
- package/data/uni-app-x-docs/css/border-bottom-style.md +20 -0
- package/data/uni-app-x-docs/css/border-bottom-width.md +27 -0
- package/data/uni-app-x-docs/css/border-bottom.md +20 -0
- package/data/uni-app-x-docs/css/border-color.md +20 -0
- package/data/uni-app-x-docs/css/border-left-color.md +20 -0
- package/data/uni-app-x-docs/css/border-left-style.md +20 -0
- package/data/uni-app-x-docs/css/border-left-width.md +27 -0
- package/data/uni-app-x-docs/css/border-left.md +20 -0
- package/data/uni-app-x-docs/css/border-radius.md +27 -0
- package/data/uni-app-x-docs/css/border-right-color.md +20 -0
- package/data/uni-app-x-docs/css/border-right-style.md +20 -0
- package/data/uni-app-x-docs/css/border-right-width.md +27 -0
- package/data/uni-app-x-docs/css/border-right.md +20 -0
- package/data/uni-app-x-docs/css/border-style.md +24 -0
- package/data/uni-app-x-docs/css/border-top-color.md +20 -0
- package/data/uni-app-x-docs/css/border-top-left-radius.md +23 -0
- package/data/uni-app-x-docs/css/border-top-right-radius.md +23 -0
- package/data/uni-app-x-docs/css/border-top-style.md +20 -0
- package/data/uni-app-x-docs/css/border-top-width.md +27 -0
- package/data/uni-app-x-docs/css/border-top.md +20 -0
- package/data/uni-app-x-docs/css/border-width.md +24 -0
- package/data/uni-app-x-docs/css/border.md +23 -0
- package/data/uni-app-x-docs/css/bottom.md +20 -0
- package/data/uni-app-x-docs/css/box-shadow.md +26 -0
- package/data/uni-app-x-docs/css/box-sizing.md +20 -0
- package/data/uni-app-x-docs/css/color.md +27 -0
- package/data/uni-app-x-docs/css/common/at-rules.md +293 -0
- package/data/uni-app-x-docs/css/common/color.md +9 -0
- package/data/uni-app-x-docs/css/common/function.md +165 -0
- package/data/uni-app-x-docs/css/common/length.md +89 -0
- package/data/uni-app-x-docs/css/common/selector.md +50 -0
- package/data/uni-app-x-docs/css/common/style-isolation.md +258 -0
- package/data/uni-app-x-docs/css/common/variable.md +1 -0
- package/data/uni-app-x-docs/css/direction.md +18 -0
- package/data/uni-app-x-docs/css/display.md +23 -0
- package/data/uni-app-x-docs/css/flex-basis.md +20 -0
- package/data/uni-app-x-docs/css/flex-direction.md +20 -0
- package/data/uni-app-x-docs/css/flex-flow.md +20 -0
- package/data/uni-app-x-docs/css/flex-grow.md +20 -0
- package/data/uni-app-x-docs/css/flex-shrink.md +20 -0
- package/data/uni-app-x-docs/css/flex-wrap.md +20 -0
- package/data/uni-app-x-docs/css/flex.md +20 -0
- package/data/uni-app-x-docs/css/font-family.md +50 -0
- package/data/uni-app-x-docs/css/font-size.md +51 -0
- package/data/uni-app-x-docs/css/font-style.md +23 -0
- package/data/uni-app-x-docs/css/font-weight.md +24 -0
- package/data/uni-app-x-docs/css/height.md +23 -0
- package/data/uni-app-x-docs/css/justify-content.md +20 -0
- package/data/uni-app-x-docs/css/left.md +20 -0
- package/data/uni-app-x-docs/css/letter-spacing.md +20 -0
- package/data/uni-app-x-docs/css/line-height.md +37 -0
- package/data/uni-app-x-docs/css/lines.md +23 -0
- package/data/uni-app-x-docs/css/margin-bottom.md +25 -0
- package/data/uni-app-x-docs/css/margin-left.md +25 -0
- package/data/uni-app-x-docs/css/margin-right.md +25 -0
- package/data/uni-app-x-docs/css/margin-top.md +25 -0
- package/data/uni-app-x-docs/css/margin.md +33 -0
- package/data/uni-app-x-docs/css/max-height.md +20 -0
- package/data/uni-app-x-docs/css/max-width.md +20 -0
- package/data/uni-app-x-docs/css/min-height.md +27 -0
- package/data/uni-app-x-docs/css/min-width.md +20 -0
- package/data/uni-app-x-docs/css/opacity.md +20 -0
- package/data/uni-app-x-docs/css/overflow.md +28 -0
- package/data/uni-app-x-docs/css/padding-bottom.md +23 -0
- package/data/uni-app-x-docs/css/padding-left.md +23 -0
- package/data/uni-app-x-docs/css/padding-right.md +23 -0
- package/data/uni-app-x-docs/css/padding-top.md +23 -0
- package/data/uni-app-x-docs/css/padding.md +23 -0
- package/data/uni-app-x-docs/css/pointer-events.md +26 -0
- package/data/uni-app-x-docs/css/position.md +50 -0
- package/data/uni-app-x-docs/css/right.md +20 -0
- package/data/uni-app-x-docs/css/text-align.md +23 -0
- package/data/uni-app-x-docs/css/text-decoration-color.md +25 -0
- package/data/uni-app-x-docs/css/text-decoration-line.md +24 -0
- package/data/uni-app-x-docs/css/text-decoration-style.md +23 -0
- package/data/uni-app-x-docs/css/text-decoration-thickness.md +23 -0
- package/data/uni-app-x-docs/css/text-decoration.md +24 -0
- package/data/uni-app-x-docs/css/text-overflow.md +24 -0
- package/data/uni-app-x-docs/css/text-shadow.md +22 -0
- package/data/uni-app-x-docs/css/top.md +20 -0
- package/data/uni-app-x-docs/css/transform-origin.md +20 -0
- package/data/uni-app-x-docs/css/transform.md +32 -0
- package/data/uni-app-x-docs/css/transition-delay.md +27 -0
- package/data/uni-app-x-docs/css/transition-duration.md +27 -0
- package/data/uni-app-x-docs/css/transition-property.md +23 -0
- package/data/uni-app-x-docs/css/transition-timing-function.md +23 -0
- package/data/uni-app-x-docs/css/transition.md +43 -0
- package/data/uni-app-x-docs/css/visibility.md +26 -0
- package/data/uni-app-x-docs/css/white-space.md +49 -0
- package/data/uni-app-x-docs/css/width.md +23 -0
- package/data/uni-app-x-docs/css/z-index.md +127 -0
- package/data/uni-app-x-docs/debug/android-inspector.md +55 -0
- package/data/uni-app-x-docs/i18n.md +379 -0
- package/data/uni-app-x-docs/mp/README.md +155 -0
- package/data/uni-app-x-docs/mp/native-component-and-wxs.md +166 -0
- package/data/uni-app-x-docs/native/README.md +67 -0
- package/data/uni-app-x-docs/native/debug/android.md +126 -0
- package/data/uni-app-x-docs/native/debug/harmony.md +119 -0
- package/data/uni-app-x-docs/native/debug/ios.md +92 -0
- package/data/uni-app-x-docs/native/download/android.md +132 -0
- package/data/uni-app-x-docs/native/download/ios.md +32 -0
- package/data/uni-app-x-docs/native/modules/android/others.md +1441 -0
- package/data/uni-app-x-docs/native/modules/android/uni-ad.md +104 -0
- package/data/uni-app-x-docs/native/modules/android/uni-facialRecognitionVerify.md +74 -0
- package/data/uni-app-x-docs/native/modules/android/uni-getLocation.md +131 -0
- package/data/uni-app-x-docs/native/modules/android/uni-map-tencent.md +101 -0
- package/data/uni-app-x-docs/native/modules/android/uni-oauth.md +61 -0
- package/data/uni-app-x-docs/native/modules/android/uni-payment.md +120 -0
- package/data/uni-app-x-docs/native/modules/android/uni-push.md +229 -0
- package/data/uni-app-x-docs/native/modules/android/uni-share.md +61 -0
- package/data/uni-app-x-docs/native/modules/android/uni-verify.md +105 -0
- package/data/uni-app-x-docs/native/modules/android/uni-video.md +135 -0
- package/data/uni-app-x-docs/native/modules/harmony/facialVerify.md +47 -0
- package/data/uni-app-x-docs/native/modules/harmony/location.md +43 -0
- package/data/uni-app-x-docs/native/modules/harmony/map.md +64 -0
- package/data/uni-app-x-docs/native/modules/harmony/modules.md +23 -0
- package/data/uni-app-x-docs/native/modules/harmony/oauth.md +47 -0
- package/data/uni-app-x-docs/native/modules/harmony/pay.md +87 -0
- package/data/uni-app-x-docs/native/modules/harmony/push.md +74 -0
- package/data/uni-app-x-docs/native/modules/harmony/verify.md +45 -0
- package/data/uni-app-x-docs/native/modules/ios/modules.md +962 -0
- package/data/uni-app-x-docs/native/permission/android_permission_adapter.md +63 -0
- package/data/uni-app-x-docs/native/use/android.md +541 -0
- package/data/uni-app-x-docs/native/use/androidcomm.md +164 -0
- package/data/uni-app-x-docs/native/use/androiduts.md +398 -0
- package/data/uni-app-x-docs/native/use/harmony.md +105 -0
- package/data/uni-app-x-docs/native/use/harmonyapi.md +205 -0
- package/data/uni-app-x-docs/native/use/harmonyuts.md +62 -0
- package/data/uni-app-x-docs/native/use/ios.md +96 -0
- package/data/uni-app-x-docs/native/use/iosapi.md +290 -0
- package/data/uni-app-x-docs/native/use/iosuts.md +89 -0
- package/data/uni-app-x-docs/page.md +503 -0
- package/data/uni-app-x-docs/performance.md +181 -0
- package/data/uni-app-x-docs/plugin/NOTE.md +7 -0
- package/data/uni-app-x-docs/project.md +153 -0
- package/data/uni-app-x-docs/readme.md +401 -0
- package/data/uni-app-x-docs/release-note-alpha.md +2361 -0
- package/data/uni-app-x-docs/release.md +2224 -0
- package/data/uni-app-x-docs/sample.md +157 -0
- package/data/uni-app-x-docs/select/native-render-and-self-render.md +386 -0
- package/data/uni-app-x-docs/select.md +365 -0
- package/data/uni-app-x-docs/static/4050-hello-flatten-optimized-device1-r1.png +0 -0
- package/data/uni-app-x-docs/static/calendar.jpg +0 -0
- package/data/uni-app-x-docs/static/go-to-definition.png +0 -0
- package/data/uni-app-x-docs/static/hxconsolepageperformance.png +0 -0
- package/data/uni-app-x-docs/static/json2type.png +0 -0
- package/data/uni-app-x-docs/static/newproject.png +0 -0
- package/data/uni-app-x-docs/static/playground.jpg +0 -0
- package/data/uni-app-x-docs/static/project-icon.png +0 -0
- package/data/uni-app-x-docs/static/uaxding.png +0 -0
- package/data/uni-app-x-docs/static/view-API-type-info.png +0 -0
- package/data/uni-app-x-docs/tutorial/android-16kb.md +100 -0
- package/data/uni-app-x-docs/tutorial/android-memoryleak.md +553 -0
- package/data/uni-app-x-docs/tutorial/app-env.md +84 -0
- package/data/uni-app-x-docs/tutorial/app-market.md +58 -0
- package/data/uni-app-x-docs/tutorial/app-package.md +196 -0
- package/data/uni-app-x-docs/tutorial/app-playground.md +188 -0
- package/data/uni-app-x-docs/tutorial/app-update-wgt.md +13 -0
- package/data/uni-app-x-docs/tutorial/bug_repair.md +40 -0
- package/data/uni-app-x-docs/tutorial/codegap.md +291 -0
- package/data/uni-app-x-docs/tutorial/compatibility.md +120 -0
- package/data/uni-app-x-docs/tutorial/compliance.md +833 -0
- package/data/uni-app-x-docs/tutorial/debug/devtools.md +137 -0
- package/data/uni-app-x-docs/tutorial/idref.md +126 -0
- package/data/uni-app-x-docs/tutorial/ls-plugin.md +186 -0
- package/data/uni-app-x-docs/tutorial/request.md +321 -0
- package/data/uni-app-x-docs/tutorial/rules_mcp.md +123 -0
- package/data/uni-app-x-docs/tutorial/stickynestlist.md +68 -0
- package/data/uni-app-x-docs/tutorial/store.md +161 -0
- package/data/uni-app-x-docs/uniapptox.md +145 -0
- package/data/uni-app-x-docs/uts/README.md +458 -0
- package/data/uni-app-x-docs/uts/_sidebar.md +57 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/array.md +981 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/arraybuffer.md +257 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/console.md +208 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/dataview.md +304 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/date.md +707 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/error.md +31 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/float32array.md +485 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/float64array.md +473 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/global.md +222 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/int16array.md +455 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/int32array.md +483 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/int8array.md +473 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/json.md +236 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/map.md +187 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/math.md +502 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/number.md +363 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/promise.md +265 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/regexp.md +263 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/set.md +170 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/string.md +723 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/textdecoder.md +70 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/textencoder.md +41 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/timers.md +99 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/uint16array.md +483 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/uint32array.md +484 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/uint8array.md +483 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/uint8clampedarray.md +483 -0
- package/data/uni-app-x-docs/uts/buildin-object-api/utsjsonobject.md +361 -0
- package/data/uni-app-x-docs/uts/class.md +504 -0
- package/data/uni-app-x-docs/uts/compiler-known-issues.md +1242 -0
- package/data/uni-app-x-docs/uts/conditional.md +209 -0
- package/data/uni-app-x-docs/uts/data-type.md +2248 -0
- package/data/uni-app-x-docs/uts/enumerability.md +16 -0
- package/data/uni-app-x-docs/uts/enumerability_iterable.md +211 -0
- package/data/uni-app-x-docs/uts/exception.md +25 -0
- package/data/uni-app-x-docs/uts/function.md +359 -0
- package/data/uni-app-x-docs/uts/generics.md +251 -0
- package/data/uni-app-x-docs/uts/interface.md +37 -0
- package/data/uni-app-x-docs/uts/iterable.md +150 -0
- package/data/uni-app-x-docs/uts/keywords.md +436 -0
- package/data/uni-app-x-docs/uts/literal.md +252 -0
- package/data/uni-app-x-docs/uts/loops.md +240 -0
- package/data/uni-app-x-docs/uts/module.md +92 -0
- package/data/uni-app-x-docs/uts/object.md +156 -0
- package/data/uni-app-x-docs/uts/operator.md +304 -0
- package/data/uni-app-x-docs/uts/runtime-known-issues.md +99 -0
- package/data/uni-app-x-docs/uts/type-aliases.md +43 -0
- package/data/uni-app-x-docs/uts/type-compatibility.md +133 -0
- package/data/uni-app-x-docs/uts/uts-optimize.md +33 -0
- package/data/uni-app-x-docs/uts/uts_diff_ts.md +2292 -0
- package/data/uni-app-x-docs/uts/utsactivitycallback.md +1357 -0
- package/data/uni-app-x-docs/uts/utsandroid.md +850 -0
- package/data/uni-app-x-docs/uts/utsandroidhookproxy.md +17 -0
- package/data/uni-app-x-docs/uts/utsharmony.md +219 -0
- package/data/uni-app-x-docs/uts/utsios.md +305 -0
- package/data/uni-app-x-docs/uts/utsioshookproxy.md +148 -0
- package/data/uni-app-x-docs/vapor-benchmark.md +11 -0
- package/data/uni-app-x-docs/vue/README.md +588 -0
- package/data/uni-app-x-docs/vue/_sidebar.md +10 -0
- package/data/uni-app-x-docs/vue/advanced-api.md +138 -0
- package/data/uni-app-x-docs/vue/built-in.md +741 -0
- package/data/uni-app-x-docs/vue/component.md +704 -0
- package/data/uni-app-x-docs/vue/composition-api.md +779 -0
- package/data/uni-app-x-docs/vue/data-bind.md +163 -0
- package/data/uni-app-x-docs/vue/global-api.md +109 -0
- package/data/uni-app-x-docs/vue/modifier.md +202 -0
- package/data/uni-app-x-docs/vue/options-api.md +512 -0
- package/data/uni-app-x-docs/vue/others.md +20 -0
- package/data/uni-app-x-docs/web/README.md +279 -0
- package/data/uni-app-x-docs/web/ssr.md +290 -0
- package/data/uni-app-x-docs/worktile/NOTE.md +7 -0
- package/data/uniappx/404.md +2 -0
- package/data/uniappx/_sidebar.md +140 -0
- package/data/uniappx/adapt.md +165 -0
- package/data/uniappx/ai/NOTE.md +5 -0
- package/data/uniappx/api/README.md +98 -0
- package/data/uniappx/api/_sidebar.md +165 -0
- package/data/uniappx/api/accelerometer.md +322 -0
- package/data/uniappx/api/action-sheet.md +192 -0
- package/data/uniappx/api/animation-frame.md +125 -0
- package/data/uniappx/api/app-route.md +632 -0
- package/data/uniappx/api/authentication.md +267 -0
- package/data/uniappx/api/base64.md +127 -0
- package/data/uniappx/api/bio-auth.md +3 -0
- package/data/uniappx/api/calendar.md +400 -0
- package/data/uniappx/api/canvas-get-image-data.md +3 -0
- package/data/uniappx/api/canvas-put-image-data.md +3 -0
- package/data/uniappx/api/canvas-to-temp-file-path.md +62 -0
- package/data/uniappx/api/canvasrenderingcontext2d.md +128 -0
- package/data/uniappx/api/capture-screen.md +173 -0
- package/data/uniappx/api/capturescreen.md +3 -0
- package/data/uniappx/api/choose-file.md +174 -0
- package/data/uniappx/api/choose-image.md +312 -0
- package/data/uniappx/api/choose-location.md +412 -0
- package/data/uniappx/api/choose-media.md +272 -0
- package/data/uniappx/api/choose-video.md +165 -0
- package/data/uniappx/api/clipboard.md +155 -0
- package/data/uniappx/api/compass.md +351 -0
- package/data/uniappx/api/compress-image.md +147 -0
- package/data/uniappx/api/compress-video.md +136 -0
- package/data/uniappx/api/connect-event-source.md +225 -0
- package/data/uniappx/api/contact.md +153 -0
- package/data/uniappx/api/create-camera-context.md +346 -0
- package/data/uniappx/api/create-canvas-context-async.md +167 -0
- package/data/uniappx/api/create-editor-context-async.md +605 -0
- package/data/uniappx/api/create-inner-audio-context.md +704 -0
- package/data/uniappx/api/create-intersection-observer.md +195 -0
- package/data/uniappx/api/create-interstitial-ad.md +253 -0
- package/data/uniappx/api/create-live-player-context.md +185 -0
- package/data/uniappx/api/create-live-pusher-context.md +282 -0
- package/data/uniappx/api/create-map-context.md +677 -0
- package/data/uniappx/api/create-request-permission-listener.md +147 -0
- package/data/uniappx/api/create-rewarded-video-ad.md +302 -0
- package/data/uniappx/api/create-selector-query.md +609 -0
- package/data/uniappx/api/create-video-context.md +190 -0
- package/data/uniappx/api/create-webview-context.md +274 -0
- package/data/uniappx/api/create-worker.md +607 -0
- package/data/uniappx/api/dialog-page.md +377 -0
- package/data/uniappx/api/dom/README.md +319 -0
- package/data/uniappx/api/dom/cssstyledeclaration.md +341 -0
- package/data/uniappx/api/dom/domrect.md +30 -0
- package/data/uniappx/api/dom/drawablecontext.md +63 -0
- package/data/uniappx/api/dom/element.md +3 -0
- package/data/uniappx/api/dom/unicanvaselement.md +29 -0
- package/data/uniappx/api/dom/unielement.md +211 -0
- package/data/uniappx/api/dom/uniimageelement.md +23 -0
- package/data/uniappx/api/dom/uniinputelement.md +25 -0
- package/data/uniappx/api/dom/uninativeviewelement.md +18 -0
- package/data/uniappx/api/dom/uniresizeobserver.md +20 -0
- package/data/uniappx/api/dom/unitextareaelement.md +25 -0
- package/data/uniappx/api/dom/unitextelement.md +23 -0
- package/data/uniappx/api/dom/univideoelement.md +18 -0
- package/data/uniappx/api/dom/uniwebviewelement.md +18 -0
- package/data/uniappx/api/download-file.md +226 -0
- package/data/uniappx/api/env.md +101 -0
- package/data/uniappx/api/event-bus.md +184 -0
- package/data/uniappx/api/exit.md +134 -0
- package/data/uniappx/api/ext.md +61 -0
- package/data/uniappx/api/facial-recognition-meta-info.md +131 -0
- package/data/uniappx/api/facial-recognition-verify.md +3 -0
- package/data/uniappx/api/file-system-spec.md +223 -0
- package/data/uniappx/api/get-accessibility-info.md +113 -0
- package/data/uniappx/api/get-app-authorize-setting.md +276 -0
- package/data/uniappx/api/get-app-base-info.md +175 -0
- package/data/uniappx/api/get-app.md +175 -0
- package/data/uniappx/api/get-background-audio-manager.md +509 -0
- package/data/uniappx/api/get-battery-info.md +106 -0
- package/data/uniappx/api/get-current-pages.md +215 -0
- package/data/uniappx/api/get-device-info.md +188 -0
- package/data/uniappx/api/get-element-by-id.md +103 -0
- package/data/uniappx/api/get-element.md +3 -0
- package/data/uniappx/api/get-file-system-manager.md +2351 -0
- package/data/uniappx/api/get-image-info.md +143 -0
- package/data/uniappx/api/get-launch-options-sync.md +3 -0
- package/data/uniappx/api/get-location.md +362 -0
- package/data/uniappx/api/get-network-type.md +96 -0
- package/data/uniappx/api/get-performance.md +299 -0
- package/data/uniappx/api/get-provider.md +3 -0
- package/data/uniappx/api/get-recorder-manager.md +408 -0
- package/data/uniappx/api/get-system-info.md +527 -0
- package/data/uniappx/api/get-system-setting.md +133 -0
- package/data/uniappx/api/get-univerify-manager.md +549 -0
- package/data/uniappx/api/get-video-info.md +150 -0
- package/data/uniappx/api/get-window-info.md +163 -0
- package/data/uniappx/api/gyroscope.md +389 -0
- package/data/uniappx/api/image.md +40 -0
- package/data/uniappx/api/install-apk.md +93 -0
- package/data/uniappx/api/interceptor.md +84 -0
- package/data/uniappx/api/is-simulator.md +120 -0
- package/data/uniappx/api/keyboard.md +194 -0
- package/data/uniappx/api/launch.md +200 -0
- package/data/uniappx/api/load-font-face.md +206 -0
- package/data/uniappx/api/loading.md +186 -0
- package/data/uniappx/api/locale.md +74 -0
- package/data/uniappx/api/location-change.md +533 -0
- package/data/uniappx/api/make-phone-call.md +102 -0
- package/data/uniappx/api/memory.md +135 -0
- package/data/uniappx/api/modal.md +233 -0
- package/data/uniappx/api/navigator-bar-loading.md +122 -0
- package/data/uniappx/api/navigator.md +478 -0
- package/data/uniappx/api/network-status-change.md +145 -0
- package/data/uniappx/api/network-summarize.md +40 -0
- package/data/uniappx/api/nodes-info.md +3 -0
- package/data/uniappx/api/on-tab-bar-mid-button-tap.md +34 -0
- package/data/uniappx/api/open-app-authorize-setting.md +117 -0
- package/data/uniappx/api/open-document.md +122 -0
- package/data/uniappx/api/open-location.md +154 -0
- package/data/uniappx/api/page-scroll-to.md +170 -0
- package/data/uniappx/api/path2d.md +48 -0
- package/data/uniappx/api/preview-image.md +341 -0
- package/data/uniappx/api/privacy.md +232 -0
- package/data/uniappx/api/provider.md +329 -0
- package/data/uniappx/api/pull-down-refresh.md +154 -0
- package/data/uniappx/api/push.md +1 -0
- package/data/uniappx/api/report.md +150 -0
- package/data/uniappx/api/request-merchant-transfer.md +117 -0
- package/data/uniappx/api/request-payment.md +315 -0
- package/data/uniappx/api/request-system-permission.md +220 -0
- package/data/uniappx/api/request.md +518 -0
- package/data/uniappx/api/rpx2px.md +94 -0
- package/data/uniappx/api/save-image-to-photos-album.md +115 -0
- package/data/uniappx/api/save-video-to-photos-album.md +102 -0
- package/data/uniappx/api/scan-code.md +118 -0
- package/data/uniappx/api/screen-brightness.md +333 -0
- package/data/uniappx/api/set-navigation-bar-color.md +133 -0
- package/data/uniappx/api/set-navigation-bar-title.md +117 -0
- package/data/uniappx/api/set-tab-bar.md +651 -0
- package/data/uniappx/api/set-tabbar.md +3 -0
- package/data/uniappx/api/share-with-system.md +139 -0
- package/data/uniappx/api/share.md +325 -0
- package/data/uniappx/api/show-action-sheet.md +3 -0
- package/data/uniappx/api/show-loading.md +3 -0
- package/data/uniappx/api/show-modal.md +3 -0
- package/data/uniappx/api/show-toast.md +3 -0
- package/data/uniappx/api/sign-in.md +358 -0
- package/data/uniappx/api/storage.md +719 -0
- package/data/uniappx/api/theme-change.md +742 -0
- package/data/uniappx/api/theme.md +3 -0
- package/data/uniappx/api/toast.md +180 -0
- package/data/uniappx/api/uni-push.md +513 -0
- package/data/uniappx/api/unicloud/README.md +87 -0
- package/data/uniappx/api/unicloud/database.md +1028 -0
- package/data/uniappx/api/unicloud/function.md +83 -0
- package/data/uniappx/api/unicloud/object.md +138 -0
- package/data/uniappx/api/unicloud/sse-channel.md +92 -0
- package/data/uniappx/api/unicloud/storage.md +204 -0
- package/data/uniappx/api/unicloud/utils.md +153 -0
- package/data/uniappx/api/unipage.md +263 -0
- package/data/uniappx/api/upload-file.md +233 -0
- package/data/uniappx/api/vibrate.md +177 -0
- package/data/uniappx/api/virtual-payment.md +517 -0
- package/data/uniappx/api/websocket-global.md +3 -0
- package/data/uniappx/api/websocket.md +562 -0
- package/data/uniappx/api/wide-screen-adaptation.md +433 -0
- package/data/uniappx/api/wifi.md +508 -0
- package/data/uniappx/api/window.md +88 -0
- package/data/uniappx/app-harmony/README.md +74 -0
- package/data/uniappx/app-harmony/harmony-vapor.md +3 -0
- package/data/uniappx/app-vapor.md +583 -0
- package/data/uniappx/benchmark/vapor-benchmark-android.md +483 -0
- package/data/uniappx/benchmark/vapor-benchmark-harmony.md +309 -0
- package/data/uniappx/benchmark/vapor-benchmark-ios.md +373 -0
- package/data/uniappx/collocation/_sidebar.md +15 -0
- package/data/uniappx/collocation/app.md +375 -0
- package/data/uniappx/collocation/manifest-android.md +1289 -0
- package/data/uniappx/collocation/manifest-harmony.md +152 -0
- package/data/uniappx/collocation/manifest-ios.md +710 -0
- package/data/uniappx/collocation/manifest-modules.md +508 -0
- package/data/uniappx/collocation/manifest-splashscreen.md +227 -0
- package/data/uniappx/collocation/manifest.md +745 -0
- package/data/uniappx/collocation/pagesjson.md +790 -0
- package/data/uniappx/collocation/themejson.md +176 -0
- package/data/uniappx/compiler/README.md +121 -0
- package/data/uniappx/compiler/_sidebar.md +4 -0
- package/data/uniappx/component/README.md +206 -0
- package/data/uniappx/component/_sidebar.md +118 -0
- package/data/uniappx/component/ad-custom.md +29 -0
- package/data/uniappx/component/ad.md +124 -0
- package/data/uniappx/component/animation-view.md +51 -0
- package/data/uniappx/component/aria-component.md +21 -0
- package/data/uniappx/component/audio.md +4 -0
- package/data/uniappx/component/block.md +26 -0
- package/data/uniappx/component/button.md +298 -0
- package/data/uniappx/component/camera.md +303 -0
- package/data/uniappx/component/canvas.md +230 -0
- package/data/uniappx/component/channel-live.md +27 -0
- package/data/uniappx/component/channel-video.md +38 -0
- package/data/uniappx/component/checkbox-group.md +56 -0
- package/data/uniappx/component/checkbox.md +247 -0
- package/data/uniappx/component/common.md +637 -0
- package/data/uniappx/component/cover-image.md +42 -0
- package/data/uniappx/component/cover-view.md +93 -0
- package/data/uniappx/component/custom-tab-bar.md +36 -0
- package/data/uniappx/component/double-tap-gesture-handler.md +36 -0
- package/data/uniappx/component/draggable-sheet.md +31 -0
- package/data/uniappx/component/editor.md +329 -0
- package/data/uniappx/component/flow-item.md +3 -0
- package/data/uniappx/component/force-press-gesture-handler.md +36 -0
- package/data/uniappx/component/form.md +378 -0
- package/data/uniappx/component/functional-page-navigator.md +43 -0
- package/data/uniappx/component/glass-effect-view.md +217 -0
- package/data/uniappx/component/grid-builder.md +39 -0
- package/data/uniappx/component/grid-view.md +35 -0
- package/data/uniappx/component/horizontal-drag-gesture-handler.md +40 -0
- package/data/uniappx/component/icon.md +41 -0
- package/data/uniappx/component/image.md +264 -0
- package/data/uniappx/component/input.md +899 -0
- package/data/uniappx/component/keyboard-accessory.md +21 -0
- package/data/uniappx/component/label.md +135 -0
- package/data/uniappx/component/list-builder.md +36 -0
- package/data/uniappx/component/list-item.md +1 -0
- package/data/uniappx/component/list-view.md +508 -0
- package/data/uniappx/component/live-player.md +267 -0
- package/data/uniappx/component/live-pusher.md +343 -0
- package/data/uniappx/component/loading.md +309 -0
- package/data/uniappx/component/long-press-gesture-handler.md +40 -0
- package/data/uniappx/component/map.md +381 -0
- package/data/uniappx/component/match-media.md +132 -0
- package/data/uniappx/component/movable-area.md +37 -0
- package/data/uniappx/component/movable-view.md +157 -0
- package/data/uniappx/component/native-component.md +21 -0
- package/data/uniappx/component/native-view.md +342 -0
- package/data/uniappx/component/navigation-bar.md +44 -0
- package/data/uniappx/component/navigator.md +143 -0
- package/data/uniappx/component/nested-scroll-body.md +122 -0
- package/data/uniappx/component/nested-scroll-header.md +121 -0
- package/data/uniappx/component/nested-scroll.md +6 -0
- package/data/uniappx/component/official-account.md +21 -0
- package/data/uniappx/component/open-container.md +38 -0
- package/data/uniappx/component/page-container.md +386 -0
- package/data/uniappx/component/page-meta.md +79 -0
- package/data/uniappx/component/pan-gesture-handler.md +40 -0
- package/data/uniappx/component/picker-view-column.md +3 -0
- package/data/uniappx/component/picker-view.md +180 -0
- package/data/uniappx/component/picker.md +370 -0
- package/data/uniappx/component/progress.md +163 -0
- package/data/uniappx/component/radio-group.md +56 -0
- package/data/uniappx/component/radio.md +218 -0
- package/data/uniappx/component/rich-text.md +244 -0
- package/data/uniappx/component/root-portal.md +26 -0
- package/data/uniappx/component/scale-gesture-handler.md +45 -0
- package/data/uniappx/component/scroll-view.md +556 -0
- package/data/uniappx/component/share-element.md +221 -0
- package/data/uniappx/component/slider.md +232 -0
- package/data/uniappx/component/snapshot.md +30 -0
- package/data/uniappx/component/span.md +21 -0
- package/data/uniappx/component/sticky-header.md +138 -0
- package/data/uniappx/component/sticky-section.md +152 -0
- package/data/uniappx/component/sticky.md +6 -0
- package/data/uniappx/component/store-home.md +26 -0
- package/data/uniappx/component/store-product.md +28 -0
- package/data/uniappx/component/swiper-item.md +3 -0
- package/data/uniappx/component/swiper.md +344 -0
- package/data/uniappx/component/switch.md +183 -0
- package/data/uniappx/component/tap-gesture-handler.md +36 -0
- package/data/uniappx/component/text.md +384 -0
- package/data/uniappx/component/textarea.md +599 -0
- package/data/uniappx/component/uni-ui-x/README.md +165 -0
- package/data/uniappx/component/uni-ui-x/uni-badge-view.md +260 -0
- package/data/uniappx/component/uni-ui-x/uni-collapse-item.md +3 -0
- package/data/uniappx/component/uni-ui-x/uni-collapse.md +652 -0
- package/data/uniappx/component/uni-ui-x/uni-drag-cell.md +782 -0
- package/data/uniappx/component/uni-ui-x/uni-fab-button.md +137 -0
- package/data/uniappx/component/uni-ui-x/uni-index-bar.md +224 -0
- package/data/uniappx/component/uni-ui-x/uni-link.md +190 -0
- package/data/uniappx/component/uni-ui-x/uni-nav-bar.md +173 -0
- package/data/uniappx/component/uni-ui-x/uni-number-box.md +234 -0
- package/data/uniappx/component/uni-ui-x/uni-rate.md +151 -0
- package/data/uniappx/component/uni-ui-x/uni-refresh-box.md +250 -0
- package/data/uniappx/component/uni-ui-x/uni-tab-bar.md +3 -0
- package/data/uniappx/component/uni-ui-x/uni-tab-content.md +3 -0
- package/data/uniappx/component/uni-ui-x/uni-tab-item.md +3 -0
- package/data/uniappx/component/uni-ui-x/uni-tab-midbutton.md +3 -0
- package/data/uniappx/component/uni-ui-x/uni-tab.md +1203 -0
- package/data/uniappx/component/uni-ui-x/uni-time-format.md +213 -0
- package/data/uniappx/component/unicloud-db.md +270 -0
- package/data/uniappx/component/vertical-drag-gesture-handler.md +40 -0
- package/data/uniappx/component/video.md +630 -0
- package/data/uniappx/component/view.md +216 -0
- package/data/uniappx/component/voip-room.md +43 -0
- package/data/uniappx/component/waterflow.md +407 -0
- package/data/uniappx/component/web-view.md +449 -0
- package/data/uniappx/css/README.md +436 -0
- package/data/uniappx/css/_sidebar.md +103 -0
- package/data/uniappx/css/align-content.md +338 -0
- package/data/uniappx/css/align-items.md +276 -0
- package/data/uniappx/css/align-self.md +291 -0
- package/data/uniappx/css/animation-composition.md +33 -0
- package/data/uniappx/css/animation-delay.md +26 -0
- package/data/uniappx/css/animation-direction.md +34 -0
- package/data/uniappx/css/animation-duration.md +31 -0
- package/data/uniappx/css/animation-fill-mode.md +34 -0
- package/data/uniappx/css/animation-iteration-count.md +31 -0
- package/data/uniappx/css/animation-name.md +31 -0
- package/data/uniappx/css/animation-play-state.md +32 -0
- package/data/uniappx/css/animation-range-end.md +26 -0
- package/data/uniappx/css/animation-range-start.md +26 -0
- package/data/uniappx/css/animation-range.md +34 -0
- package/data/uniappx/css/animation-timeline.md +34 -0
- package/data/uniappx/css/animation-timing-function.md +45 -0
- package/data/uniappx/css/animation.md +36 -0
- package/data/uniappx/css/backdrop-filter.md +255 -0
- package/data/uniappx/css/background-clip.md +36 -0
- package/data/uniappx/css/background-color.md +353 -0
- package/data/uniappx/css/background-image.md +152 -0
- package/data/uniappx/css/background.md +35 -0
- package/data/uniappx/css/border-bottom-color.md +39 -0
- package/data/uniappx/css/border-bottom-left-radius.md +33 -0
- package/data/uniappx/css/border-bottom-right-radius.md +33 -0
- package/data/uniappx/css/border-bottom-style.md +37 -0
- package/data/uniappx/css/border-bottom-width.md +44 -0
- package/data/uniappx/css/border-bottom.md +201 -0
- package/data/uniappx/css/border-color.md +284 -0
- package/data/uniappx/css/border-left-color.md +34 -0
- package/data/uniappx/css/border-left-style.md +37 -0
- package/data/uniappx/css/border-left-width.md +44 -0
- package/data/uniappx/css/border-left.md +200 -0
- package/data/uniappx/css/border-radius.md +391 -0
- package/data/uniappx/css/border-right-color.md +34 -0
- package/data/uniappx/css/border-right-style.md +37 -0
- package/data/uniappx/css/border-right-width.md +44 -0
- package/data/uniappx/css/border-right.md +201 -0
- package/data/uniappx/css/border-style.md +271 -0
- package/data/uniappx/css/border-top-color.md +34 -0
- package/data/uniappx/css/border-top-left-radius.md +33 -0
- package/data/uniappx/css/border-top-right-radius.md +33 -0
- package/data/uniappx/css/border-top-style.md +37 -0
- package/data/uniappx/css/border-top-width.md +44 -0
- package/data/uniappx/css/border-top.md +201 -0
- package/data/uniappx/css/border-width.md +415 -0
- package/data/uniappx/css/border.md +302 -0
- package/data/uniappx/css/bottom.md +259 -0
- package/data/uniappx/css/box-shadow.md +879 -0
- package/data/uniappx/css/box-sizing.md +353 -0
- package/data/uniappx/css/color.md +158 -0
- package/data/uniappx/css/common/at-rules.md +244 -0
- package/data/uniappx/css/common/color.md +40 -0
- package/data/uniappx/css/common/function.md +664 -0
- package/data/uniappx/css/common/length.md +178 -0
- package/data/uniappx/css/common/selector.md +55 -0
- package/data/uniappx/css/common/style-isolation.md +215 -0
- package/data/uniappx/css/common/variable.md +1 -0
- package/data/uniappx/css/direction.md +146 -0
- package/data/uniappx/css/display.md +42 -0
- package/data/uniappx/css/flex-basis.md +306 -0
- package/data/uniappx/css/flex-direction.md +243 -0
- package/data/uniappx/css/flex-flow.md +283 -0
- package/data/uniappx/css/flex-grow.md +318 -0
- package/data/uniappx/css/flex-shrink.md +313 -0
- package/data/uniappx/css/flex-wrap.md +259 -0
- package/data/uniappx/css/flex.md +216 -0
- package/data/uniappx/css/font-family.md +187 -0
- package/data/uniappx/css/font-size.md +176 -0
- package/data/uniappx/css/font-style.md +139 -0
- package/data/uniappx/css/font-weight.md +167 -0
- package/data/uniappx/css/height.md +239 -0
- package/data/uniappx/css/justify-content.md +286 -0
- package/data/uniappx/css/left.md +260 -0
- package/data/uniappx/css/letter-spacing.md +149 -0
- package/data/uniappx/css/line-height.md +173 -0
- package/data/uniappx/css/lines.md +37 -0
- package/data/uniappx/css/margin-bottom.md +281 -0
- package/data/uniappx/css/margin-left.md +281 -0
- package/data/uniappx/css/margin-right.md +278 -0
- package/data/uniappx/css/margin-top.md +274 -0
- package/data/uniappx/css/margin.md +315 -0
- package/data/uniappx/css/max-height.md +242 -0
- package/data/uniappx/css/max-width.md +251 -0
- package/data/uniappx/css/min-height.md +252 -0
- package/data/uniappx/css/min-width.md +243 -0
- package/data/uniappx/css/opacity.md +248 -0
- package/data/uniappx/css/overflow.md +330 -0
- package/data/uniappx/css/padding-bottom.md +241 -0
- package/data/uniappx/css/padding-left.md +234 -0
- package/data/uniappx/css/padding-right.md +242 -0
- package/data/uniappx/css/padding-top.md +234 -0
- package/data/uniappx/css/padding.md +309 -0
- package/data/uniappx/css/pointer-events.md +155 -0
- package/data/uniappx/css/position.md +444 -0
- package/data/uniappx/css/right.md +260 -0
- package/data/uniappx/css/text-align.md +154 -0
- package/data/uniappx/css/text-decoration-color.md +35 -0
- package/data/uniappx/css/text-decoration-line.md +144 -0
- package/data/uniappx/css/text-decoration-style.md +41 -0
- package/data/uniappx/css/text-decoration-thickness.md +39 -0
- package/data/uniappx/css/text-decoration.md +52 -0
- package/data/uniappx/css/text-overflow.md +176 -0
- package/data/uniappx/css/text-shadow.md +146 -0
- package/data/uniappx/css/top.md +258 -0
- package/data/uniappx/css/transform-origin.md +298 -0
- package/data/uniappx/css/transform.md +50 -0
- package/data/uniappx/css/transition-delay.md +253 -0
- package/data/uniappx/css/transition-duration.md +275 -0
- package/data/uniappx/css/transition-property.md +67 -0
- package/data/uniappx/css/transition-timing-function.md +259 -0
- package/data/uniappx/css/transition.md +527 -0
- package/data/uniappx/css/visibility.md +198 -0
- package/data/uniappx/css/white-space.md +162 -0
- package/data/uniappx/css/width.md +300 -0
- package/data/uniappx/css/z-index.md +411 -0
- package/data/uniappx/debug/android-inspector.md +54 -0
- package/data/uniappx/i18n.md +358 -0
- package/data/uniappx/mp/README.md +155 -0
- package/data/uniappx/mp/native-component-and-wxs.md +151 -0
- package/data/uniappx/native/README.md +65 -0
- package/data/uniappx/native/debug/android.md +122 -0
- package/data/uniappx/native/debug/harmony.md +116 -0
- package/data/uniappx/native/debug/ios.md +84 -0
- package/data/uniappx/native/download/android.md +132 -0
- package/data/uniappx/native/download/ios.md +31 -0
- package/data/uniappx/native/modules/android/others.md +1343 -0
- package/data/uniappx/native/modules/android/uni-ad.md +99 -0
- package/data/uniappx/native/modules/android/uni-facialRecognitionVerify.md +69 -0
- package/data/uniappx/native/modules/android/uni-getLocation.md +121 -0
- package/data/uniappx/native/modules/android/uni-map-tencent.md +92 -0
- package/data/uniappx/native/modules/android/uni-oauth.md +57 -0
- package/data/uniappx/native/modules/android/uni-payment.md +110 -0
- package/data/uniappx/native/modules/android/uni-push.md +217 -0
- package/data/uniappx/native/modules/android/uni-share.md +57 -0
- package/data/uniappx/native/modules/android/uni-verify.md +101 -0
- package/data/uniappx/native/modules/android/uni-video.md +125 -0
- package/data/uniappx/native/modules/harmony/facialVerify.md +45 -0
- package/data/uniappx/native/modules/harmony/location.md +43 -0
- package/data/uniappx/native/modules/harmony/map.md +64 -0
- package/data/uniappx/native/modules/harmony/modules.md +23 -0
- package/data/uniappx/native/modules/harmony/oauth.md +47 -0
- package/data/uniappx/native/modules/harmony/pay.md +85 -0
- package/data/uniappx/native/modules/harmony/push.md +74 -0
- package/data/uniappx/native/modules/harmony/verify.md +45 -0
- package/data/uniappx/native/modules/ios/modules.md +943 -0
- package/data/uniappx/native/permission/android_permission_adapter.md +62 -0
- package/data/uniappx/native/use/android.md +521 -0
- package/data/uniappx/native/use/androidcomm.md +104 -0
- package/data/uniappx/native/use/androiduts.md +388 -0
- package/data/uniappx/native/use/harmony.md +99 -0
- package/data/uniappx/native/use/harmonyapi.md +190 -0
- package/data/uniappx/native/use/harmonyuts.md +62 -0
- package/data/uniappx/native/use/ios.md +90 -0
- package/data/uniappx/native/use/iosapi.md +288 -0
- package/data/uniappx/native/use/iosuts.md +87 -0
- package/data/uniappx/page.md +488 -0
- package/data/uniappx/performance.md +175 -0
- package/data/uniappx/plugin/NOTE.md +5 -0
- package/data/uniappx/project.md +148 -0
- package/data/uniappx/readme.md +381 -0
- package/data/uniappx/release-note-alpha.md +2361 -0
- package/data/uniappx/release.md +2224 -0
- package/data/uniappx/sample.md +157 -0
- package/data/uniappx/select/native-render-and-self-render.md +382 -0
- package/data/uniappx/select.md +3 -0
- package/data/uniappx/tutorial/android-16kb.md +91 -0
- package/data/uniappx/tutorial/android-memoryleak.md +542 -0
- package/data/uniappx/tutorial/app-env.md +80 -0
- package/data/uniappx/tutorial/app-market.md +51 -0
- package/data/uniappx/tutorial/app-package.md +195 -0
- package/data/uniappx/tutorial/app-playground.md +188 -0
- package/data/uniappx/tutorial/app-update-wgt.md +9 -0
- package/data/uniappx/tutorial/bug_repair.md +40 -0
- package/data/uniappx/tutorial/codegap.md +223 -0
- package/data/uniappx/tutorial/compatibility.md +119 -0
- package/data/uniappx/tutorial/compliance.md +671 -0
- package/data/uniappx/tutorial/debug/devtools.md +134 -0
- package/data/uniappx/tutorial/idref.md +121 -0
- package/data/uniappx/tutorial/ls-plugin.md +181 -0
- package/data/uniappx/tutorial/request.md +204 -0
- package/data/uniappx/tutorial/rules_mcp.md +121 -0
- package/data/uniappx/tutorial/stickynestlist.md +68 -0
- package/data/uniappx/tutorial/store.md +130 -0
- package/data/uniappx/uniapptox.md +145 -0
- package/data/uniappx/uts/README.md +443 -0
- package/data/uniappx/uts/_sidebar.md +55 -0
- package/data/uniappx/uts/buildin-object-api/array.md +2265 -0
- package/data/uniappx/uts/buildin-object-api/arraybuffer.md +480 -0
- package/data/uniappx/uts/buildin-object-api/console.md +520 -0
- package/data/uniappx/uts/buildin-object-api/dataview.md +853 -0
- package/data/uniappx/uts/buildin-object-api/date.md +1534 -0
- package/data/uniappx/uts/buildin-object-api/error.md +30 -0
- package/data/uniappx/uts/buildin-object-api/float32array.md +581 -0
- package/data/uniappx/uts/buildin-object-api/float64array.md +626 -0
- package/data/uniappx/uts/buildin-object-api/global.md +600 -0
- package/data/uniappx/uts/buildin-object-api/int16array.md +1069 -0
- package/data/uniappx/uts/buildin-object-api/int32array.md +1137 -0
- package/data/uniappx/uts/buildin-object-api/int8array.md +1166 -0
- package/data/uniappx/uts/buildin-object-api/json.md +407 -0
- package/data/uniappx/uts/buildin-object-api/map.md +479 -0
- package/data/uniappx/uts/buildin-object-api/math.md +1525 -0
- package/data/uniappx/uts/buildin-object-api/number.md +852 -0
- package/data/uniappx/uts/buildin-object-api/promise.md +1444 -0
- package/data/uniappx/uts/buildin-object-api/regexp.md +534 -0
- package/data/uniappx/uts/buildin-object-api/set.md +317 -0
- package/data/uniappx/uts/buildin-object-api/string.md +1604 -0
- package/data/uniappx/uts/buildin-object-api/textdecoder.md +133 -0
- package/data/uniappx/uts/buildin-object-api/textencoder.md +60 -0
- package/data/uniappx/uts/buildin-object-api/timers.md +145 -0
- package/data/uniappx/uts/buildin-object-api/uint16array.md +1154 -0
- package/data/uniappx/uts/buildin-object-api/uint32array.md +1165 -0
- package/data/uniappx/uts/buildin-object-api/uint8array.md +1146 -0
- package/data/uniappx/uts/buildin-object-api/uint8clampedarray.md +1147 -0
- package/data/uniappx/uts/buildin-object-api/utsjsonobject.md +1297 -0
- package/data/uniappx/uts/class.md +462 -0
- package/data/uniappx/uts/compiler-known-issues.md +865 -0
- package/data/uniappx/uts/conditional.md +206 -0
- package/data/uniappx/uts/data-type.md +2242 -0
- package/data/uniappx/uts/enumerability.md +15 -0
- package/data/uniappx/uts/enumerability_iterable.md +200 -0
- package/data/uniappx/uts/exception.md +25 -0
- package/data/uniappx/uts/function.md +358 -0
- package/data/uniappx/uts/generics.md +246 -0
- package/data/uniappx/uts/interface.md +35 -0
- package/data/uniappx/uts/iterable.md +137 -0
- package/data/uniappx/uts/keywords.md +393 -0
- package/data/uniappx/uts/literal.md +216 -0
- package/data/uniappx/uts/loops.md +236 -0
- package/data/uniappx/uts/module.md +92 -0
- package/data/uniappx/uts/object.md +155 -0
- package/data/uniappx/uts/operator.md +295 -0
- package/data/uniappx/uts/runtime-known-issues.md +94 -0
- package/data/uniappx/uts/type-aliases.md +43 -0
- package/data/uniappx/uts/type-compatibility.md +133 -0
- package/data/uniappx/uts/uts-optimize.md +33 -0
- package/data/uniappx/uts/uts_diff_ts.md +2443 -0
- package/data/uniappx/uts/utsactivitycallback.md +3099 -0
- package/data/uniappx/uts/utsandroid.md +1461 -0
- package/data/uniappx/uts/utsandroidhookproxy.md +34 -0
- package/data/uniappx/uts/utsharmony.md +348 -0
- package/data/uniappx/uts/utsios.md +466 -0
- package/data/uniappx/uts/utsioshookproxy.md +374 -0
- package/data/uniappx/vapor-benchmark.md +9 -0
- package/data/uniappx/vue/README.md +313 -0
- package/data/uniappx/vue/_sidebar.md +10 -0
- package/data/uniappx/vue/advanced-api.md +253 -0
- package/data/uniappx/vue/built-in.md +2133 -0
- package/data/uniappx/vue/component.md +1134 -0
- package/data/uniappx/vue/composition-api.md +2085 -0
- package/data/uniappx/vue/data-bind.md +463 -0
- package/data/uniappx/vue/global-api.md +307 -0
- package/data/uniappx/vue/modifier.md +249 -0
- package/data/uniappx/vue/options-api.md +1489 -0
- package/data/uniappx/vue/others.md +20 -0
- package/data/uniappx/web/README.md +263 -0
- package/data/uniappx/web/ssr.md +238 -0
- package/data/uniappx/worktile/NOTE.md +5 -0
- package/data/uniappx-doc-index.json +7692 -0
- package/dist/main.mjs +67 -45
- package/package.json +1 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# 源码和示例
|
|
2
|
+
|
|
3
|
+
官方有6个开源项目比较重要
|
|
4
|
+
- [hello uni-app x](https://gitcode.com/dcloud/hello-uni-app-x):uni内置组件和API的使用示例,也包括一些常见但复杂的模板示例
|
|
5
|
+
- [hello uts](https://gitcode.com/dcloud/hello-uts):uts的语法和内置对象的使用示例
|
|
6
|
+
- [hello uvue](https://gitcode.com/dcloud/hello-uvue):vue语法的使用示例
|
|
7
|
+
- [uni-api](https://gitcode.com/dcloud/uni-api):uni api的实现源码。大量uts API插件源码,适合uts插件作者学习
|
|
8
|
+
- [uni-component](https://gitcode.com/dcloud/uni-component):内置组件的实现源码。uts组件插件源码,适合uts插件作者学习
|
|
9
|
+
- [uni-ai-x](https://ext.dcloud.net.cn/plugin?name=uni-ai-x):用于快速搭建 AI 聊天类应用的开源插件,适合开发者学习 AI 功能与 uni-app x 结合的开发方案
|
|
10
|
+
|
|
11
|
+
这些开源项目的master分支对应着HBuilderX最新正式版,alpha分支对应着最新alpha版。
|
|
12
|
+
|
|
13
|
+
关于[uni-api](https://gitcode.com/dcloud/uni-api)和[uni-component](https://gitcode.com/dcloud/uni-component),再强调说明下:
|
|
14
|
+
|
|
15
|
+
uni-app x 的组件和API,大多是uts语言开发的。和开发者做的uts插件是一样的。\
|
|
16
|
+
它们都符合[exi api](https://uniapp.dcloud.net.cn/api/extapi.html)规范,也就是说,把这些uni_modules复制到工程下,会替换内置API和组件的实现。
|
|
17
|
+
|
|
18
|
+
所以如需修改 uni-app x 的组件和API,比如修复一些bug或添加一些功能,可以通过这种方式来实现。
|
|
19
|
+
|
|
20
|
+
如果这些改动有助于其他开发者,欢迎给开源项目回提pr。
|
|
21
|
+
|
|
22
|
+
在 uni-app x 的组件和API文档页面的右上角,也有每个组件和API的源码,都是链接到[uni-api](https://gitcode.com/dcloud/uni-api)和[uni-component](https://gitcode.com/dcloud/uni-component)项目。
|
|
23
|
+
|
|
24
|
+
除此之外,插件市场还有众多插件,[详见](https://ext.dcloud.net.cn/?uni-appx=1)
|
|
25
|
+
|
|
26
|
+
目前插件市场已经有近千款适配uni-app x的插件,不管是uts还是uvue,已有大量开发者在使用。
|
|
27
|
+
|
|
28
|
+
上线的App案例:
|
|
29
|
+
由于 uni-app x 没有运行时数据采集,所以DCloud并不知道哪些开发者在真实使用uni-app x。\
|
|
30
|
+
希望大型开发者,能主动给本文档提交pr,贡献案例,帮助uni-app x生态发展。
|
|
31
|
+
|
|
32
|
+
以下列出部分案例:
|
|
33
|
+
|
|
34
|
+
- 发票匣:(蒸汽模式案例)[Android](https://sj.qq.com/appdetail/com.juxiang.fapiaoxia)、[iOS](https://apps.apple.com/cn/app/%E5%8F%91%E7%A5%A8%E5%8C%A3/id6593679748)、[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.juxiang.hfapiaoxia&channelId=SHARE&source=appshare)
|
|
35
|
+
- 仪表宝典(化工资料):(蒸汽模式案例)[Android](https://sj.qq.com/appdetail/ins.ybbd.app )、[iOS](https://apps.apple.com/us/app/absign/id6760313721 )、[鸿蒙](https://appgallery.huawei.com/app/detail?id=ins.ybbd.app )
|
|
36
|
+
- e线签(天津数字认证有限公司):[Android](https://sj.qq.com/appdetail/com.tjca.elinesign)、[iOS](https://apps.apple.com/cn/app/e%E7%BA%BF%E7%AD%BE/id6743433163)
|
|
37
|
+
- Tevau 海外应用:[Google Play](https://play.google.com/store/apps/details?id=uni.UNI2317D55&hl=zh&pli=1)、[iOS](https://apps.apple.com/cn/app/tevau/id6504911110)
|
|
38
|
+
- 舆情秘书专业版:[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.istarshine.yqms4harmonyos)
|
|
39
|
+
- 我要查快递(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.youjuda.woyaochakuaidi)
|
|
40
|
+
- 账王业财(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.cash360.lionhm)
|
|
41
|
+
- 台球追分记分(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=zhuifen.huawei.com)
|
|
42
|
+
- 学识魔方(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.XueShiMoFang.huawei)
|
|
43
|
+
- 环保计算小帮手(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.jzssds)
|
|
44
|
+
- RiceUI(组件库):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.rice.xui)
|
|
45
|
+
- 手机数据库(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.xingyueldh.phonedatabase)
|
|
46
|
+
- 信息安全速记助手(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ruixiang.xxaqsjzs)
|
|
47
|
+
- 都测(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.hime.dotest)
|
|
48
|
+
- 典萃诗词(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.dcsc)
|
|
49
|
+
- HUD抬头显示(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.szzhongke.hud_hm)
|
|
50
|
+
- 大咖复刻(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.dkfk)
|
|
51
|
+
- 名人妙语通(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.mrmyt)
|
|
52
|
+
- OC智联(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.ocdw.app.oczl)
|
|
53
|
+
- 远火(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=hm.yuanhuo.cn)
|
|
54
|
+
- 月月好(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.menstrual.period)
|
|
55
|
+
- 格式转换专家(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.gszh.app)
|
|
56
|
+
- 数学公式导航仪(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.sxgsdhy)
|
|
57
|
+
- 海江消防:[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.hjnet.app.harmons)
|
|
58
|
+
- 诗律魔方(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.slmf)
|
|
59
|
+
- 词林探秘(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ahzx.cltm)
|
|
60
|
+
- 生态调查(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=ecological_investigation.www.gzqtai.com)
|
|
61
|
+
- 注册环保工程师大全(学习):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.relations.huanbao)
|
|
62
|
+
- 大张(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=elan.mobile.dazhang)
|
|
63
|
+
- 掌上粤剧宝(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.ZhangShangYueJuBao.huawei)
|
|
64
|
+
- ProcessOn思维导图(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.processon.app)
|
|
65
|
+
- 星云办公(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.xdong.cloudclient)
|
|
66
|
+
- AI问邮(问答工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.isoftstone.AIStamp)
|
|
67
|
+
- 友友露营(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.LuYingZhuShou.huawei)
|
|
68
|
+
- 宝贝成长记录(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.bbczjl.huawei)
|
|
69
|
+
- 粤语点读工具(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=hxl.yyddgj.huawei)
|
|
70
|
+
- 京唐签到(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.example.sgjt_daka_jiaqin)
|
|
71
|
+
- 轻松化学宝典(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.QingSongHuaXueBaoDian.huawei)
|
|
72
|
+
- 金鸣表格文字识别(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.jm189.hm)
|
|
73
|
+
- 小羊口袋粤语(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.KouDaiYueYu.huawei)
|
|
74
|
+
- 安全审批(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.tec.approval)
|
|
75
|
+
- 芯片助手ICHELPS(电商):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.ichelps.huawei)
|
|
76
|
+
- 租客管家(租房):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.ZuKeGuanJia.com)
|
|
77
|
+
- 喵大大(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.MiaoDaDa.huawei)
|
|
78
|
+
- 厦团团(旅游):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.liuchangos.xiatuantuan)
|
|
79
|
+
- 相约乒乓(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.XiangYuePingPang.huawei)
|
|
80
|
+
- 小易CRM助手(客户管理):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.CRMZhuShou.huawei)
|
|
81
|
+
- 花草君(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=xmshannian.huaca.huawei.com)
|
|
82
|
+
- 能源帮帮记(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.NengYuanBangBangJi.huawei)
|
|
83
|
+
- 旅途管家(出行):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.tojoy.kangbosstriph)
|
|
84
|
+
- Ozon运费(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.xixisys.ozonship)
|
|
85
|
+
- 露营仓库(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.luyi.weilei)
|
|
86
|
+
- 图片压缩精灵(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.tpys.app)
|
|
87
|
+
- 怡宁网院平台医生(平台):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.hlwxm.hlwxmMedicalCare.construction)
|
|
88
|
+
- 甘肃党建(党建信息化平台):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.gov.gsdj.app.hmos)
|
|
89
|
+
- 清科锐华(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.reachway.cemis.reachway.huawei)
|
|
90
|
+
- 现在种什么(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.suye.xzzsm)
|
|
91
|
+
- 广州公务出行(交通):[鸿蒙](https://appgallery.huawei.com/app/detail?id=gz.gwcx.huawei)
|
|
92
|
+
- BKT智能(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.bktclub.bkthm)
|
|
93
|
+
- 云医点餐(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.easyhospital.rest)
|
|
94
|
+
- 应安联(应急安全服务平台):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.aky.yal.huawei)
|
|
95
|
+
- IRTool(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=cn.cenz.irtool)
|
|
96
|
+
- 备考注册道路工程师(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.relations.daolu)
|
|
97
|
+
- 街舞口袋宝(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=Huangwj.JieWuKouDaiBao.huawei)
|
|
98
|
+
- 堆塔(OA):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.detaclould.huawei)
|
|
99
|
+
- 黄石城发移动OA:[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.hcit.hscfoa)
|
|
100
|
+
- 襄阳交通移动OA:[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.hcit.xyjtoa)
|
|
101
|
+
- 启蒙abc(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.qimeng.abc)
|
|
102
|
+
- 齐鲁风云(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.qlfy.weather.hm)
|
|
103
|
+
- 安全审批(工具):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.tec.approval)
|
|
104
|
+
- 二狗英语(教育):[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.youjuda.ergouenglish)
|
|
105
|
+
- W Life(租房):[Android](https://appgallery.huawei.com/app/C114037237)、[iOS](https://apps.apple.com/cn/app/w-life/id6742771365?uo=4)
|
|
106
|
+
- 维度新闻(黑龙江官媒):[Android](https://sj.qq.com/appdetail/uni.UNIDB3060D)
|
|
107
|
+
- Atter(AI工具):[Android](https://sj.qq.com/appdetail/com.wbgrecordx.app)、[iOS](https://apps.apple.com/us/app/atter-ai-voice-to-text-notes/id6747348330)
|
|
108
|
+
- 崇胜AI助手(工具):[Android](https://appgallery.huawei.com/app/C110643037)、[iOS](https://apps.apple.com/bn/app/%E5%B4%87%E8%83%9Cai%E5%8A%A9%E6%89%8B-ai%E8%A7%86%E9%A2%91%E5%88%9B%E4%BD%9C%E5%B7%A5%E5%85%B7/id6479941790)
|
|
109
|
+
- 知食有为(AI健康):[Android](https://sj.qq.com/appdetail/cn.sshcn.nutrition.m)、[iOS](https://apps.apple.com/hk/app/%E7%9F%A5%E9%A3%9F%E6%9C%89%E4%B8%BA/id6739123603)
|
|
110
|
+
- 智能PPT生成器(工具):[Android](https://app.mi.com/details?id=com.pptgen.Intelligent)
|
|
111
|
+
- 格式作坊(工具):[Android](https://sj.qq.com/appdetail/com.gszf.app)、[iOS](https://apps.apple.com/cn/app/%E6%A0%BC%E5%BC%8F%E4%BD%9C%E5%9D%8A-%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2%E5%99%A8/id6472780051)
|
|
112
|
+
- 金股讯(金融):[Android](https://sj.qq.com/appdetail/com.jinguxun.app)、[iOS](https://apps.apple.com/cn/app/%E9%87%91%E8%82%A1%E8%AE%AF/id1615272585)、[鸿蒙](https://appgallery.huawei.com/app/detail?id=com.jinguxun.happ)
|
|
113
|
+
- 应安联(政务):[Android](https://sj.qq.com/appdetail/com.aky.yal)、[iOS](https://apps.apple.com/cn/app/%E5%BA%94%E5%AE%89%E8%81%94/id1566809671)
|
|
114
|
+
- 智慧强安(政务):[Android](https://sj.qq.com/appdetail/com.demlution.aatianfangyetan)、[iOS](https://apps.apple.com/cn/app/%E6%99%BA%E6%85%A7%E5%BC%BA%E5%AE%89/id6476082028)
|
|
115
|
+
- 脱单吧(社交):[Android](https://sj.qq.com/appdetail/com.liewu.desingle)、[iOS](https://apps.apple.com/cn/app/%E8%84%B1%E5%8D%95%E5%90%A7/id1560465075)
|
|
116
|
+
- 缘乐多(社交):[Android](https://sj.qq.com/appdetail/com.adaphan.myloves)
|
|
117
|
+
- 面具漂流瓶(社交):[Android](https://appgallery.huawei.com/app/C113757831)
|
|
118
|
+
- 一起超慢跑(健身):[Android](https://sj.qq.com/appdetail/com.cloud.dema.jog)
|
|
119
|
+
- 萤科物联(物联网):[Android](https://sj.qq.com/appdetail/iot.ykwl.vip)、[iOS](https://apps.apple.com/cn/app/%E8%90%A4%E7%A7%91%E7%89%A9%E8%81%94/id6741841541)、[鸿蒙](https://appgallery.huawei.com/app/detail?id=huawei.iot.ykwl.vip&channelId=SHARE&source=appshare)
|
|
120
|
+
- 牛轻松(物联网):[Android](https://sj.qq.com/appdetail/com.wuitu.nqs)
|
|
121
|
+
- 小溪相册(物联网):[Android](https://app.mi.com/details?id=com.yanxi.xiaoxizaijia)、[iOS](https://apps.apple.com/vn/app/%E5%B0%8F%E6%BA%AA%E7%9B%B8%E5%86%8C/id6593673873)
|
|
122
|
+
- 灵犀一点(物联网):[Android](https://sj.qq.com/appdetail/uni.qinhua)、[iOS](https://apps.apple.com/cn/app/%E7%81%B5%E7%8A%80%E4%B8%80%E7%82%B9/id1661770402)
|
|
123
|
+
- HDK车联网(物联网):[Android](https://sj.qq.com/appdetail/com.hdk.app)、[iOS](https://apps.apple.com/cn/app/hdk%E8%BD%A6%E8%81%94%E7%BD%91/id6740163146)
|
|
124
|
+
- 易瓜优选(电商):[Android](https://sj.qq.com/appdetail/huaban.yigua)
|
|
125
|
+
- 槟购跨境(电商):[Android](https://sj.qq.com/appdetail/com.bingo.bg)、[iOS](https://apps.apple.com/hk/app/%E6%A7%9F%E8%B4%AD%E8%B7%A8%E5%A2%83/id1463306856)
|
|
126
|
+
- 嘟卡邦(电商):[Android](https://sj.qq.com/appdetail/com.dukabang.app)
|
|
127
|
+
- 百佣(电商):[Android](https://app.mi.com/details?id=com.baiyong.yuehu)、[iOS](https://apps.apple.com/cn/app/%E7%99%BE%E4%BD%A3/id6451459018)
|
|
128
|
+
- 华杰全优采(医药电商):[Android](https://sj.qq.com/appdetail/com.wta.NewCloudApp.jiuwei314439)、[iOS](https://apps.apple.com/cn/app/%E5%8D%8E%E6%9D%B0%E5%85%A8%E4%BC%98%E9%87%87/id1577869835)
|
|
129
|
+
- 时一助手(工具):[App端](http://app.yuteng.vip/sy/index.html)
|
|
130
|
+
- 拾用视频去水印(工具):[Android](https://sj.qq.com/appdetail/io.video.convertApp)
|
|
131
|
+
- 云旅迹:[Android](https://sj.qq.com/appdetail/com.yunlvji.trip)
|
|
132
|
+
- uyultax(维吾尔族多语言应用):[Android](https://sj.qq.com/appdetail/com.android.uyultax)
|
|
133
|
+
- 我爱点读(教育):[Android](https://sj.qq.com/appdetail/com.aiduowan.diandu)
|
|
134
|
+
- 天玑智研(教育):[Android](https://sj.qq.com/appdetail/com.phadscholar)、[iOS](https://apps.apple.com/us/app/%E5%A4%A9%E7%8E%91%E6%99%BA%E7%A0%94/id6743391396)
|
|
135
|
+
- 金玉良言(教育):[Android](https://sj.qq.com/appdetail/uni.app.UNI1F8CF4F)
|
|
136
|
+
- 治学课堂(教育):[Android](https://sj.qq.com/appdetail/com.zhixuerj.zxkt)、[iOS](https://apps.apple.com/cn/app/%E6%B2%BB%E5%AD%A6%E8%AF%BE%E5%A0%82/id6737838504)
|
|
137
|
+
- 课教帮(教育):[Android](https://sj.qq.com/appdetail/com.dw.kejiaobang)
|
|
138
|
+
- 同年数科(交通):[Android](https://sj.qq.com/appdetail/kemi.io.com)
|
|
139
|
+
- 汇成车队(交通):[Android](https://sj.qq.com/appdetail/cn.dsknykj.hccd)、[iOS](https://apps.apple.com/lb/app/%E6%B1%87%E6%88%90%E8%BD%A6%E9%98%9F/id6744993779)
|
|
140
|
+
- 觅数(交通):[Android](https://sj.qq.com/appdetail/com.jspdg.mishu)
|
|
141
|
+
- 亦如茶(社交):[Android](https://sj.qq.com/appdetail/com.yiru.cha)、[iOS](https://apps.apple.com/cn/app/%E4%BA%A6%E5%A6%82%E8%8C%B6/id1544325304)
|
|
142
|
+
- 桔子家(家装O2O):[Android](https://sj.qq.com/appdetail/com.juzijia.app)
|
|
143
|
+
- PowerMJ(企业管理)[Android](https://sj.qq.com/appdetail/com.power.powermj)、[iOS](https://apps.apple.com/hk/app/powermj/id6738763443)
|
|
144
|
+
- 融合办公(企业管理)[Android](https://sj.qq.com/appdetail/com.gsxx.office)
|
|
145
|
+
- 智沄+(酒店管理): [Android](https://sj.qq.com/appdetail/com.zhiyun.pms)
|
|
146
|
+
- 智控节能(物业管理):[Android](https://sj.qq.com/appdetail/uni.UNIFA742E9)
|
|
147
|
+
- 企财网(企服):[Android](https://sj.qq.com/appdetail/com.dx.qicaiwang)
|
|
148
|
+
- 中财企服:[Android](https://sj.qq.com/appdetail/com.zhongcaiqifu)
|
|
149
|
+
- 泡泡配送(外卖):[Android](https://app.mi.com/details?id=com.wxh66.dc.android)
|
|
150
|
+
- 招财猫计算器(记账):[Android](https://sj.qq.com/appdetail/com.zhaocaimao.cal)、[iOS](https://apps.apple.com/cn/app/%E6%8B%9B%E8%B4%A2%E7%8C%AB%E8%AE%A1%E7%AE%97%E5%99%A8-%E6%96%B0%E7%89%88%E6%97%A0%E5%B9%BF%E5%91%8A%E8%AE%A1%E7%AE%97%E6%9C%BA/id6742278907)
|
|
151
|
+
- 智消云管家(消防):[Android](https://sj.qq.com/appdetail/com.jbufa.iot3)、[iOS](https://apps.apple.com/sa/app/%E6%99%BA%E6%B6%88%E4%BA%91%E7%AE%A1%E5%AE%B6/id6499505198)
|
|
152
|
+
- ABSign(电子合同):[iOS](https://apps.apple.com/us/app/absign/id6751777998)
|
|
153
|
+
|
|
154
|
+
其实uni-app x最大的案例就是uni-app x自身,
|
|
155
|
+
1. uni-app x有几十个内置组件(form类、video)、uni-ui x、以及界面有关的API(showModal、showActionSheet、previewImage、chooseLocation、scanCode等)都是用uvue实现的。
|
|
156
|
+
2. uni-app x的几百个API,都是用uts实现的。
|
|
157
|
+
这些组件和API的文档上都列有源码链接。
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
# 一文讲透原生渲染和自渲染
|
|
2
|
+
|
|
3
|
+
原生渲染、自渲染,都是跨端开发领域耳熟能详的词。
|
|
4
|
+
|
|
5
|
+
但是:
|
|
6
|
+
|
|
7
|
+
- 原生渲染和自渲染的准确概念是什么?
|
|
8
|
+
- 自渲染为什么有时候比原生组件还快?
|
|
9
|
+
- 为什么 flutter 自己画得很快,但一旦混入原生 View,就会出现各种复杂问题?
|
|
10
|
+
- 原生渲染是不是天然意味着跨平台 UI 不一致?
|
|
11
|
+
- 有没有一种方案,既渲染的快,又多平台UI一致,且没有混合原生 View 渲染的各种兼容性问题?
|
|
12
|
+
|
|
13
|
+
理解这些问题,需要先把渲染系统搞明白。
|
|
14
|
+
|
|
15
|
+
## 渲染系统简述
|
|
16
|
+
|
|
17
|
+
### 典型原生渲染
|
|
18
|
+
以原生渲染为列,看看一套渲染系统包括什么,渲染流程是什么。
|
|
19
|
+
|
|
20
|
+
1. 初始化渲染资源:操作系统给App初始化一套渲染资源,包括窗体、渲染线程/进程、GPU上下文、字体加载、事件系统等。
|
|
21
|
+
2. 组件系统初始化:操作系统会提供一套的原生的 UI Framework 和组件系统。有的操作系统会提供多套,比如Android有View体系和Compose UI库,iOS有UIView体系和SwiftUI。
|
|
22
|
+
3. 排版布局:操作系统会提供多种布局,比如线性布局、约束布局、绝对定位等。
|
|
23
|
+
4. 渲染线程/进程:负责把开发者写的组件代码和使用的布局,转换为GPU可识别的指令。比如Android上skia运行在这个环节来操作GPU。
|
|
24
|
+
5. 合成与上屏:操作系统会合成应用的绘制内容,最终显示在屏幕上。
|
|
25
|
+
|
|
26
|
+
### flutter的自渲染
|
|
27
|
+
|
|
28
|
+
那么flutter的自渲染是什么?
|
|
29
|
+
1. 在应用完成第一步初始化渲染资源后,
|
|
30
|
+
2. flutter使用了OS提供的一类特殊组件,可以直接操作GPU。Android上是surfaceView/textureVIew,iOS是MTKView/CAMetalLayer,鸿蒙是XComponent。
|
|
31
|
+
3. 在创建好可操作GPU的组件后,flutter自行又初始化了一套渲染资源,仍然要做一遍原生已经做过的事情,包括窗体、渲染线程、GPU上下文、字体加载、事件系统等。
|
|
32
|
+
4. flutter提供了自己的一套widget组件系统。
|
|
33
|
+
5. flutter提供了自己的排版布局系统。
|
|
34
|
+
6. flutter的渲染线程把开发者写的组件代码和使用的布局,转换为GPU可识别的指令。
|
|
35
|
+
7. 回到原生层进行合成和上屏。
|
|
36
|
+
|
|
37
|
+
也就是flutter在原生渲染系统之上,又开辟了一套自己的渲染系统,但最终还要和原生合成。
|
|
38
|
+
|
|
39
|
+
在web上,flutter采取了一致的思路,在浏览器已经为这个网页初始化好资源后,flutter利用了canvas组件,通过编译为wasm的渲染引擎和Dart代码在上面自绘UI,然后整体合成上屏。
|
|
40
|
+
|
|
41
|
+
自渲染除了初始化渲染系统慢外,还有一个很大的问题是和原生组件的融合。后面会详细展开。
|
|
42
|
+
|
|
43
|
+
flutter在不同平台的组件,都是一套dart编写的组件,所以不同平台的组件渲染一致性很高。
|
|
44
|
+
|
|
45
|
+
### 再看看 react native
|
|
46
|
+
|
|
47
|
+
react native 使用的是原生渲染,但在排版布局这个环节,改成了用 yoga 这个c库来做 flex排版。这种方式可以让多平台使用一致的flex布局。
|
|
48
|
+
|
|
49
|
+
但 react native 使用了大量的各平台原生组件,分别由java/kotlin、objective-c/Swift等不同语言编写,这些组件差异,导致 react native 在不同平台的细节无法像flutter那样对齐。
|
|
50
|
+
|
|
51
|
+
react native 的渲染性能,在跨平台框架中属于偏低的,虽然在 Fabric + JSI 架构下消除了序列化,但它仍然在原生渲染系统之上,又建立了自己的js层虚拟DOM,js代码中发送指令到原生层,在原生层动态创建OS的原生组件。
|
|
52
|
+
|
|
53
|
+
这是 react native 的渲染流程:
|
|
54
|
+
|
|
55
|
+
1. 初始化渲染资源:与原生一致
|
|
56
|
+
2. 组件初始化:创建js虚拟dom,在js层 diff UI变更,发送指令给原生层,由原生层创建OS的原生组件
|
|
57
|
+
3. 排版布局:在C层统一flex布局
|
|
58
|
+
4. 渲染线程/进程:与原生一致
|
|
59
|
+
5. 合成与上屏:与原生一致
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### 再看看 Compose UI
|
|
63
|
+
|
|
64
|
+
它家的做法又有点不同。
|
|
65
|
+
|
|
66
|
+
- Compose UI 在Android平台是原生渲染,但没有使用 Android View体系组件和排版布局系统,而是在Android canvas上重新开发了一套自己的组件和排版布局系统。
|
|
67
|
+
虽然听起来也有点像canvas自绘,但它不是基于surface/texture直接操作GPU的。它的绘制指令仍然要走到原生的渲染线程中统一处理。不存在跨渲染管线融合的问题。
|
|
68
|
+
这种做法的好处是可以和 Android View 体系完美融合。
|
|
69
|
+
- 不过 compose-multiplatform 的iOS版,又和flutter一样,是完全的自渲染。也就是它在不同平台,采取了完全不同的渲染技术路线。这种工程选择有点怪异,其实是KMP语言本身的特性决定的。
|
|
70
|
+
|
|
71
|
+
### 最后看看 uni-app x 蒸汽模式
|
|
72
|
+
|
|
73
|
+
uni-app x 蒸汽模式也基于原生渲染管线,没有自渲染。
|
|
74
|
+
|
|
75
|
+
在组件系统方面,它和 Compose UI 的Android平台类似,开发了一套自己的组件系统,可以和系统原生组件生态完美融合。但uni在Android、iOS和鸿蒙,是统一的策略,不存在一会儿原生渲染、一会儿自渲染。
|
|
76
|
+
|
|
77
|
+
uni-app x 蒸汽模式的组件系统采用c++和uts语言开发,不同平台的组件代码一致,良好的保证了跨平台对齐。
|
|
78
|
+
并且渲染速度更快。[详见benchmark](https://doc.dcloud.net.cn/uni-app-x/benchmark/vapor-benchmark-android.html)
|
|
79
|
+
|
|
80
|
+
对比标准的原生渲染,uni-app x 蒸汽模式的变化如下:
|
|
81
|
+
|
|
82
|
+
1. 初始化渲染资源:与原生一致
|
|
83
|
+
2. 组件初始化:无虚拟DOM,通过预编译字节码/机器码,直接在原生层创建由C++编写的组件。
|
|
84
|
+
3. 排版布局:在C层统一flex布局
|
|
85
|
+
4. 渲染线程/进程:与原生一致
|
|
86
|
+
5. 合成与上屏:与原生一致
|
|
87
|
+
|
|
88
|
+
了解了渲染系统的基本原理和各家的做法,我们来看看原生渲染和自渲染的性能差异。
|
|
89
|
+
|
|
90
|
+
## 自渲染问题1:初始化性能
|
|
91
|
+
|
|
92
|
+
前文的渲染系统简述中,已经看出自渲染多做的事情。
|
|
93
|
+
|
|
94
|
+
初始化渲染资源是一套较重的流程,在原生已经初始化好渲染资源后,自渲染需要再次创建一套自己的渲染系统。但最终也需要由OS统一合成。
|
|
95
|
+
|
|
96
|
+
可以展开讲下一套自渲染系统要做的事情,在一个应用启动后,原生渲染系统已经准备好,此时发现界面中有flutter的view,
|
|
97
|
+
1. 创建surfaceView/textureVIew/MTKView/CAMetalLayer/XComponent等重型组件。
|
|
98
|
+
2. flutter要初始化图形后端如Impeller/skia,创建自己的渲染线程、GPU上下文、图层合成管理。有些情况下还要额外创建Platform线程。
|
|
99
|
+
3. flutter要创建自己的屏幕事件监听系统,由于platformView的存在,flutter的屏幕事件监听系统还需要和原生屏幕事件监听系统互相竞赛。
|
|
100
|
+
4. flutter要再自行开辟资源加载系统字体库,需要自建常用字光栅化缓存体系。
|
|
101
|
+
5. 此外,flutter使用了大量的着色器,在低版本Android上,无法启用impeller时,会造成大量耗时用于着色器的运行时编译。
|
|
102
|
+
|
|
103
|
+
这就是自渲染会比原生渲染在初始化时慢、占用内存和显存更多的原因。
|
|
104
|
+
|
|
105
|
+
## 自渲染问题2:原生混合渲染
|
|
106
|
+
|
|
107
|
+
在自渲染系统创建好后,渲染内置组件(如view、text)的速度,取决于渲染系统的代码实现性能。
|
|
108
|
+
此时原生渲染和自渲染,谁快谁慢是不一定的,取决于谁的代码写的更好。
|
|
109
|
+
|
|
110
|
+
不得不说,flutter的渲染内置组件代码写的非常优秀,尤其是在Android和鸿蒙上,部分组件的渲染速度比原生的同功能组件要快。
|
|
111
|
+
|
|
112
|
+
但注意这里有2个前提:
|
|
113
|
+
1. 自渲染系统已经初始化完毕
|
|
114
|
+
2. 渲染的是自渲染系统的内置组件
|
|
115
|
+
|
|
116
|
+
一旦要绘制平台原生组件(flutter中叫platform View),就不是这回事了。
|
|
117
|
+
|
|
118
|
+
很多系统组件、三方sdk,用的是原生渲染,这是无法改变的。
|
|
119
|
+
|
|
120
|
+
- 系统组件里有iOS的液态玻璃,鸿蒙的沉浸光感,还有弹出的软键盘也是原生渲染。
|
|
121
|
+
- 三方SDK中,比如信息流广告等都是原生的。如果这些组件是flutter的dart语言实现的,那就可以和 flutter UI 很好的融合,但现实中这很难做到。
|
|
122
|
+
- 还有一些组件不是原生渲染,但也不是flutter渲染,而是有自己的独立渲染,比如webview、video、map地图、camera、直播,这些也融不到flutter的渲染管线中,统一被纳入到platform view中。
|
|
123
|
+
|
|
124
|
+
当一个界面同时要渲染多套不同管线的内容时,合成问题非常多。
|
|
125
|
+
|
|
126
|
+
> **单一渲染体系主要是性能问题;多套渲染体系混合以后,问题就变成了 Composition、Synchronization、Input、Transform 和 Semantics 等系统级问题。**
|
|
127
|
+
|
|
128
|
+
flutter在原生混合渲染上也在持续优化,推出各种不同思路的方案,但官方文档只能列出不同方案的优劣权衡,没有完美方案。本质是多套渲染管线难以调和的问题。
|
|
129
|
+
|
|
130
|
+
### 1. 层叠合成
|
|
131
|
+
|
|
132
|
+
假设有这样的页面:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
Flutter Widget
|
|
136
|
+
↓
|
|
137
|
+
半透明弹层
|
|
138
|
+
↓
|
|
139
|
+
Native WebView
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
如果所有内容属于同一个渲染体系,渲染系统知道每一层的位置、透明度和绘制顺序,可以统一处理。
|
|
143
|
+
|
|
144
|
+
但如果上面是 Flutter 自己绘制的内容,下面是原生view,那么问题就复杂了。
|
|
145
|
+
|
|
146
|
+
尤其是:
|
|
147
|
+
|
|
148
|
+
* opacity
|
|
149
|
+
* blur
|
|
150
|
+
* backdrop blur
|
|
151
|
+
* mask
|
|
152
|
+
* clipping
|
|
153
|
+
* transform
|
|
154
|
+
* shadow
|
|
155
|
+
* material effect
|
|
156
|
+
|
|
157
|
+
这些效果都依赖正确的前后层关系。
|
|
158
|
+
|
|
159
|
+
如果来回穿插多层,为了正确合成,要处理很多事情,性能问题就会更加严重。
|
|
160
|
+
|
|
161
|
+
正常情况下,一个渲染系统内部不同组件层级和透明度,是在渲染系统的渲染线程里统一计算的,动态变更也没问题。
|
|
162
|
+
|
|
163
|
+
flutter的渲染系统,内部计算自己的widget的层级和半透明关系没问题,但和原生view混合在一起计算层级和半透明,真是难为它了,只能上各种黑科技。
|
|
164
|
+
|
|
165
|
+
为了处理不同渲染系统的合成,flutter要做很多事情。
|
|
166
|
+
所以如果一个界面没有platform view,性能有时能超过原生渲染。
|
|
167
|
+
但一旦有带有层级的platform view,性能就不行了。
|
|
168
|
+
|
|
169
|
+
iOS的液态玻璃效果,被开发者吐槽精准打击 flutter 和 compose-multiplatform iOS版。
|
|
170
|
+
|
|
171
|
+
这个透明效果与众不同,动态材质、手势变化、光照形变都非常复杂,Apple并未公开其算法。
|
|
172
|
+
原生开发可以直接用iOS提供的API,但自渲染很难精准模拟,也达不到系统的省电效果。
|
|
173
|
+
|
|
174
|
+
更麻烦的是合成,如果液态玻璃下面,一会展现自渲染的组件、一会展现原生或其他渲染方式的platform view,实现起来各种兼容性问题,高性能更不可能。
|
|
175
|
+
|
|
176
|
+
那开发者不在界面上使用液态玻璃效果是否就能规避此问题?iOS系统有很多隐密的坑,输入框长按的上下文菜单也是液态玻璃的,这个菜单在透显自渲染和自渲染框架下的原生视图都有问题。
|
|
177
|
+
|
|
178
|
+
注:uni-app x 蒸汽模式,提供了内置的液态玻璃组件,使用系统原生能力,就不会有完全自渲染带来的问题。可以在iOS 26+设备上体验[hello uni-app x](http://hellouniappx.dcloud.net.cn/)。录屏如下:
|
|
179
|
+
|
|
180
|
+
<video id="video" preload="none" controls="controls" width="90%" poster="https://web-ext-storage.dcloud.net.cn/doc/app/ios/tabbar-glass-effec-poster.png" src="https://web-ext-storage.dcloud.net.cn/doc/app/ios/tabbar-glass-effect.mp4"></video>
|
|
181
|
+
|
|
182
|
+
### 2. 滚动同步
|
|
183
|
+
|
|
184
|
+
flutter的滚动,是自己模拟实现的,并非系统原生滚动。
|
|
185
|
+
|
|
186
|
+
在flutter滚动容器中,如果插入一个原生view,比如信息流广告或视频:
|
|
187
|
+
|
|
188
|
+
```text
|
|
189
|
+
Flutter List
|
|
190
|
+
├── Flutter Cell
|
|
191
|
+
├── Flutter Cell
|
|
192
|
+
├── Native Advertisement
|
|
193
|
+
├── Flutter Cell
|
|
194
|
+
└── Flutter Cell
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Flutter滚动容器的滚动位置由 Flutter 管理。
|
|
198
|
+
|
|
199
|
+
但是中间的原生view,是另一条渲染管线上的,它的排版布局不是flutter的。
|
|
200
|
+
|
|
201
|
+
前端同学,可以理解下flutter在web上的做法,在canvas上创建了一套自己的渲染管线,滚动也是自己模拟的,此时需要在flutter的列表中插入信息流广告,但这个广告是一个div组件,
|
|
202
|
+
如何把这些div,按正确的位置,显示在canvas里的某处,并且随着canvas内部的模拟滚动而移动div的位置?
|
|
203
|
+
|
|
204
|
+
如果 Flutter 和 原生内容不能在正确的时机提交到**同一帧**,用户就可能看到位置不同步、抖动或者短暂错位。
|
|
205
|
+
|
|
206
|
+
保持同步。这不仅是简单地修改一个坐标。还涉及:
|
|
207
|
+
|
|
208
|
+
* Scroll position
|
|
209
|
+
* frame timing
|
|
210
|
+
* input
|
|
211
|
+
* composition
|
|
212
|
+
* clipping
|
|
213
|
+
* visibility
|
|
214
|
+
* nested scrolling
|
|
215
|
+
|
|
216
|
+
为了维持滚动同步,flutter需要多做不少事情来处理各种情况,这造成了性能下降。
|
|
217
|
+
|
|
218
|
+
并且在高渲染压力下,仍然可能会错帧。
|
|
219
|
+
|
|
220
|
+
这里并没有否认flutter的努力,它在高版本利用OS的新API做了一定优化,但只是缓解,本质不变。
|
|
221
|
+
|
|
222
|
+
### 3. 动画联动
|
|
223
|
+
|
|
224
|
+
自渲染和原生渲染,走在不同的渲染管线上。
|
|
225
|
+
如果需要一个flutter widget 需要和一个 platform view 做联动动画,甚至多个不同组件需要联动动画,难以流畅衔接。
|
|
226
|
+
|
|
227
|
+
- 如果不同渲染系统的组件是嵌套关系,它们联动时遇到的问题类似滚动同步,都需要解决在动画过程中保持同一帧提交的问题,否则就会错位。
|
|
228
|
+
- 如果不同渲染系统的组件是衔接关系,比如让一个原生view做动画,把一个widget顶飞,2个组件可能叠在一起或者中间有缝隙。
|
|
229
|
+
|
|
230
|
+
软键盘动画是很多开发者未预见的坑。因为它不是flutter的 platform view,但软键盘也是属于原生渲染管线的。
|
|
231
|
+
|
|
232
|
+
软键盘弹起时有一套原生动画,界面上的widget如想跟着动,在不同平台有各自的坑。
|
|
233
|
+
|
|
234
|
+
基于手势的动画也是难点,手势事件同时传递给自渲染和原生渲染,并且让各自的区域都跟随手势做动画并衔接,性能不佳且复杂动画很容易错帧。
|
|
235
|
+
|
|
236
|
+
### 4. 事件冲突
|
|
237
|
+
|
|
238
|
+
原生和自渲染不仅有两套渲染体系,还存在两套事件体系。
|
|
239
|
+
|
|
240
|
+
Flutter 有自己的:
|
|
241
|
+
|
|
242
|
+
* Hit Test(根据手势坐标判断点到了那个组件)
|
|
243
|
+
* Gesture Arena
|
|
244
|
+
* Pointer Event
|
|
245
|
+
* Gesture Recognizer
|
|
246
|
+
|
|
247
|
+
Native UI 也有自己的:
|
|
248
|
+
|
|
249
|
+
* Hit Test(根据手势坐标判断点到了那个组件)
|
|
250
|
+
* Touch Event
|
|
251
|
+
* Gesture Recognizer
|
|
252
|
+
* Gesture Conflict Resolution
|
|
253
|
+
|
|
254
|
+
flutter和原生,都要各自独立的处理手势事件,点击、缩放、双击、平移、长按等。hit test、冒泡、协商各自独立。
|
|
255
|
+
|
|
256
|
+
手指在屏幕上滑过多个区域,有的是自渲染、有的是原生渲染,或者多指触摸有的在自渲染区域、有的在原生渲染区域,都会引发事件冲突。
|
|
257
|
+
|
|
258
|
+
还有手势协商,本来系统原生是有手势协商概念的,可以每个组件吃掉一部分手势余量。
|
|
259
|
+
但2套渲染管线,难以高性能协商,需要跨语言、甚至可能跨线程协商,麻烦很多,而且协商的不够快就可能造成渲染异常。
|
|
260
|
+
|
|
261
|
+
很常见的是嵌套滚动,
|
|
262
|
+
比如滚动容器中内嵌了webview组件。在原生渲染中,webview滚动到头后,可以触发原生的父滚动容器的继续滚动。它们直接还可以协商谁吃掉多少滚动余量。
|
|
263
|
+
|
|
264
|
+
但让flutter的滚动容器和系统webview滚动协商,就难以流畅运行了。
|
|
265
|
+
|
|
266
|
+
### 5. Transform形变
|
|
267
|
+
|
|
268
|
+
如果 Flutter 对一个区域进行了形变处理:
|
|
269
|
+
|
|
270
|
+
* Scale
|
|
271
|
+
* Rotate
|
|
272
|
+
* Translate
|
|
273
|
+
* Clip
|
|
274
|
+
* Perspective
|
|
275
|
+
|
|
276
|
+
然后这个区域里面又有原生view,就需要把 Flutter 的 transform 正确传递给原生的合成系统。
|
|
277
|
+
|
|
278
|
+
否则就可能出现flutter渲染的内容正确形变了,而原生view没变或错位。
|
|
279
|
+
|
|
280
|
+
反之也一样。
|
|
281
|
+
|
|
282
|
+
除了platform view,也有一个开发者难以预料的原生view会造成问题,就是输入框中长按然后左右移动时放大镜。
|
|
283
|
+
|
|
284
|
+
这个放大镜需要对下面的内容实时放大和位移,并以显示当前光标的具体位置。
|
|
285
|
+
这本来就很麻烦了,更麻烦是一旦此时实时在一套渲染中又做了形变操作,另一套渲染系统并不知道,就会错位。
|
|
286
|
+
|
|
287
|
+
### 6. 综合冲突
|
|
288
|
+
|
|
289
|
+
上面5个混合渲染问题,可能在一个界面中组合出现,那就会造成更多兼容性问题和更差的性能。
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
## UI一致性
|
|
293
|
+
|
|
294
|
+
有一个广泛流传的讹传。自渲染,是不是不同平台的UI一致性是严格一样的?原生渲染,是不是就无法保证不同平台的一致性?
|
|
295
|
+
|
|
296
|
+
### 首先,自渲染也有不一致
|
|
297
|
+
|
|
298
|
+
真正开发过渲染引擎的人才知道,自渲染在不同平台要做很多原生适配工作。
|
|
299
|
+
|
|
300
|
+
1. 滚动的阻尼算法、边缘的回弹效果,iOS、Android、鸿蒙,都是不一样的
|
|
301
|
+
|
|
302
|
+
为了和原生应用贴近,flutter等自渲染框架需要查看开源系统的相关算法,或者推测闭源系统的相关算法,在不同平台进行模拟。
|
|
303
|
+
|
|
304
|
+
一旦OS系统升级,修改了相关算法,flutter就得尽快更新,开发者也得尽快更新内嵌的flutter sdk。
|
|
305
|
+
|
|
306
|
+
Android有很多ROM厂商,如果有ROM厂商自己调整了滚动和回弹算法,flutter是难以适配这些个性化ROM的。
|
|
307
|
+
|
|
308
|
+
在一个App里,如果部分界面使用flutter渲染,这个问题会尤其严重,使用者会感觉到这个界面的滚动和回弹有点怪。
|
|
309
|
+
|
|
310
|
+
2. 输入法适配
|
|
311
|
+
|
|
312
|
+
flutter的输入框,并不是系统的输入框控件,那个闪烁的光标是flutter引擎自己绘制的,为了让光标的大小、颜色、闪烁频率和系统保持一致,flutter都需要做平台适配。
|
|
313
|
+
|
|
314
|
+
输入框点击后,又会有更多问题
|
|
315
|
+
- 如何弹出原生渲染的软键盘?
|
|
316
|
+
- 软键盘上输入的字或快捷短语如何上到flutter渲染的界面上?
|
|
317
|
+
- 原生渲染的长按上下文菜单如何处理?
|
|
318
|
+
- 长按的放大镜如何正确显示放大内容?
|
|
319
|
+
- 自动填充、语法校验这些原生已经存在的功能如何重新实现?
|
|
320
|
+
|
|
321
|
+
这都是flutter需要在每个平台都自行写代码处理的。这些代码,也都在消耗系统资源。
|
|
322
|
+
|
|
323
|
+
flutter和系统预置输入法的适配一般没有问题。
|
|
324
|
+
而三方输入法如果实现的很规范,也不会有问题,但仍然可能出现三方输入法在系统输入框下正常,但在flutter的输入框中异常的情况。
|
|
325
|
+
这很大程度上取决于三方输入法在发版时是否同时测试了flutter输入框的兼容性。
|
|
326
|
+
|
|
327
|
+
3. GPU适配
|
|
328
|
+
|
|
329
|
+
现代 Flutter 已经通过 Impeller 等方案显著改善了渲染后端的一致性和着色器问题。
|
|
330
|
+
|
|
331
|
+
但 Android 设备仍然存在大量 GPU 和驱动差异。
|
|
332
|
+
|
|
333
|
+
尤其是老设备、不同 GPU 厂商以及不同 Android 版本之间,图形能力并不完全一致。
|
|
334
|
+
|
|
335
|
+
因此,自渲染引擎依然需要进行大量兼容性测试。
|
|
336
|
+
|
|
337
|
+
也存在在某些边缘设备上GPU适配有问题的可能。
|
|
338
|
+
|
|
339
|
+
### 其次,原生渲染也并非效果不一致。
|
|
340
|
+
|
|
341
|
+
原生渲染效果在各平台不一致,这是react native的一些内置组件的特点,并不是所有原生渲染系统的共性。
|
|
342
|
+
|
|
343
|
+
造成这种差异的核心,不是原生渲染系统的问题,而是原生组件的实现方式问题。
|
|
344
|
+
|
|
345
|
+
flutter的widget,是一套dart代码编写的。而react native的不同组件,几乎都是各平台原生语言写的。
|
|
346
|
+
|
|
347
|
+
在 uni-app x 蒸汽模式中,通过相同的组件代码,实现了原生渲染下的UI一致性。这些组件使用跨平台的c++和uts语言编写。(并不要求开发者使用uts,开发者可使用js/ts)
|
|
348
|
+
|
|
349
|
+
这种方式,即保障了跨平台的严格一致性,又大幅提升了渲染性能。
|
|
350
|
+
|
|
351
|
+
同时 uni-app x 中使用系统原生组件也是无缝的,比如 uni-app x 内置的 glass-effect-view组件,就是iOS原生的液态玻璃组件。
|
|
352
|
+
|
|
353
|
+
## 总结
|
|
354
|
+
|
|
355
|
+
几种不同的架构总结到下表中:
|
|
356
|
+
|
|
357
|
+
| 架构 | 渲染管线 | 组件和排版 | 典型代表 |
|
|
358
|
+
| ------------------------- | ------------------| --------------------- | -------------------- |
|
|
359
|
+
| 经典原生 | OS | OS native | UIKit / Android View |
|
|
360
|
+
| 原生渲染的框架UI | OS | 框架 | Compose UI Android版 / uni-app x 蒸汽模式 |
|
|
361
|
+
| 自渲染 | 框架 | 框架 | Flutter 和 compose-multiplatform iOS版 |
|
|
362
|
+
|
|
363
|
+
我们钦佩flutter团队的工程能力和代码水平,尤其是在GPU着色器上的极致运用。
|
|
364
|
+
|
|
365
|
+
但如果这个世界出现了一个跨平台引擎:
|
|
366
|
+
- 渲染速度更快
|
|
367
|
+
- UI一致性很好
|
|
368
|
+
- 没有自渲染的初始化和混合渲染顽疾
|
|
369
|
+
- 除了iOS和Android,还能跨好更多平台,比如web、小程序、鸿蒙
|
|
370
|
+
|
|
371
|
+
那对于开发者,是一个更完美的方案。
|
|
372
|
+
|
|
373
|
+
uni-app x 蒸汽模式,正是基于这种思路设计的,并且成功实现了上述目标。
|
|
374
|
+
|
|
375
|
+
在之前公布的benchmark中显示,
|
|
376
|
+
uni-app x 蒸汽模式在渲染大量view和text时,性能是原生同类组件的2~3倍。
|
|
377
|
+
在长列表、canvas、rich-text等各项测试中也展现出强于原生或其他跨平台相同功能组件的性能表现。
|
|
378
|
+
|
|
379
|
+
详见:
|
|
380
|
+
- [Android benchmark](https://doc.dcloud.net.cn/uni-app-x/benchmark/vapor-benchmark-android.html)
|
|
381
|
+
- [iOS benchmark](https://doc.dcloud.net.cn/uni-app-x/benchmark/vapor-benchmark-ios.html)
|
|
382
|
+
- [鸿蒙 benchmark](https://doc.dcloud.net.cn/uni-app-x/benchmark/vapor-benchmark-harmony.html)
|
|
383
|
+
|
|
384
|
+
一些人可能难以相信 uni-app x 蒸汽模式的渲染性能这么快,但解释 uni-app x 渲染更快的原因,需要更多单独长文,本文主要讲述的是原生渲染和自渲染的原理和优劣。
|
|
385
|
+
|
|
386
|
+
如果开发者对为什么渲染快的原因感兴趣,可以阅读 [uni-app x 蒸汽模式的文档](https://doc.dcloud.net.cn/uni-app-x/app-vapor.html)
|