@quicktvui/ai 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/index.js +2 -0
- package/package.json +23 -0
- package/postinstall.js +61 -0
- package/rules/.claude/commands/create-component.md +39 -0
- package/rules/.claude/commands/create-page.md +44 -0
- package/rules/.claude/commands/create-project.md +25 -0
- package/rules/.claude/commands/lookup-api.md +28 -0
- package/rules/.claude/commands/lookup-css.md +53 -0
- package/rules/.claude/settings.local.json +11 -0
- package/rules/.clinerules +367 -0
- package/rules/.cursorrules +367 -0
- package/rules/.docs/examples/component/animation/alpha-props.vue +130 -0
- package/rules/.docs/examples/component/animation/alpha.vue +169 -0
- package/rules/.docs/examples/component/animation/animator-props.vue +101 -0
- package/rules/.docs/examples/component/animation/animators-props.vue +145 -0
- package/rules/.docs/examples/component/animation/animators.vue +322 -0
- package/rules/.docs/examples/component/animation/basic.vue +96 -0
- package/rules/.docs/examples/component/animation/interpolator.vue +330 -0
- package/rules/.docs/examples/component/animation/listener.vue +151 -0
- package/rules/.docs/examples/component/animation/repeat.vue +113 -0
- package/rules/.docs/examples/component/animation/rotation-props.vue +148 -0
- package/rules/.docs/examples/component/animation/rotation-xy.vue +255 -0
- package/rules/.docs/examples/component/animation/rotation.vue +188 -0
- package/rules/.docs/examples/component/animation/scale-props.vue +129 -0
- package/rules/.docs/examples/component/animation/scale.vue +169 -0
- package/rules/.docs/examples/component/animation/translation-props.vue +128 -0
- package/rules/.docs/examples/component/animation/translation.vue +169 -0
- package/rules/.docs/examples/component/aside/basic.vue +34 -0
- package/rules/.docs/examples/component/audio-player/basic.vue +104 -0
- package/rules/.docs/examples/component/audio-player/event-global.vue +492 -0
- package/rules/.docs/examples/component/audio-player/event.vue +447 -0
- package/rules/.docs/examples/component/audio-player/player-manager.vue +100 -0
- package/rules/.docs/examples/component/audio-player-service/basic.vue +102 -0
- package/rules/.docs/examples/component/audio-player-service/event-global.vue +488 -0
- package/rules/.docs/examples/component/audio-player-service/event.vue +420 -0
- package/rules/.docs/examples/component/audio-player-service/player-manager.vue +100 -0
- package/rules/.docs/examples/component/button/background.vue +28 -0
- package/rules/.docs/examples/component/button/basic.vue +13 -0
- package/rules/.docs/examples/component/button/border.vue +18 -0
- package/rules/.docs/examples/component/button/custom-content.vue +18 -0
- package/rules/.docs/examples/component/button/custom-icon-style.vue +25 -0
- package/rules/.docs/examples/component/button/custom-icon.vue +19 -0
- package/rules/.docs/examples/component/button/custom-net-icon.vue +20 -0
- package/rules/.docs/examples/component/button/custom-style.vue +17 -0
- package/rules/.docs/examples/component/button/custom-text.vue +23 -0
- package/rules/.docs/examples/component/button/disabled.vue +13 -0
- package/rules/.docs/examples/component/button/round.vue +13 -0
- package/rules/.docs/examples/component/button/size.vue +16 -0
- package/rules/.docs/examples/component/button/square.vue +13 -0
- package/rules/.docs/examples/component/checkbox-group/basic.vue +97 -0
- package/rules/.docs/examples/component/collapse/basic.vue +156 -0
- package/rules/.docs/examples/component/column/basic.vue +15 -0
- package/rules/.docs/examples/component/container/layout-ahm.vue +48 -0
- package/rules/.docs/examples/component/container/layout-ahmf.vue +51 -0
- package/rules/.docs/examples/component/container/layout-am.vue +43 -0
- package/rules/.docs/examples/component/container/layout-ham.vue +48 -0
- package/rules/.docs/examples/component/container/layout-hamf.vue +53 -0
- package/rules/.docs/examples/component/container/layout-hm.vue +43 -0
- package/rules/.docs/examples/component/container/layout-hmf.vue +46 -0
- package/rules/.docs/examples/component/dialog/basic.vue +72 -0
- package/rules/.docs/examples/component/div/background-img.vue +49 -0
- package/rules/.docs/examples/component/div/background.vue +28 -0
- package/rules/.docs/examples/component/div/basic.vue +28 -0
- package/rules/.docs/examples/component/div/border.vue +72 -0
- package/rules/.docs/examples/component/div/click.vue +66 -0
- package/rules/.docs/examples/component/div/focus-background.vue +60 -0
- package/rules/.docs/examples/component/div/focus.vue +58 -0
- package/rules/.docs/examples/component/div/gradient-background.vue +36 -0
- package/rules/.docs/examples/component/footer/basic.vue +34 -0
- package/rules/.docs/examples/component/grid-view/basic.vue +59 -0
- package/rules/.docs/examples/component/grid-view/page.vue +80 -0
- package/rules/.docs/examples/component/grid-view/ref-base.vue +50 -0
- package/rules/.docs/examples/component/grid-view/ref-page.vue +102 -0
- package/rules/.docs/examples/component/header/basic.vue +39 -0
- package/rules/.docs/examples/component/html/alert.vue +28 -0
- package/rules/.docs/examples/component/html/audio.vue +24 -0
- package/rules/.docs/examples/component/html/h.vue +30 -0
- package/rules/.docs/examples/component/html/sound.vue +33 -0
- package/rules/.docs/examples/component/html/video.vue +23 -0
- package/rules/.docs/examples/component/image/assets.vue +40 -0
- package/rules/.docs/examples/component/image/network.vue +36 -0
- package/rules/.docs/examples/component/img/assets.vue +40 -0
- package/rules/.docs/examples/component/img/network.vue +36 -0
- package/rules/.docs/examples/component/indicator-list-view/basic.vue +476 -0
- package/rules/.docs/examples/component/input/basic.vue +26 -0
- package/rules/.docs/examples/component/list-view/basic.vue +58 -0
- package/rules/.docs/examples/component/list-view/ref-basic.vue +33 -0
- package/rules/.docs/examples/component/list-view/ref-operations.vue +58 -0
- package/rules/.docs/examples/component/list-view/ref-page.vue +82 -0
- package/rules/.docs/examples/component/loading/basic.vue +12 -0
- package/rules/.docs/examples/component/lottie/basic.vue +83 -0
- package/rules/.docs/examples/component/lottie/event.vue +126 -0
- package/rules/.docs/examples/component/lottie/local.vue +90 -0
- package/rules/.docs/examples/component/lottie/network.vue +82 -0
- package/rules/.docs/examples/component/main/basic.vue +34 -0
- package/rules/.docs/examples/component/nav-bar/basic.vue +45 -0
- package/rules/.docs/examples/component/p/basic.vue +40 -0
- package/rules/.docs/examples/component/p/gravity.vue +62 -0
- package/rules/.docs/examples/component/player-manager/aspect-ratio.vue +286 -0
- package/rules/.docs/examples/component/player-manager/basic.vue +87 -0
- package/rules/.docs/examples/component/player-manager/control.vue +356 -0
- package/rules/.docs/examples/component/player-manager/custom-player-view.vue +105 -0
- package/rules/.docs/examples/component/player-manager/custom-player.vue +100 -0
- package/rules/.docs/examples/component/player-manager/decode.vue +218 -0
- package/rules/.docs/examples/component/player-manager/definition.vue +199 -0
- package/rules/.docs/examples/component/player-manager/event-global.vue +581 -0
- package/rules/.docs/examples/component/player-manager/event.vue +632 -0
- package/rules/.docs/examples/component/player-manager/image-player.vue +331 -0
- package/rules/.docs/examples/component/player-manager/media-item-interceptor.vue +105 -0
- package/rules/.docs/examples/component/player-manager/media-item-list-interceptor.vue +104 -0
- package/rules/.docs/examples/component/player-manager/media-item-list.vue +268 -0
- package/rules/.docs/examples/component/player-manager/media-source-interceptor.vue +115 -0
- package/rules/.docs/examples/component/player-manager/media-source-list-interceptor.vue +111 -0
- package/rules/.docs/examples/component/player-manager/multi-player.vue +130 -0
- package/rules/.docs/examples/component/player-manager/play-mode.vue +260 -0
- package/rules/.docs/examples/component/player-manager/play-rate.vue +244 -0
- package/rules/.docs/examples/component/player-manager/player-size.vue +119 -0
- package/rules/.docs/examples/component/player-manager/player-view.vue +381 -0
- package/rules/.docs/examples/component/player-manager/post-roll-ad.vue +189 -0
- package/rules/.docs/examples/component/player-manager/previous-roll-ad.vue +172 -0
- package/rules/.docs/examples/component/player-manager/start-position.vue +108 -0
- package/rules/.docs/examples/component/player-manager/text-left-player.vue +306 -0
- package/rules/.docs/examples/component/player-manager/text-right-player.vue +306 -0
- package/rules/.docs/examples/component/player-manager/window.vue +140 -0
- package/rules/.docs/examples/component/poster/basic.vue +144 -0
- package/rules/.docs/examples/component/poster/corner.vue +123 -0
- package/rules/.docs/examples/component/poster/decoration.vue +82 -0
- package/rules/.docs/examples/component/poster/float-title.vue +103 -0
- package/rules/.docs/examples/component/poster/ripple.vue +118 -0
- package/rules/.docs/examples/component/poster/score.vue +108 -0
- package/rules/.docs/examples/component/poster/shadow.vue +113 -0
- package/rules/.docs/examples/component/poster/shimmer.vue +113 -0
- package/rules/.docs/examples/component/poster/sub-title.vue +110 -0
- package/rules/.docs/examples/component/poster/title.vue +106 -0
- package/rules/.docs/examples/component/progress-bar/basic.vue +61 -0
- package/rules/.docs/examples/component/qr-code/basic.vue +16 -0
- package/rules/.docs/examples/component/radio-group/basic.vue +105 -0
- package/rules/.docs/examples/component/rating-bar/basic.vue +152 -0
- package/rules/.docs/examples/component/row/basic.vue +15 -0
- package/rules/.docs/examples/component/seek-bar/bar.vue +49 -0
- package/rules/.docs/examples/component/seek-bar/basic.vue +191 -0
- package/rules/.docs/examples/component/seek-bar/indicator.vue +74 -0
- package/rules/.docs/examples/component/seek-bar/range-mode.vue +130 -0
- package/rules/.docs/examples/component/seek-bar/single-mode.vue +113 -0
- package/rules/.docs/examples/component/seek-bar/step.vue +186 -0
- package/rules/.docs/examples/component/seek-bar/thumb.vue +148 -0
- package/rules/.docs/examples/component/seek-bar/tick-mark.vue +121 -0
- package/rules/.docs/examples/component/switch/basic.vue +26 -0
- package/rules/.docs/examples/component/tabs/basic.vue +109 -0
- package/rules/.docs/examples/component/tabs/custom-tab-item.vue +120 -0
- package/rules/.docs/examples/component/tabs/data.vue +121 -0
- package/rules/.docs/examples/component/tabs/horizontal.vue +118 -0
- package/rules/.docs/examples/component/tabs/item-add.vue +127 -0
- package/rules/.docs/examples/component/tabs/item-custom.vue +132 -0
- package/rules/.docs/examples/component/tabs/item-delete.vue +123 -0
- package/rules/.docs/examples/component/tabs/item-get.vue +124 -0
- package/rules/.docs/examples/component/tabs/item-update.vue +129 -0
- package/rules/.docs/examples/component/tabs/ref-basic.vue +63 -0
- package/rules/.docs/examples/component/tabs/ref-operations.vue +97 -0
- package/rules/.docs/examples/component/tabs/ref-page.vue +89 -0
- package/rules/.docs/examples/component/tabs/section-add.vue +138 -0
- package/rules/.docs/examples/component/tabs/section-delete.vue +126 -0
- package/rules/.docs/examples/component/tabs/section-get.vue +128 -0
- package/rules/.docs/examples/component/tabs/section-update.vue +137 -0
- package/rules/.docs/examples/component/tabs/section-vue.vue +111 -0
- package/rules/.docs/examples/component/tabs/single-tab.vue +112 -0
- package/rules/.docs/examples/component/text/basic.vue +20 -0
- package/rules/.docs/examples/component/text/ellipsize-mode.vue +122 -0
- package/rules/.docs/examples/component/text/gravity.vue +119 -0
- package/rules/.docs/examples/component/video-player/aspect-ratio.vue +242 -0
- package/rules/.docs/examples/component/video-player/basic.vue +82 -0
- package/rules/.docs/examples/component/video-player/control.vue +240 -0
- package/rules/.docs/examples/component/video-player/decode.vue +174 -0
- package/rules/.docs/examples/component/video-player/definition.vue +194 -0
- package/rules/.docs/examples/component/video-player/event-global.vue +89 -0
- package/rules/.docs/examples/component/video-player/event.vue +448 -0
- package/rules/.docs/examples/component/video-player/page.vue +150 -0
- package/rules/.docs/examples/component/video-player/play-mode.vue +220 -0
- package/rules/.docs/examples/component/video-player/play-rate.vue +198 -0
- package/rules/.docs/examples/component/video-player/progress.vue +211 -0
- package/rules/.docs/examples/component/video-player/render.vue +187 -0
- package/rules/.docs/examples/component/video-player/type.vue +133 -0
- package/rules/.docs/examples/component/view/background-img.vue +49 -0
- package/rules/.docs/examples/component/view/background.vue +28 -0
- package/rules/.docs/examples/component/view/basic.vue +28 -0
- package/rules/.docs/examples/component/view/border.vue +72 -0
- package/rules/.docs/examples/component/view/click.vue +66 -0
- package/rules/.docs/examples/component/view/focus-background.vue +60 -0
- package/rules/.docs/examples/component/view/focus.vue +58 -0
- package/rules/.docs/examples/component/view/gradient-background.vue +36 -0
- package/rules/.docs/examples/component/waterfall/basic.vue +167 -0
- package/rules/.docs/examples/component/waterfall/event.vue +154 -0
- package/rules/.docs/examples/component/waterfall/item-add.vue +82 -0
- package/rules/.docs/examples/component/waterfall/item-card-placeholder.vue +67 -0
- package/rules/.docs/examples/component/waterfall/item-card.vue +66 -0
- package/rules/.docs/examples/component/waterfall/item-custom.vue +81 -0
- package/rules/.docs/examples/component/waterfall/item-decoration.vue +63 -0
- package/rules/.docs/examples/component/waterfall/item-delete.vue +90 -0
- package/rules/.docs/examples/component/waterfall/item-get.vue +68 -0
- package/rules/.docs/examples/component/waterfall/item-update.vue +85 -0
- package/rules/.docs/examples/component/waterfall/ref-base.vue +141 -0
- package/rules/.docs/examples/component/waterfall/ref-operations.vue +192 -0
- package/rules/.docs/examples/component/waterfall/section-add.vue +72 -0
- package/rules/.docs/examples/component/waterfall/section-background.vue +94 -0
- package/rules/.docs/examples/component/waterfall/section-blank.vue +62 -0
- package/rules/.docs/examples/component/waterfall/section-card-placeholder.vue +90 -0
- package/rules/.docs/examples/component/waterfall/section-card.vue +83 -0
- package/rules/.docs/examples/component/waterfall/section-custom.vue +68 -0
- package/rules/.docs/examples/component/waterfall/section-decoration.vue +80 -0
- package/rules/.docs/examples/component/waterfall/section-delete.vue +76 -0
- package/rules/.docs/examples/component/waterfall/section-end.vue +91 -0
- package/rules/.docs/examples/component/waterfall/section-get.vue +74 -0
- package/rules/.docs/examples/component/waterfall/section-list.vue +56 -0
- package/rules/.docs/examples/component/waterfall/section-tabs-list.vue +149 -0
- package/rules/.docs/examples/component/waterfall/section-tabs.vue +153 -0
- package/rules/.docs/examples/component/waterfall/section-time.vue +48 -0
- package/rules/.docs/examples/component/waterfall/section-update.vue +118 -0
- package/rules/.docs/examples/component/waterfall/section-vue.vue +81 -0
- package/rules/.docs/examples/component/web-view/basic.vue +54 -0
- package/rules/.docs/examples/component/web-view/js-2-vue.vue +49 -0
- package/rules/.docs/examples/component/web-view/vue-2-js.vue +60 -0
- package/rules/.docs/examples/component/x5-web-view/basic.vue +54 -0
- package/rules/.docs/examples/css/gradient/basic.vue +43 -0
- package/rules/.docs/examples/css/gradient/corner-radii4.vue +86 -0
- package/rules/.docs/examples/css/gradient/corner-radius.vue +86 -0
- package/rules/.docs/examples/css/gradient/orientation.vue +168 -0
- package/rules/.docs/examples/css/gradient/shape.vue +97 -0
- package/rules/.docs/examples/css/gradient/type.vue +83 -0
- package/rules/.docs/examples/guide/router/app.vue +52 -0
- package/rules/.docs/examples/guide/slot/basic.vue +32 -0
- package/rules/.docs/examples/guide/slot/lifecycle.vue +106 -0
- package/rules/.docs/examples/module/action-bar/es-basic.vue +51 -0
- package/rules/.docs/examples/module/action-bar/qt-basic.vue +47 -0
- package/rules/.docs/examples/module/app-list/es-basic.vue +53 -0
- package/rules/.docs/examples/module/app-list/qt-basic.vue +50 -0
- package/rules/.docs/examples/module/audio/es-basic.vue +71 -0
- package/rules/.docs/examples/module/audio/qt-basic.vue +63 -0
- package/rules/.docs/examples/module/brightness/es-basic.vue +118 -0
- package/rules/.docs/examples/module/brightness/qt-basic.vue +115 -0
- package/rules/.docs/examples/module/broadcast/es-basic.vue +340 -0
- package/rules/.docs/examples/module/broadcast/qt-basic.vue +331 -0
- package/rules/.docs/examples/module/content-provider/es-basic.vue +92 -0
- package/rules/.docs/examples/module/content-provider/qt-basic.vue +86 -0
- package/rules/.docs/examples/module/develop/es-basic.vue +45 -0
- package/rules/.docs/examples/module/develop/qt-basic.vue +43 -0
- package/rules/.docs/examples/module/device/es-basic.vue +169 -0
- package/rules/.docs/examples/module/device/qt-basic.vue +166 -0
- package/rules/.docs/examples/module/display/es-basic.vue +45 -0
- package/rules/.docs/examples/module/display/qt-basic.vue +43 -0
- package/rules/.docs/examples/module/download/es-basic.vue +174 -0
- package/rules/.docs/examples/module/download/qt-basic.vue +168 -0
- package/rules/.docs/examples/module/es/es-basic.vue +74 -0
- package/rules/.docs/examples/module/es/qt-basic.vue +74 -0
- package/rules/.docs/examples/module/event-bus/es-emit.vue +31 -0
- package/rules/.docs/examples/module/event-bus/es-off.vue +53 -0
- package/rules/.docs/examples/module/event-bus/es-on.vue +56 -0
- package/rules/.docs/examples/module/event-bus/es-once.vue +47 -0
- package/rules/.docs/examples/module/event-bus/qt-emit.vue +28 -0
- package/rules/.docs/examples/module/event-bus/qt-off.vue +51 -0
- package/rules/.docs/examples/module/event-bus/qt-on.vue +53 -0
- package/rules/.docs/examples/module/event-bus/qt-once.vue +45 -0
- package/rules/.docs/examples/module/file/es-basic.vue +188 -0
- package/rules/.docs/examples/module/iac/es-basic.vue +211 -0
- package/rules/.docs/examples/module/iac/qt-basic.vue +208 -0
- package/rules/.docs/examples/module/key/es-back.vue +32 -0
- package/rules/.docs/examples/module/key/es-dispatch.vue +34 -0
- package/rules/.docs/examples/module/key/es-event.vue +34 -0
- package/rules/.docs/examples/module/local-storage/es-basic.vue +92 -0
- package/rules/.docs/examples/module/local-storage/qt-basic.vue +86 -0
- package/rules/.docs/examples/module/location/es-basic.vue +69 -0
- package/rules/.docs/examples/module/location/qt-basic.vue +67 -0
- package/rules/.docs/examples/module/log/es-basic.vue +45 -0
- package/rules/.docs/examples/module/log/qt-basic.vue +44 -0
- package/rules/.docs/examples/module/network/es-basic.vue +64 -0
- package/rules/.docs/examples/module/network/qt-basic.vue +60 -0
- package/rules/.docs/examples/module/page/es-app-lifecycle.vue +83 -0
- package/rules/.docs/examples/module/page/es-page-lifecycle.vue +80 -0
- package/rules/.docs/examples/module/page/es-page-state.vue +36 -0
- package/rules/.docs/examples/module/permission/es-basic.vue +62 -0
- package/rules/.docs/examples/module/permission/qt-basic.vue +59 -0
- package/rules/.docs/examples/module/plugin/es-basic.vue +71 -0
- package/rules/.docs/examples/module/plugin/qt-basic.vue +69 -0
- package/rules/.docs/examples/module/power/es-basic.vue +45 -0
- package/rules/.docs/examples/module/power/qt-basic.vue +41 -0
- package/rules/.docs/examples/module/runtime/es-basic.vue +42 -0
- package/rules/.docs/examples/module/runtime/qt-basic.vue +40 -0
- package/rules/.docs/examples/module/service/es-basic.vue +34 -0
- package/rules/.docs/examples/module/service/qt-basic.vue +31 -0
- package/rules/.docs/examples/module/share-data/es-basic.vue +266 -0
- package/rules/.docs/examples/module/share-data/qt-basic.vue +259 -0
- package/rules/.docs/examples/module/toast/es-basic.vue +47 -0
- package/rules/.docs/examples/module/toast/qt-basic.vue +44 -0
- package/rules/.docs/examples/module/upload/es-basic.vue +65 -0
- package/rules/.docs/examples/module/upload/qt-basic.vue +63 -0
- package/rules/.docs/examples/module/usb/es-basic.vue +138 -0
- package/rules/.docs/examples/module/usb/qt-basic.vue +135 -0
- package/rules/.docs/examples/module/xlog/es-basic.vue +45 -0
- package/rules/.docs/examples/module/xlog/qt-basic.vue +44 -0
- package/rules/.docs/examples/test/basic.vue +48 -0
- package/rules/.docs/index.md +7 -0
- package/rules/.docs/zh-CN/component/animation/alpha.md +22 -0
- package/rules/.docs/zh-CN/component/animation/animators.md +227 -0
- package/rules/.docs/zh-CN/component/animation/interpolator.md +59 -0
- package/rules/.docs/zh-CN/component/animation/introduction.md +101 -0
- package/rules/.docs/zh-CN/component/animation/listener.md +175 -0
- package/rules/.docs/zh-CN/component/animation/method.md +87 -0
- package/rules/.docs/zh-CN/component/animation/props.md +76 -0
- package/rules/.docs/zh-CN/component/animation/repeat.md +46 -0
- package/rules/.docs/zh-CN/component/animation/rotation-xy.md +17 -0
- package/rules/.docs/zh-CN/component/animation/rotation.md +23 -0
- package/rules/.docs/zh-CN/component/animation/scale.md +24 -0
- package/rules/.docs/zh-CN/component/animation/translation.md +22 -0
- package/rules/.docs/zh-CN/component/app-icon.md +22 -0
- package/rules/.docs/zh-CN/component/aside.md +14 -0
- package/rules/.docs/zh-CN/component/audio-player/basic.md +52 -0
- package/rules/.docs/zh-CN/component/audio-player/installation.md +26 -0
- package/rules/.docs/zh-CN/component/audio-player/introduction.md +12 -0
- package/rules/.docs/zh-CN/component/audio-player/player-manager.md +72 -0
- package/rules/.docs/zh-CN/component/audio-service-player/basic.md +52 -0
- package/rules/.docs/zh-CN/component/audio-service-player/installation.md +26 -0
- package/rules/.docs/zh-CN/component/audio-service-player/introduction.md +13 -0
- package/rules/.docs/zh-CN/component/audio-service-player/player-manager.md +71 -0
- package/rules/.docs/zh-CN/component/button.md +120 -0
- package/rules/.docs/zh-CN/component/card-container.md +24 -0
- package/rules/.docs/zh-CN/component/card.md +17 -0
- package/rules/.docs/zh-CN/component/checkbox-group.md +57 -0
- package/rules/.docs/zh-CN/component/classified-list-view.md +44 -0
- package/rules/.docs/zh-CN/component/collapse.md +45 -0
- package/rules/.docs/zh-CN/component/column.md +26 -0
- package/rules/.docs/zh-CN/component/container.md +81 -0
- package/rules/.docs/zh-CN/component/dialog.md +26 -0
- package/rules/.docs/zh-CN/component/div.md +234 -0
- package/rules/.docs/zh-CN/component/flex-view.md +14 -0
- package/rules/.docs/zh-CN/component/footer.md +14 -0
- package/rules/.docs/zh-CN/component/grid-view.md +221 -0
- package/rules/.docs/zh-CN/component/header.md +15 -0
- package/rules/.docs/zh-CN/component/html/alert.md +14 -0
- package/rules/.docs/zh-CN/component/html/audio.md +37 -0
- package/rules/.docs/zh-CN/component/html/h.md +15 -0
- package/rules/.docs/zh-CN/component/html/installation.md +67 -0
- package/rules/.docs/zh-CN/component/html/introduction.md +10 -0
- package/rules/.docs/zh-CN/component/html/video.md +39 -0
- package/rules/.docs/zh-CN/component/image.md +88 -0
- package/rules/.docs/zh-CN/component/img.md +118 -0
- package/rules/.docs/zh-CN/component/indicator-list-view.md +118 -0
- package/rules/.docs/zh-CN/component/input.md +54 -0
- package/rules/.docs/zh-CN/component/item-store.md +14 -0
- package/rules/.docs/zh-CN/component/item-view.md +14 -0
- package/rules/.docs/zh-CN/component/js-view.md +14 -0
- package/rules/.docs/zh-CN/component/js2vue.md +43 -0
- package/rules/.docs/zh-CN/component/large-list.md +20 -0
- package/rules/.docs/zh-CN/component/li.md +16 -0
- package/rules/.docs/zh-CN/component/list-item.md +34 -0
- package/rules/.docs/zh-CN/component/list-view.md +233 -0
- package/rules/.docs/zh-CN/component/loading.md +22 -0
- package/rules/.docs/zh-CN/component/lottie/assets.md +19 -0
- package/rules/.docs/zh-CN/component/lottie/basic.md +51 -0
- package/rules/.docs/zh-CN/component/lottie/event.md +23 -0
- package/rules/.docs/zh-CN/component/lottie/introduction.md +93 -0
- package/rules/.docs/zh-CN/component/lottie/network.md +12 -0
- package/rules/.docs/zh-CN/component/main.md +14 -0
- package/rules/.docs/zh-CN/component/media-series.md +44 -0
- package/rules/.docs/zh-CN/component/nav-bar.md +51 -0
- package/rules/.docs/zh-CN/component/overview.md +20 -0
- package/rules/.docs/zh-CN/component/p.md +55 -0
- package/rules/.docs/zh-CN/component/play-mark-view.md +25 -0
- package/rules/.docs/zh-CN/component/player/global-event.md +24 -0
- package/rules/.docs/zh-CN/component/player/interceptor.md +48 -0
- package/rules/.docs/zh-CN/component/player/media-player.md +43 -0
- package/rules/.docs/zh-CN/component/player/page-player.md +118 -0
- package/rules/.docs/zh-CN/component/player/player.md +190 -0
- package/rules/.docs/zh-CN/component/player-manager/aspect-ratio.md +51 -0
- package/rules/.docs/zh-CN/component/player-manager/basic.md +69 -0
- package/rules/.docs/zh-CN/component/player-manager/control.md +32 -0
- package/rules/.docs/zh-CN/component/player-manager/custom-control.md +105 -0
- package/rules/.docs/zh-CN/component/player-manager/data-structure.md +29 -0
- package/rules/.docs/zh-CN/component/player-manager/decode.md +46 -0
- package/rules/.docs/zh-CN/component/player-manager/definition.md +85 -0
- package/rules/.docs/zh-CN/component/player-manager/event.md +16 -0
- package/rules/.docs/zh-CN/component/player-manager/global-event.md +304 -0
- package/rules/.docs/zh-CN/component/player-manager/installation.md +33 -0
- package/rules/.docs/zh-CN/component/player-manager/introduction.md +207 -0
- package/rules/.docs/zh-CN/component/player-manager/media-item-interceptor.md +197 -0
- package/rules/.docs/zh-CN/component/player-manager/media-item-list-interceptor.md +189 -0
- package/rules/.docs/zh-CN/component/player-manager/media-item-list.md +31 -0
- package/rules/.docs/zh-CN/component/player-manager/media-source-interceptor.md +166 -0
- package/rules/.docs/zh-CN/component/player-manager/media-source-list-interceptor.md +168 -0
- package/rules/.docs/zh-CN/component/player-manager/mode.md +46 -0
- package/rules/.docs/zh-CN/component/player-manager/multiple-player.md +124 -0
- package/rules/.docs/zh-CN/component/player-manager/player-type.md +38 -0
- package/rules/.docs/zh-CN/component/player-manager/player-view.md +31 -0
- package/rules/.docs/zh-CN/component/player-manager/player.md +73 -0
- package/rules/.docs/zh-CN/component/player-manager/position.md +27 -0
- package/rules/.docs/zh-CN/component/player-manager/rate.md +53 -0
- package/rules/.docs/zh-CN/component/player-manager/size.md +17 -0
- package/rules/.docs/zh-CN/component/player-manager/window.md +65 -0
- package/rules/.docs/zh-CN/component/plugin-view.md +21 -0
- package/rules/.docs/zh-CN/component/poster.md +102 -0
- package/rules/.docs/zh-CN/component/progress-bar.md +347 -0
- package/rules/.docs/zh-CN/component/qr-code.md +23 -0
- package/rules/.docs/zh-CN/component/radio-group.md +57 -0
- package/rules/.docs/zh-CN/component/rating-bar.md +43 -0
- package/rules/.docs/zh-CN/component/replace-child.md +20 -0
- package/rules/.docs/zh-CN/component/ripple-view.md +14 -0
- package/rules/.docs/zh-CN/component/row.md +29 -0
- package/rules/.docs/zh-CN/component/scroll-view.md +21 -0
- package/rules/.docs/zh-CN/component/seek-bar.md +377 -0
- package/rules/.docs/zh-CN/component/surface-view.md +14 -0
- package/rules/.docs/zh-CN/component/swift-list.md +21 -0
- package/rules/.docs/zh-CN/component/swiper-slide.md +18 -0
- package/rules/.docs/zh-CN/component/swiper.md +34 -0
- package/rules/.docs/zh-CN/component/switch.md +37 -0
- package/rules/.docs/zh-CN/component/tabs-view.md +44 -0
- package/rules/.docs/zh-CN/component/tabs.md +286 -0
- package/rules/.docs/zh-CN/component/test.md +58 -0
- package/rules/.docs/zh-CN/component/text.md +115 -0
- package/rules/.docs/zh-CN/component/transition-img.md +22 -0
- package/rules/.docs/zh-CN/component/ul.md +83 -0
- package/rules/.docs/zh-CN/component/video-player/aspect-ratio.md +49 -0
- package/rules/.docs/zh-CN/component/video-player/basic.md +55 -0
- package/rules/.docs/zh-CN/component/video-player/control.md +23 -0
- package/rules/.docs/zh-CN/component/video-player/decode.md +46 -0
- package/rules/.docs/zh-CN/component/video-player/definition.md +85 -0
- package/rules/.docs/zh-CN/component/video-player/event.md +16 -0
- package/rules/.docs/zh-CN/component/video-player/global-event.md +268 -0
- package/rules/.docs/zh-CN/component/video-player/installation.md +33 -0
- package/rules/.docs/zh-CN/component/video-player/introduction.md +18 -0
- package/rules/.docs/zh-CN/component/video-player/mode.md +50 -0
- package/rules/.docs/zh-CN/component/video-player/progress.md +51 -0
- package/rules/.docs/zh-CN/component/video-player/rate.md +53 -0
- package/rules/.docs/zh-CN/component/video-player/render.md +47 -0
- package/rules/.docs/zh-CN/component/video-player/type.md +32 -0
- package/rules/.docs/zh-CN/component/view-pager.md +14 -0
- package/rules/.docs/zh-CN/component/view.md +234 -0
- package/rules/.docs/zh-CN/component/virtual-dom.md +4 -0
- package/rules/.docs/zh-CN/component/virtual.md +8 -0
- package/rules/.docs/zh-CN/component/vue-section.md +29 -0
- package/rules/.docs/zh-CN/component/vue2js.md +47 -0
- package/rules/.docs/zh-CN/component/waterfall.md +447 -0
- package/rules/.docs/zh-CN/component/web-view.md +100 -0
- package/rules/.docs/zh-CN/component/x5web-view.md +100 -0
- package/rules/.docs/zh-CN/cooperation/index.md +6 -0
- package/rules/.docs/zh-CN/css/color/gradient.md +111 -0
- package/rules/.docs/zh-CN/css/color/hsl.md +11 -0
- package/rules/.docs/zh-CN/css/color/name.md +151 -0
- package/rules/.docs/zh-CN/css/color/rgb.md +16 -0
- package/rules/.docs/zh-CN/css/color/transparent.md +9 -0
- package/rules/.docs/zh-CN/css/layout/align-items.md +13 -0
- package/rules/.docs/zh-CN/css/layout/align-self.md +12 -0
- package/rules/.docs/zh-CN/css/layout/background-position-x.md +12 -0
- package/rules/.docs/zh-CN/css/layout/background-position-y.md +12 -0
- package/rules/.docs/zh-CN/css/layout/background-size.md +12 -0
- package/rules/.docs/zh-CN/css/layout/collapsable.md +13 -0
- package/rules/.docs/zh-CN/css/layout/display.md +12 -0
- package/rules/.docs/zh-CN/css/layout/flex-basis.md +12 -0
- package/rules/.docs/zh-CN/css/layout/flex-direction.md +15 -0
- package/rules/.docs/zh-CN/css/layout/flex-grow.md +15 -0
- package/rules/.docs/zh-CN/css/layout/flex-shrink.md +12 -0
- package/rules/.docs/zh-CN/css/layout/flex-wrap.md +12 -0
- package/rules/.docs/zh-CN/css/layout/flex.md +12 -0
- package/rules/.docs/zh-CN/css/layout/height.md +12 -0
- package/rules/.docs/zh-CN/css/layout/justify-content.md +12 -0
- package/rules/.docs/zh-CN/css/layout/left.md +13 -0
- package/rules/.docs/zh-CN/css/layout/line-height.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-bottom.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-horizontal.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-left.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-right.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-top.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin-vertical.md +12 -0
- package/rules/.docs/zh-CN/css/layout/margin.md +12 -0
- package/rules/.docs/zh-CN/css/layout/max-height.md +10 -0
- package/rules/.docs/zh-CN/css/layout/max-width.md +10 -0
- package/rules/.docs/zh-CN/css/layout/min-height.md +10 -0
- package/rules/.docs/zh-CN/css/layout/min-width.md +10 -0
- package/rules/.docs/zh-CN/css/layout/overflow.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-bottom.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-horizontal.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-left.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-right.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-top.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding-vertical.md +12 -0
- package/rules/.docs/zh-CN/css/layout/padding.md +12 -0
- package/rules/.docs/zh-CN/css/layout/position.md +14 -0
- package/rules/.docs/zh-CN/css/layout/right.md +13 -0
- package/rules/.docs/zh-CN/css/layout/text-align.md +12 -0
- package/rules/.docs/zh-CN/css/layout/top.md +12 -0
- package/rules/.docs/zh-CN/css/layout/width.md +12 -0
- package/rules/.docs/zh-CN/css/layout/z-index.md +12 -0
- package/rules/.docs/zh-CN/css/overview.md +8 -0
- package/rules/.docs/zh-CN/css/style/background-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-bottom-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-bottom-left-radius.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-bottom-right-radius.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-bottom-width.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-left-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-left-width.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-radius.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-right-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-right-width.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-style.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-top-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-top-left-radius.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-top-right-radius.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-top-width.md +10 -0
- package/rules/.docs/zh-CN/css/style/border-width.md +10 -0
- package/rules/.docs/zh-CN/css/style/box-shadow.md +10 -0
- package/rules/.docs/zh-CN/css/style/color.md +10 -0
- package/rules/.docs/zh-CN/css/style/font-family.md +10 -0
- package/rules/.docs/zh-CN/css/style/font-size.md +10 -0
- package/rules/.docs/zh-CN/css/style/font-style.md +10 -0
- package/rules/.docs/zh-CN/css/style/font-weight.md +10 -0
- package/rules/.docs/zh-CN/css/style/letter-spacing.md +10 -0
- package/rules/.docs/zh-CN/css/style/opacity.md +10 -0
- package/rules/.docs/zh-CN/css/style/text-decoration-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/text-decoration-line.md +10 -0
- package/rules/.docs/zh-CN/css/style/text-decoration.md +12 -0
- package/rules/.docs/zh-CN/css/style/tint-color.md +10 -0
- package/rules/.docs/zh-CN/css/style/visibility.md +10 -0
- package/rules/.docs/zh-CN/guide/basic/appendix.md +35 -0
- package/rules/.docs/zh-CN/guide/basic/dev-debug.md +94 -0
- package/rules/.docs/zh-CN/guide/basic/dev-tools.md +22 -0
- package/rules/.docs/zh-CN/guide/basic/installation.md +144 -0
- package/rules/.docs/zh-CN/guide/basic/language.md +10 -0
- package/rules/.docs/zh-CN/guide/basic/package-manager.md +8 -0
- package/rules/.docs/zh-CN/guide/basic/quick-start.md +150 -0
- package/rules/.docs/zh-CN/guide/changelog.md +20 -0
- package/rules/.docs/zh-CN/guide/commit-examples.md +90 -0
- package/rules/.docs/zh-CN/guide/compile/obfuscator.md +56 -0
- package/rules/.docs/zh-CN/guide/compile/pack.md +8 -0
- package/rules/.docs/zh-CN/guide/compile/resource.md +96 -0
- package/rules/.docs/zh-CN/guide/compile/split-chunks.md +66 -0
- package/rules/.docs/zh-CN/guide/dark-mode.md +84 -0
- package/rules/.docs/zh-CN/guide/design.md +34 -0
- package/rules/.docs/zh-CN/guide/dev-faq.md +41 -0
- package/rules/.docs/zh-CN/guide/dev-guide.md +55 -0
- package/rules/.docs/zh-CN/guide/device/ch.md +18 -0
- package/rules/.docs/zh-CN/guide/device/haier.md +12 -0
- package/rules/.docs/zh-CN/guide/device/hisense.md +24 -0
- package/rules/.docs/zh-CN/guide/device/huawei.md +16 -0
- package/rules/.docs/zh-CN/guide/device/konka.md +12 -0
- package/rules/.docs/zh-CN/guide/device/le.md +19 -0
- package/rules/.docs/zh-CN/guide/device/skyworth.md +25 -0
- package/rules/.docs/zh-CN/guide/device/tcl.md +21 -0
- package/rules/.docs/zh-CN/guide/device/tencent.md +24 -0
- package/rules/.docs/zh-CN/guide/device/tmall.md +18 -0
- package/rules/.docs/zh-CN/guide/device/xiaomi.md +46 -0
- package/rules/.docs/zh-CN/guide/faq/dev-faq.md +100 -0
- package/rules/.docs/zh-CN/guide/faq/develop-faq.md +39 -0
- package/rules/.docs/zh-CN/guide/faq/launch-params-faq.md +119 -0
- package/rules/.docs/zh-CN/guide/faq/layout-style-faq.md +66 -0
- package/rules/.docs/zh-CN/guide/focus/auto-focus.md +94 -0
- package/rules/.docs/zh-CN/guide/focus/basic.md +133 -0
- package/rules/.docs/zh-CN/guide/focus/debug-tool.md +40 -0
- package/rules/.docs/zh-CN/guide/focus/focus-method.md +317 -0
- package/rules/.docs/zh-CN/guide/focus/list-auto-focus.md +94 -0
- package/rules/.docs/zh-CN/guide/focus/request-focus.md +10 -0
- package/rules/.docs/zh-CN/guide/interaction/click.md +39 -0
- package/rules/.docs/zh-CN/guide/interaction/focus.md +44 -0
- package/rules/.docs/zh-CN/guide/key/back.md +65 -0
- package/rules/.docs/zh-CN/guide/key/dispatch-key-event.md +41 -0
- package/rules/.docs/zh-CN/guide/key/key-event.md +87 -0
- package/rules/.docs/zh-CN/guide/layout/adapter.md +33 -0
- package/rules/.docs/zh-CN/guide/layout/layout.md +42 -0
- package/rules/.docs/zh-CN/guide/layout/style.md +64 -0
- package/rules/.docs/zh-CN/guide/layout/theming.md +154 -0
- package/rules/.docs/zh-CN/guide/migration.md +25 -0
- package/rules/.docs/zh-CN/guide/namespace.md +69 -0
- package/rules/.docs/zh-CN/guide/nav.md +73 -0
- package/rules/.docs/zh-CN/guide/network/axios.md +47 -0
- package/rules/.docs/zh-CN/guide/network/fetch.md +70 -0
- package/rules/.docs/zh-CN/guide/network/websocket.md +107 -0
- package/rules/.docs/zh-CN/guide/node/install.md +179 -0
- package/rules/.docs/zh-CN/guide/npm/install.md +74 -0
- package/rules/.docs/zh-CN/guide/overview.md +41 -0
- package/rules/.docs/zh-CN/guide/page/application-lifecycle.md +37 -0
- package/rules/.docs/zh-CN/guide/page/lifecycle.md +32 -0
- package/rules/.docs/zh-CN/guide/page/page-lifecycle.md +35 -0
- package/rules/.docs/zh-CN/guide/page/page-state.md +31 -0
- package/rules/.docs/zh-CN/guide/page/type.md +49 -0
- package/rules/.docs/zh-CN/guide/publish/hub.md +31 -0
- package/rules/.docs/zh-CN/guide/publish/release-apk.md +51 -0
- package/rules/.docs/zh-CN/guide/publish/release-rpk.md +45 -0
- package/rules/.docs/zh-CN/guide/router/async.md +25 -0
- package/rules/.docs/zh-CN/guide/router/entry.md +60 -0
- package/rules/.docs/zh-CN/guide/router/error.md +25 -0
- package/rules/.docs/zh-CN/guide/router/install.md +70 -0
- package/rules/.docs/zh-CN/guide/router/introduction.md +35 -0
- package/rules/.docs/zh-CN/guide/router/launch.md +88 -0
- package/rules/.docs/zh-CN/guide/router/limit.md +33 -0
- package/rules/.docs/zh-CN/guide/router/native.md +104 -0
- package/rules/.docs/zh-CN/guide/router/result.md +42 -0
- package/rules/.docs/zh-CN/guide/sfc-component/async-component.md +88 -0
- package/rules/.docs/zh-CN/guide/sfc-component/native-component.md +127 -0
- package/rules/.docs/zh-CN/guide/slot/develop.md +42 -0
- package/rules/.docs/zh-CN/guide/slot/install.md +59 -0
- package/rules/.docs/zh-CN/guide/slot/introduction.md +45 -0
- package/rules/.docs/zh-CN/guide/slot/lifecycle.md +18 -0
- package/rules/.docs/zh-CN/guide/slot/project.md +22 -0
- package/rules/.docs/zh-CN/guide/test.md +8 -0
- package/rules/.docs/zh-CN/guide/theming.md +254 -0
- package/rules/.docs/zh-CN/guide/translation.md +39 -0
- package/rules/.docs/zh-CN/index.md +9 -0
- package/rules/.docs/zh-CN/module/action-bar.md +32 -0
- package/rules/.docs/zh-CN/module/app-list.md +57 -0
- package/rules/.docs/zh-CN/module/audio.md +45 -0
- package/rules/.docs/zh-CN/module/brightness.md +33 -0
- package/rules/.docs/zh-CN/module/broadcast.md +77 -0
- package/rules/.docs/zh-CN/module/content-provider.md +64 -0
- package/rules/.docs/zh-CN/module/develop.md +45 -0
- package/rules/.docs/zh-CN/module/device.md +108 -0
- package/rules/.docs/zh-CN/module/display.md +33 -0
- package/rules/.docs/zh-CN/module/download.md +97 -0
- package/rules/.docs/zh-CN/module/es.md +74 -0
- package/rules/.docs/zh-CN/module/event-bus.md +68 -0
- package/rules/.docs/zh-CN/module/file.md +62 -0
- package/rules/.docs/zh-CN/module/iac.md +51 -0
- package/rules/.docs/zh-CN/module/local-storage.md +35 -0
- package/rules/.docs/zh-CN/module/location.md +48 -0
- package/rules/.docs/zh-CN/module/log.md +52 -0
- package/rules/.docs/zh-CN/module/network.md +77 -0
- package/rules/.docs/zh-CN/module/overview.md +10 -0
- package/rules/.docs/zh-CN/module/permission.md +42 -0
- package/rules/.docs/zh-CN/module/plugin.md +38 -0
- package/rules/.docs/zh-CN/module/power.md +51 -0
- package/rules/.docs/zh-CN/module/runtime.md +41 -0
- package/rules/.docs/zh-CN/module/service.md +33 -0
- package/rules/.docs/zh-CN/module/share-data.md +85 -0
- package/rules/.docs/zh-CN/module/toast.md +30 -0
- package/rules/.docs/zh-CN/module/upload.md +53 -0
- package/rules/.docs/zh-CN/module/usb.md +52 -0
- package/rules/.docs/zh-CN/module/xlog.md +48 -0
- package/rules/.docs/zh-CN/resource/runtime.md +88 -0
- package/rules/.docs/zh-CN/resource/test-flight.md +27 -0
- package/rules/.docs/zh-CN/runtime/runtime.md +81 -0
- package/rules/.docs/zh-CN/runtime/test-flight.md +23 -0
- package/rules/.docs/zh-CN/sample/ai-dev.md +250 -0
- package/rules/.docs/zh-CN/sample/api-demo.md +26 -0
- package/rules/.docs/zh-CN/sample/app-list.md +12 -0
- package/rules/.docs/zh-CN/sample/hello-tv.md +98 -0
- package/rules/.docs/zh-CN/sdk/cus_component.md +249 -0
- package/rules/.docs/zh-CN/sdk/cus_module.md +163 -0
- package/rules/.docs/zh-CN/sdk/cus_splash.md +97 -0
- package/rules/.docs/zh-CN/sdk/empty.md +0 -0
- package/rules/.docs/zh-CN/sdk/first_implementation.md +15 -0
- package/rules/.docs/zh-CN/sdk/first_init.md +13 -0
- package/rules/.docs/zh-CN/sdk/first_start_app.md +4 -0
- package/rules/.docs/zh-CN/sdk/light-card.md +116 -0
- package/rules/.docs/zh-CN/sdk/overview.md +5 -0
- package/rules/.docs/zh-CN/tool/api/overview.md +103 -0
- package/rules/.docs/zh-CN/tool/cli/adb.md +32 -0
- package/rules/.docs/zh-CN/tool/cli/build.md +14 -0
- package/rules/.docs/zh-CN/tool/cli/clean.md +12 -0
- package/rules/.docs/zh-CN/tool/cli/config.md +37 -0
- package/rules/.docs/zh-CN/tool/cli/create.md +28 -0
- package/rules/.docs/zh-CN/tool/cli/debug.md +30 -0
- package/rules/.docs/zh-CN/tool/cli/info.md +14 -0
- package/rules/.docs/zh-CN/tool/cli/installation.md +12 -0
- package/rules/.docs/zh-CN/tool/cli/introduction.md +26 -0
- package/rules/.docs/zh-CN/tool/cli/logcat.md +10 -0
- package/rules/.docs/zh-CN/tool/cli/migrate.md +12 -0
- package/rules/.docs/zh-CN/tool/cli/pack.md +14 -0
- package/rules/.docs/zh-CN/tool/cli/preview.md +18 -0
- package/rules/.docs/zh-CN/tool/cli/publish.md +12 -0
- package/rules/.docs/zh-CN/tool/cli/setup.md +58 -0
- package/rules/.docs/zh-CN/tool/cli/start.md +54 -0
- package/rules/.docs/zh-CN/tool/cli/test.md +22 -0
- package/rules/.docs/zh-CN/tool/cli/upgrade.md +12 -0
- package/rules/.github/copilot-instructions.md +456 -0
- package/rules/.windsurfrules +367 -0
- package/rules/AGENTS.md +456 -0
- package/rules/AI_HANDOFF.md +376 -0
- package/rules/CLAUDE.md +836 -0
- package/rules/GEMINI.md +463 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 路由错误页面
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 路由错误页面
|
|
7
|
+
|
|
8
|
+
当要启动的页面不存在的时候,可以展示一个错误页面。 错误页面需要配置在`RouterOptions`中。以`error`字段为key,入口页面路径为value。 例如:在`RouterOptions`中设置错误页面为`error`。
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
|
|
12
|
+
import { createESRouter } from '@extscreen/es3-router'
|
|
13
|
+
import routes from "./routes.ts";
|
|
14
|
+
import type { Router } from '@extscreen/es3-router';
|
|
15
|
+
|
|
16
|
+
const routerOptions = {
|
|
17
|
+
main: 'index',
|
|
18
|
+
error: 'error',
|
|
19
|
+
routes,
|
|
20
|
+
}
|
|
21
|
+
const router: Router = createESRouter(routerOptions)
|
|
22
|
+
const app: ESApp = createESApp(application, router);
|
|
23
|
+
app.use(install);
|
|
24
|
+
|
|
25
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 集成
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 集成
|
|
7
|
+
|
|
8
|
+
## 第1步:`package.json`引入库
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"@extscreen/es3-router": "^1.1.0"
|
|
13
|
+
}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 第2步:创建`RouteMap`
|
|
17
|
+
|
|
18
|
+
创建`routes.ts`加入页面路由配置。
|
|
19
|
+
|
|
20
|
+
下面以`index.vue`页面为例:
|
|
21
|
+
|
|
22
|
+
```ts
|
|
23
|
+
import index from "./views/index.vue";
|
|
24
|
+
|
|
25
|
+
const routes = [
|
|
26
|
+
{
|
|
27
|
+
path: '/index',
|
|
28
|
+
name: 'index',
|
|
29
|
+
component: index,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
path: '/error',
|
|
33
|
+
name: 'error',
|
|
34
|
+
component: error,
|
|
35
|
+
},
|
|
36
|
+
]
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 第3步:`main.ts`中初始化
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
|
|
43
|
+
import { createESRouter } from '@extscreen/es3-router'
|
|
44
|
+
import routes from "./routes.ts";
|
|
45
|
+
import type { Router } from '@extscreen/es3-router';
|
|
46
|
+
|
|
47
|
+
const routerOptions = {
|
|
48
|
+
main: 'index',
|
|
49
|
+
error: 'error',
|
|
50
|
+
limit: 10,
|
|
51
|
+
routes,
|
|
52
|
+
}
|
|
53
|
+
const router: Router = createESRouter(routerOptions)
|
|
54
|
+
const app: ESApp = createESApp(application, router);
|
|
55
|
+
app.use(install);
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 第4步:`App.vue`中初始化
|
|
60
|
+
|
|
61
|
+
```vue
|
|
62
|
+
|
|
63
|
+
<template>
|
|
64
|
+
<div id="root">
|
|
65
|
+
<es-router-view />
|
|
66
|
+
</div>
|
|
67
|
+
</template>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
配置完成,并且初始化成功后就可以进行页面的跳转了。
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 简介
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 简介
|
|
7
|
+
|
|
8
|
+
页面路由使用`ESRouter`。
|
|
9
|
+
|
|
10
|
+
::: tip ESRouter 和 Vue Router 4.x 接口保持一致。
|
|
11
|
+
[`点击查看Router 4.x`](https://router.vuejs.org)
|
|
12
|
+
:::
|
|
13
|
+
|
|
14
|
+
## 打开页面
|
|
15
|
+
|
|
16
|
+
示例代码
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
const router = useESRouter()
|
|
20
|
+
router.push({
|
|
21
|
+
name: 'router/router_zero_page',
|
|
22
|
+
params: {
|
|
23
|
+
from: 'router_first'
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 关闭当前页面
|
|
29
|
+
|
|
30
|
+
示例代码
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
const router = useESRouter()
|
|
34
|
+
router.back();
|
|
35
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 启动模式
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 启动模式
|
|
7
|
+
|
|
8
|
+
页面启动有三种模式。
|
|
9
|
+
|
|
10
|
+
* `Standard`标准模式
|
|
11
|
+
|
|
12
|
+
`ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_STANDARD`
|
|
13
|
+
* `SingleTask`单任务模式
|
|
14
|
+
|
|
15
|
+
`ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_SINGLE_TASK`
|
|
16
|
+
* `ClearTask`清空任务模式
|
|
17
|
+
|
|
18
|
+
`ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_CLEAR_TASK`
|
|
19
|
+
|
|
20
|
+
下面以4个页面为例,介绍这三种启动模式。
|
|
21
|
+
|
|
22
|
+
* `A`页面配置启动模式:清空任务模式
|
|
23
|
+
* `B`页面配置启动模式:标准模式
|
|
24
|
+
* `C`页面配置启动模式:标准模式
|
|
25
|
+
* `D`页面配置启动模式:单任务模式
|
|
26
|
+
|
|
27
|
+
## `Standard`标准模式
|
|
28
|
+
|
|
29
|
+
`routes.ts`配置
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
[{
|
|
33
|
+
path: '/index',
|
|
34
|
+
name: 'index',
|
|
35
|
+
component: index,
|
|
36
|
+
launchMode: ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_STANDARD
|
|
37
|
+
}]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
* 打开页面:`A` ==> `B`==> `C`==> `D`
|
|
41
|
+
<img src="/guide/router/lifecycle_standard_launch.png" />
|
|
42
|
+
|
|
43
|
+
----------
|
|
44
|
+
|
|
45
|
+
* 关闭页面:`D` ==> `C`==> `B`==> `A`
|
|
46
|
+
<img src="/guide/router/lifecycle_standard_finish.png" />
|
|
47
|
+
|
|
48
|
+
## `SingleTask`单任务模式
|
|
49
|
+
|
|
50
|
+
`routes.ts`配置
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
[{
|
|
54
|
+
path: '/index',
|
|
55
|
+
name: 'index',
|
|
56
|
+
component: index,
|
|
57
|
+
launchMode: ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_SINGLE_TASK,
|
|
58
|
+
}]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
* 打开页面:`B` ==> `D`==> `C`==> `D`
|
|
62
|
+
<img src="/guide/router/lifecycle_single_task_launch.png" />
|
|
63
|
+
|
|
64
|
+
----------
|
|
65
|
+
|
|
66
|
+
* 关闭页面:`D` ==> `B`
|
|
67
|
+
<img src="/guide/router/lifecycle_single_task_finish.png" />
|
|
68
|
+
|
|
69
|
+
## `ClearTask`清空任务模式
|
|
70
|
+
|
|
71
|
+
`routes.ts`配置
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
[{
|
|
75
|
+
path: '/index',
|
|
76
|
+
name: 'index',
|
|
77
|
+
component: index,
|
|
78
|
+
launchMode: ESRouteLaunchMode.ES_ROUTE_LAUNCH_MODE_CLEAR_TASK,
|
|
79
|
+
}]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
* 打开页面:`B` ==> `C`==> `A`==> `D`
|
|
83
|
+
<img src="/guide/router/lifecycle_clear_task_launch.png" />
|
|
84
|
+
|
|
85
|
+
----------
|
|
86
|
+
|
|
87
|
+
* 关闭页面:`D` ==> `A`
|
|
88
|
+
<img src="/guide/router/lifecycle_clear_task_finish.png" />
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 页面回收策略
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 页面回收策略
|
|
7
|
+
|
|
8
|
+
可以设置同时存活的页面的总数量。 开发者可以通过`RouterOptions`配置。
|
|
9
|
+
|
|
10
|
+
* 打开页面后,如果当前页面堆栈总数量超过`页面的总数量`后,`ES运行环境`会销毁页面堆栈底部相应数量的页面。
|
|
11
|
+
* 关闭页面后,如果当前页面堆栈总数量小于`页面的总数量`时,`ES运行环境`会重新创建之前销毁的页面。
|
|
12
|
+
|
|
13
|
+
## 通过`RouterOptions`设置
|
|
14
|
+
|
|
15
|
+
`RouterOptions`中加入`limit`属性既可。
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
|
|
19
|
+
import { createESRouter } from '@extscreen/es3-router'
|
|
20
|
+
import routes from "./routes.ts";
|
|
21
|
+
import type { Router } from '@extscreen/es3-router';
|
|
22
|
+
|
|
23
|
+
const routerOptions = {
|
|
24
|
+
main: 'index',
|
|
25
|
+
error: 'error',
|
|
26
|
+
limit: 10,
|
|
27
|
+
routes,
|
|
28
|
+
}
|
|
29
|
+
const router: Router = createESRouter(routerOptions)
|
|
30
|
+
const app: ESApp = createESApp(application, router);
|
|
31
|
+
app.use(install);
|
|
32
|
+
|
|
33
|
+
```
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 原生路由
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 原生路由
|
|
7
|
+
|
|
8
|
+
原生路由(`ESNativeRouter`)是快应用调用安卓页面(`Activity`)解决方案。
|
|
9
|
+
|
|
10
|
+
## 一、`push` 打开其他快应用
|
|
11
|
+
|
|
12
|
+
`NativeRouteLocationRaw`参数
|
|
13
|
+
|
|
14
|
+
| Name | Description | Type | Default |
|
|
15
|
+
| -------------- | ------------------| ----------------------------|---------|
|
|
16
|
+
| pkg | 包名 | ^[string] | - |
|
|
17
|
+
| args | 传递给快应用的参数 | ^[RouteLocationRaw] | - |
|
|
18
|
+
| backgroundColor| 背景颜色 | ^[string]/^[number] | - |
|
|
19
|
+
| transparent | 是否透明背景 | ^[boolean] | - |
|
|
20
|
+
| splash | 是否显示splash | ^[number]`-1:不显示 0:默认 1:简单` | - |
|
|
21
|
+
| version | 快应用版本号 | ^[string] | - |
|
|
22
|
+
| minVersion | 快应用最小版本号 | ^[string] | - |
|
|
23
|
+
|
|
24
|
+
::: warning 注意:args 固定格式如下:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"url": "",
|
|
29
|
+
"params": {
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
* ***`url`: 启动的快应用的页面的名称***
|
|
35
|
+
* ***`params`: 启动的快应用的页面传递的参数***
|
|
36
|
+
|
|
37
|
+
:::
|
|
38
|
+
|
|
39
|
+
示例代码
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
const nativeRouter = useESNativeRouter()
|
|
43
|
+
nativeRouter.push({
|
|
44
|
+
//1.打开 api demo快应用
|
|
45
|
+
pkg: 'com.quicktvui.app.api',
|
|
46
|
+
args: {
|
|
47
|
+
"url": "home", //2.打开 home页面
|
|
48
|
+
"params": { //3.传递参数 message
|
|
49
|
+
"message": "hello vue"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 二、`back` 关闭当前快应用
|
|
56
|
+
|
|
57
|
+
示例代码
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
const nativeRouter = useESNativeRouter()
|
|
61
|
+
nativeRouter.back()
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 三、`launch` 打开其他安卓应用
|
|
65
|
+
|
|
66
|
+
::: tip 参考 adb shell 命令
|
|
67
|
+
[点击查看 ***`adb shell am start`*** 命令详情](https://developer.android.google.cn/tools/adb?hl=en#IntentSpec)
|
|
68
|
+
:::
|
|
69
|
+
|
|
70
|
+
启动参数
|
|
71
|
+
|
|
72
|
+
| Name | Description | Type | Default |
|
|
73
|
+
| -------------- | ------------------| ----------------------------- |---------|
|
|
74
|
+
| -p | package_name | ^[string] | - |
|
|
75
|
+
| -a | action | ^[string] | - |
|
|
76
|
+
| -d | data_uri | ^[string] | - |
|
|
77
|
+
| -n | component | ^[string] | - |
|
|
78
|
+
| -e | extra_key extra_string_value| ^[string] | - |
|
|
79
|
+
|
|
80
|
+
::: warning 注意:`launch`方法的参数是二维数组
|
|
81
|
+
:::
|
|
82
|
+
|
|
83
|
+
示例代码
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
const nativeRouter = useESNativeRouter()
|
|
87
|
+
//打开腾讯视频
|
|
88
|
+
nativeRouter.launch(
|
|
89
|
+
//二维数组
|
|
90
|
+
[
|
|
91
|
+
['-d', 'tenvideo2://?action=1&cover_id=mzc00200tq7m03f&stay_flag=1&pull_from=1024041']
|
|
92
|
+
]
|
|
93
|
+
)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 四、`launchByPackage` 根据包名打开其他安卓应用
|
|
97
|
+
|
|
98
|
+
示例代码
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
const nativeRouter = useESNativeRouter()
|
|
102
|
+
//打开腾讯视频
|
|
103
|
+
nativeRouter.launchByPackage('com.ktcp.video')
|
|
104
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 回传数据
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 回传数据
|
|
7
|
+
|
|
8
|
+
你可以在[quicktvui-playground](https://github.com/quicktvui/quicktvui-playground/tree/master/es-page-result) 上查看示例。
|
|
9
|
+
|
|
10
|
+
## 第 1 步:`A`页面打开`B`页面的时候,注册回传数据监听
|
|
11
|
+
|
|
12
|
+
`A`页面:注册`resultCallback`数据回传监听
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
router.push({
|
|
16
|
+
name: 'B',
|
|
17
|
+
//注册回传数据监听
|
|
18
|
+
resultCallback: {
|
|
19
|
+
onResult(result: RouteResult): Promise<RouteResultData> | void {
|
|
20
|
+
console.log('------收到B页面回传的数据------->', ret);
|
|
21
|
+
return Promise.resolve("收到B页面回传的数据后,发送给B页面的数据")
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 第 2 步:在打开的`B`页面上回传数据
|
|
28
|
+
|
|
29
|
+
`B`页面:调用`setResult`方法回传数据
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
const router = useESRouter()
|
|
33
|
+
router.setResult({
|
|
34
|
+
resultCode: RouteResultCode.ROUTE_RESULT_OK,
|
|
35
|
+
//发送给A页面的数据
|
|
36
|
+
data: {
|
|
37
|
+
msg: 'hello~~~'
|
|
38
|
+
}
|
|
39
|
+
}).then((ret) => {
|
|
40
|
+
console.log('-----收到A页面回传的数据-------->', ret);
|
|
41
|
+
})
|
|
42
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AsyncComponent
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 异步组件
|
|
7
|
+
|
|
8
|
+
Vue 3 提供的异步加载组件的功能,它允许我们在需要时才去加载某个组件或页面,而不是一开始就把所有组件或页面都加载到页面中。这样可以有效地减少首屏加载时间,尤其是当项目中组件数量庞大时,异步加载组件可以极大提高应用的性能。
|
|
9
|
+
|
|
10
|
+
::: tip 异步加载两种方式
|
|
11
|
+
|
|
12
|
+
* 使用异步组件`defineAsyncComponent`实现组件异步加载
|
|
13
|
+
|
|
14
|
+
***点击查看 [defineAsyncComponent 官方文档](https://vuejs.org/guide/components/async.html)***
|
|
15
|
+
|
|
16
|
+
* 使用异步路由`Async Router`实现页面异步加载
|
|
17
|
+
|
|
18
|
+
***点击查看 [异步路由](/zh-CN/guide/router/async)***
|
|
19
|
+
|
|
20
|
+
:::
|
|
21
|
+
|
|
22
|
+
------------------
|
|
23
|
+
|
|
24
|
+
***以下介绍异步加载组件实现方式`defineAsyncComponent`***
|
|
25
|
+
|
|
26
|
+
## 第一步、定义子组件 `child-component.vue`
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
|
|
30
|
+
<template>
|
|
31
|
+
<div class="es-component-child-css">
|
|
32
|
+
<span>异步组件加载的子组件</span>
|
|
33
|
+
<img class="es-component-child-img-css" :src="star" />
|
|
34
|
+
</div>
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script lang="ts">
|
|
38
|
+
|
|
39
|
+
import { defineComponent } from "@vue/runtime-core";
|
|
40
|
+
import star from '../../assets/star.png'
|
|
41
|
+
|
|
42
|
+
export default defineComponent({
|
|
43
|
+
name: 'Child',
|
|
44
|
+
setup() {
|
|
45
|
+
return {
|
|
46
|
+
star
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
</script>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 第二步、定义父组件
|
|
55
|
+
|
|
56
|
+
```vue
|
|
57
|
+
|
|
58
|
+
<template>
|
|
59
|
+
<div class="es-sdk-root-css">
|
|
60
|
+
<AsyncChild class="es-sdk-async-child-css" />
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
|
|
64
|
+
<script lang="ts" setup>
|
|
65
|
+
|
|
66
|
+
import { defineAsyncComponent } from "@vue/runtime-core";
|
|
67
|
+
|
|
68
|
+
//使用 defineAsyncComponent 加载子组件
|
|
69
|
+
const AsyncChild = defineAsyncComponent(
|
|
70
|
+
() => import('./child-component.vue'))
|
|
71
|
+
|
|
72
|
+
</script>
|
|
73
|
+
|
|
74
|
+
<style>
|
|
75
|
+
.es-sdk-async-child-css {
|
|
76
|
+
width: 200px;
|
|
77
|
+
height: 200px;
|
|
78
|
+
background-color: #F20C00;
|
|
79
|
+
}
|
|
80
|
+
</style>
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
::: warning 注意:异步组件必须在编译时使用 webpack @extscreen/es3-dynamic-import-plugin 插件
|
|
85
|
+
|
|
86
|
+
[点击查看使用 es3-dynamic-import-plugin 插件 ](/zh-CN/guide/compile/split-chunks)
|
|
87
|
+
|
|
88
|
+
:::
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: NativeComponent
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 自定义原生组件
|
|
7
|
+
|
|
8
|
+
## 第一步、注册 Element
|
|
9
|
+
|
|
10
|
+
* 安卓端自定义了个原生组件 `XXXNativeComponent`。
|
|
11
|
+
* 在 `main.ts`中调用`registerElement`注册`Element`
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { registerElement } from "@extscreen/es3-vue";
|
|
15
|
+
|
|
16
|
+
const xxxxElement = {
|
|
17
|
+
component: {
|
|
18
|
+
// 1. XXXNativeComponent 对应 android 端组件的名称
|
|
19
|
+
name: 'XXXNativeComponent',
|
|
20
|
+
processEventData(evtData, nativeEventParams: {
|
|
21
|
+
eventName: string
|
|
22
|
+
eventData: string
|
|
23
|
+
}) {
|
|
24
|
+
const { handler: event, __evt: nativeEventName } = evtData;
|
|
25
|
+
// 2. 处理 android 端组件发出的事件,并处理参数
|
|
26
|
+
switch (nativeEventName) {
|
|
27
|
+
// android 端发出事件 onXXXNativeEvent
|
|
28
|
+
case 'onXXXNativeEvent':
|
|
29
|
+
event.eventName = nativeEventParams.eventName;
|
|
30
|
+
event.eventData = nativeEventParams.eventData;
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
return event;
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
registerElement('XXXNativeComponent', xxxxElement);
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
::: warning 注意:注册的 Element 的 tag 和 name 都要和 android 端注册的组件的名称相同。
|
|
44
|
+
:::
|
|
45
|
+
|
|
46
|
+
## 第二步、封装 Component
|
|
47
|
+
|
|
48
|
+
* 渲染 `XXXNativeComponent` `Element`。
|
|
49
|
+
* 在 `ESApp`中调用`component`方法注册`component`
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { ESApp, Native, registerElement } from "@extscreen/es3-vue";
|
|
53
|
+
|
|
54
|
+
// 1、自定义vue component 名称为:xxx-view
|
|
55
|
+
app.component('XxxView', {
|
|
56
|
+
// XXX-event 事件
|
|
57
|
+
emits: [
|
|
58
|
+
'XXX-event',
|
|
59
|
+
],
|
|
60
|
+
setup(props, context) {
|
|
61
|
+
const viewRef = ref()
|
|
62
|
+
|
|
63
|
+
//2、自定义组件方法
|
|
64
|
+
function setXXXParams(text: string) {
|
|
65
|
+
//调用 android 端组件的 setXXXParamsXXX 方法
|
|
66
|
+
Native.callUIFunction(viewRef.value, 'setXXXParamsXXX', [text], (res) => {
|
|
67
|
+
//
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
context.expose({
|
|
72
|
+
//3.暴露组件方法
|
|
73
|
+
setXXXParams,
|
|
74
|
+
})
|
|
75
|
+
return () => {
|
|
76
|
+
const children = context.slots.default && context.slots.default()
|
|
77
|
+
return h(
|
|
78
|
+
//4.调用h函数渲染 XXXNativeComponent Element
|
|
79
|
+
'XXXNativeComponent',
|
|
80
|
+
{
|
|
81
|
+
ref: viewRef,
|
|
82
|
+
//5.接受 android 组件发出的 onXXXNativeEvent 事件,并转发 XXX-event 事件
|
|
83
|
+
onXXXNativeEvent: (evt) => {
|
|
84
|
+
context.emit('XXX-event', evt.eventName, evt.eventData);
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
//6. 渲染slot
|
|
88
|
+
children
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 第三步、使用 Component
|
|
96
|
+
|
|
97
|
+
```vue
|
|
98
|
+
|
|
99
|
+
<template>
|
|
100
|
+
<!-- 使用 xxx-view 组件-->
|
|
101
|
+
<xxx-view class="es-sdk-root-css" />
|
|
102
|
+
</template>
|
|
103
|
+
<script>
|
|
104
|
+
|
|
105
|
+
import { defineComponent } from "@vue/runtime-core";
|
|
106
|
+
|
|
107
|
+
export default defineComponent({
|
|
108
|
+
name: 'Index',
|
|
109
|
+
setup() {
|
|
110
|
+
//
|
|
111
|
+
return {
|
|
112
|
+
//
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
</script>
|
|
118
|
+
<style>
|
|
119
|
+
.es-sdk-root-css {
|
|
120
|
+
width: 1920px;
|
|
121
|
+
height: 1080px;
|
|
122
|
+
}
|
|
123
|
+
</style>
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 轻卡开发
|
|
2
|
+
|
|
3
|
+
## 一、开发轻卡
|
|
4
|
+
|
|
5
|
+
和开发快应用相同,只需要编写一个普通的vue组件。
|
|
6
|
+
|
|
7
|
+
以`home.vue`为例
|
|
8
|
+
|
|
9
|
+
:::demo
|
|
10
|
+
|
|
11
|
+
guide/slot/basic
|
|
12
|
+
|
|
13
|
+
:::
|
|
14
|
+
|
|
15
|
+
## 二、注册轻卡
|
|
16
|
+
|
|
17
|
+
在`main.ts`路由表中注册第一步编写的组件
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
import home from "./views/home.vue";
|
|
21
|
+
|
|
22
|
+
const routes = [
|
|
23
|
+
{
|
|
24
|
+
path: '/home',
|
|
25
|
+
name: 'home',
|
|
26
|
+
component: home,
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 三、调试轻卡
|
|
32
|
+
|
|
33
|
+
```shell
|
|
34
|
+
adb shell am start -d 'ejs://debug?name=home&uri=http://192.168.40.180:38989'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
* `name`参数指定路由的名称
|
|
38
|
+
* `uri`参数指定调试的IP地址
|
|
39
|
+
|
|
40
|
+
## 四、查看调试效果
|
|
41
|
+
|
|
42
|
+
<img width="95%" src="/guide/slot/hello-jsview.png" />
|