@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,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: p
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# p
|
|
7
|
+
|
|
8
|
+
::: warning 注意:p标签需要设置宽高尺寸才能正确显示。
|
|
9
|
+
:::
|
|
10
|
+
|
|
11
|
+
## 基础用法
|
|
12
|
+
|
|
13
|
+
:::demo
|
|
14
|
+
|
|
15
|
+
component/p/basic
|
|
16
|
+
|
|
17
|
+
:::
|
|
18
|
+
|
|
19
|
+
## gravity
|
|
20
|
+
|
|
21
|
+
* `center`
|
|
22
|
+
* `left`
|
|
23
|
+
* `right`
|
|
24
|
+
|
|
25
|
+
<img src="/component/p/gravity.jpg" />
|
|
26
|
+
|
|
27
|
+
:::demo
|
|
28
|
+
|
|
29
|
+
component/p/gravity
|
|
30
|
+
|
|
31
|
+
:::
|
|
32
|
+
|
|
33
|
+
## API
|
|
34
|
+
|
|
35
|
+
### Attributes
|
|
36
|
+
|
|
37
|
+
| Name | Description | Type | Default |
|
|
38
|
+
| ------------------- | -------------------|-------------------------------------------------------------------------|--------------|
|
|
39
|
+
| focusable | 是否可以获得焦点 | ^[boolean] | false |
|
|
40
|
+
| duplicateParentState | 继承父类的状态 | ^[boolean] | false |
|
|
41
|
+
| sid ^(2.7) | 给一个元素标记一个`string id`,可随意赋值,需确保唯一 | ^[string] | - |
|
|
42
|
+
| viewLayerType | 设置`layerType` | ^[enum]`'hardware' \| 'soft' \| 'none'` | - |
|
|
43
|
+
| clipBounds | 设置裁剪区域 | ^[object]`'{left : number, right: number, top: number, bottom: number}'` | - |
|
|
44
|
+
| name | 指定元素的`name` | ^[string] | - |
|
|
45
|
+
| selected | 选择状态 | ^[boolean] | false |
|
|
46
|
+
| visible | 是否可见 | ^[boolean] | false |
|
|
47
|
+
| visibility | 可见性 | ^[enum]`'visible' \| 'invisible' \| 'gone'` | visible |
|
|
48
|
+
| size | 设置元素大小 | ^[array]`[width : number,height : number]` | - |
|
|
49
|
+
| layout | 设置元素位置及大小 | ^[array]`[x : number, y : number, width : number,height : number]` | - |
|
|
50
|
+
| textColor | 文字颜色 | ^[string] | — |
|
|
51
|
+
| focusColor | 焦点文字颜色 | ^[string] | — |
|
|
52
|
+
| selectColor | 选中文字颜色 | ^[string] | — |
|
|
53
|
+
| numberOfLines | 用来当文本过长的时候裁剪文本。包括折叠产生的换行在内,总的行数不会超过这个属性的限制。 | `number` | — |
|
|
54
|
+
| ellipsizeMode | 当设定了 `numberOfLines` 值后,这个参数指定了字符串如何被截断。所以,在使用 `ellipsizeMode` 时,必须得同时指定 `numberOfLines` 数值。 | ^[enum]`head \| middle \| tail \| clip` |— |
|
|
55
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PlayMarkView
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PlayMarkView
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<qt-play-mark
|
|
10
|
+
style="width: 25px; height: 25px; position: absolute"
|
|
11
|
+
markColor="#FFD97C"
|
|
12
|
+
/>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Attributes
|
|
16
|
+
|
|
17
|
+
| Name | Description | Type | Default |
|
|
18
|
+
|-------------|----------------|------------------------------------------------------|---------|
|
|
19
|
+
| markColor | 以字符串形式指定的背景色 | ^[string]`'例如黑色:#000000 或者 #ff000000` | - | |
|
|
20
|
+
| stateColor | 非焦点和焦点状态下不同颜色值 | ^[array]`数据中第0个代表普通状态,1为焦点状态,如['#FFFFFF','#FF0000']` | - | |
|
|
21
|
+
| makeLinearGradientColors | 线性渐变色 | ^[array]`数据中第0个代表起始颜色,1为结束颜色,如['#FFFFFF','#FF0000']` | - | |
|
|
22
|
+
| roundCorner | 圆角值 | `number` | - |
|
|
23
|
+
| gap | 间隔 | `number` | - |
|
|
24
|
+
| showType | 类型 | ^[enum]`'0 (从底向上)' \| '1 (中间)' ` | - |
|
|
25
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PagePlayer
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 播放数据拦截器
|
|
7
|
+
|
|
8
|
+
拦截器是调用数据之前执行的对数据处理的钩子函数。拦截器可以处理复杂的异步播放数据。
|
|
9
|
+
|
|
10
|
+
支持以下播放数据拦截:
|
|
11
|
+
|
|
12
|
+
* [`MediaItemList` 拦截器](/zh-CN/component/player-manager/media-item-list-interceptor)
|
|
13
|
+
* [`MediaItem` 拦截器](/zh-CN/component/player-manager/media-item-interceptor)
|
|
14
|
+
* [`MediaSourceList` 拦截器](/zh-CN/component/player-manager/media-source-list-interceptor)
|
|
15
|
+
* [`MediaSource` 拦截器](/zh-CN/component/player-manager/media-source-interceptor)
|
|
16
|
+
|
|
17
|
+
## 应用场景一:媒资详情页,需要通过 id 获取媒资分集列表
|
|
18
|
+
|
|
19
|
+
播放`MediaItemList`数据结构中分集列表`list`设置为`[]`,通过设置`MediaItemList`拦截器异步请求数据填充分集列表`list`。
|
|
20
|
+
|
|
21
|
+
## 应用场景二:播放媒资分集时,需要通过媒资分集信息进行用户播放权益鉴权
|
|
22
|
+
|
|
23
|
+
通过设置`MediaItem`拦截器异步请求鉴权数据,根据鉴权结果决定是否继续播放。
|
|
24
|
+
|
|
25
|
+
## 应用场景三:播放媒资分集时,需要通过媒资分集 id 获取播放地址列表
|
|
26
|
+
|
|
27
|
+
播放`MediaItem`数据结构中播放源列表`mediaSourceList`设置为`[]`,通过设置`MediaItem`拦截器异步请求数据填充播放源列表`mediaSourceList`。
|
|
28
|
+
|
|
29
|
+
## 应用场景四:播放媒资源时,需要给视频地址动态拼接参数
|
|
30
|
+
|
|
31
|
+
通过设置`MediaSource` 局部拦截器处理播放地址参数。
|
|
32
|
+
|
|
33
|
+
## 应用场景四:对整个应用获取的媒资播放源地址进行处理,
|
|
34
|
+
|
|
35
|
+
例如:整个应用播放视频源地址域名动态切换,通过设置`MediaSource` 全局拦截器处理播放地址参数。
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: MediaPlayer
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# MediaPlayer
|
|
7
|
+
|
|
8
|
+
## 一、简介
|
|
9
|
+
|
|
10
|
+
快应用音视频播放基于安卓`MediaPlayer`。
|
|
11
|
+
|
|
12
|
+
::: tip MediaPlayer
|
|
13
|
+
你可以在 [Android Documentation](https://developer.android.com/reference/android/media/MediaPlayer) 上查看更详细的介绍。
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 二、播放状态
|
|
18
|
+
|
|
19
|
+
### 1、MediaPlayer 状态图
|
|
20
|
+
|
|
21
|
+
<img src="/component/player/mediaplayer_state_diagram.gif" />
|
|
22
|
+
|
|
23
|
+
`MediaPlayer`的状态图是一个反映其内部状态转换的直观工具。图中的椭圆代表`MediaPlayer`驻留的状态,而弧则代表播放控制,驱动`MediaPlayer`
|
|
24
|
+
状态进行过渡。这些弧有两种类型:单箭头表示同步函数调用,双箭头表示异步函数调用。
|
|
25
|
+
|
|
26
|
+
在`MediaPlayer`的生命周期中,有几个关键状态需要特别关注:
|
|
27
|
+
|
|
28
|
+
* `Idle`(就绪)状态:当`MediaPlayer`创建实例或者调用`reset()`函数后,播放器就处于这个状态。此时,播放器已经准备好,但还没有开始播放任何内容。
|
|
29
|
+
* `Error`(错误)状态:由于某些原因,如支持的音视频格式分辨率过高、输入数据流超时等,`MediaPlayer`可能进入错误状态。在这种状态下,播放器通常无法继续播放,需要进行错误处理。
|
|
30
|
+
|
|
31
|
+
### 2、MediaPlayer 生命周期
|
|
32
|
+
|
|
33
|
+
`MediaPlayer`的生命周期始于`Idle`状态,然后可能经过一系列的状态转换,最终结束。以下是`MediaPlayer`生命周期中的一些关键阶段:
|
|
34
|
+
|
|
35
|
+
* `Idle`(就绪)状态:这是`MediaPlayer`的起始状态,表示播放器已经准备好,但还没有开始播放。
|
|
36
|
+
* `Prepared`(准备)状态:在`Idle`状态之后,你需要调用`prepare()`或`prepareAsync()`方法来准备播放器。这将使播放器进入`Prepared`状态,此时播放器已经加载了音视频数据,但还没有开始播放。
|
|
37
|
+
* `Started`(开始)状态:一旦播放器准备好,你可以调用`start()`方法来开始播放。这将使播放器进入`Started`状态,开始从当前位置播放音视频内容。
|
|
38
|
+
* `Paused`(暂停)状态:在播放过程中,你可以调用`pause()`方法来暂停播放。这将使播放器进入`Paused`状态,保持当前的播放位置,以便稍后恢复播放。
|
|
39
|
+
* `Stopped`(停止)状态:如果你需要完全停止播放,可以调用`stop()`方法。这将使播放器进入`Stopped`状态,清除所有的播放状态,包括播放位置、音轨、字幕等。
|
|
40
|
+
* `Released`(释放)状态:在播放结束或者不再需要播放器时,你应该调用`release()`
|
|
41
|
+
方法来释放播放器资源。这将使播放器进入`Released`状态,结束其生命周期。在这个阶段,播放器不再可用,所有的资源都被释放,无法再恢复到其他状态。
|
|
42
|
+
|
|
43
|
+
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PagePlayer
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 页面播放控制
|
|
7
|
+
|
|
8
|
+
大部分场景都是在页面中进行播放,所以需要在页面生命周期函数中进行播放控制。
|
|
9
|
+
|
|
10
|
+
::: tip 关于页面声明周期
|
|
11
|
+
|
|
12
|
+
[点击查看详细](/zh-CN/guide/page/page-lifecycle)
|
|
13
|
+
|
|
14
|
+
:::
|
|
15
|
+
|
|
16
|
+
## 一、播放常用方法简介
|
|
17
|
+
|
|
18
|
+
### 1、暂停播放操作(不销毁播放器)
|
|
19
|
+
|
|
20
|
+
* `start` 开始播放
|
|
21
|
+
* `pause` 暂停播放
|
|
22
|
+
|
|
23
|
+
调用`start`开始视频播放后,调用`pause`会停止播放。 调用`pause`暂停视频播放后,调用`start`会继续播放。
|
|
24
|
+
|
|
25
|
+
### 2、停止播放操作(毁播放器)
|
|
26
|
+
|
|
27
|
+
* `resume` 恢复播放
|
|
28
|
+
* `stop` 停止播放
|
|
29
|
+
|
|
30
|
+
调用`stop`停止视频播放后,调用`resume`会重新播放。
|
|
31
|
+
|
|
32
|
+
### 3、播放资源回收和重置操作
|
|
33
|
+
|
|
34
|
+
* `reset` 重置资源
|
|
35
|
+
* `release` 回收资源
|
|
36
|
+
|
|
37
|
+
不需要播放器的时候,调用`reset`和`release`方法进行资源的回收和重置。
|
|
38
|
+
|
|
39
|
+
::: warning 注意
|
|
40
|
+
|
|
41
|
+
* 如果离开当前页面,跳转其他页面进行交互操作,则需要停止(调用`stop`方法)当前页面的播放。
|
|
42
|
+
* 如果一直在当前页面进行交互操作,一般使用暂停(调用`pause`方法)播放。如果有需要则使用停止播放。
|
|
43
|
+
:::
|
|
44
|
+
|
|
45
|
+
## 二、页面声明周期播放控制
|
|
46
|
+
|
|
47
|
+
### 1、页面`onESCreate`生命周期中进行播放器初始化并进行开始播放。
|
|
48
|
+
|
|
49
|
+
以`ESVideoPlayer`为例:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
function onESCreate() {
|
|
53
|
+
//1、初始化播放
|
|
54
|
+
videoPlayer.value?.initialize()
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const onPlayerInitialized = (playerType) => {
|
|
58
|
+
const mediaSource: ESMediaSource = {
|
|
59
|
+
uri: 'http://extcdn.hsrc.tv/channelzero/2024/02/05/d477660a-3eb6-4c7f-b82b-0b61c035505c.mp4'
|
|
60
|
+
}
|
|
61
|
+
const mediaSourceList: ESMediaSourceList = {
|
|
62
|
+
index: 0,
|
|
63
|
+
list: [mediaSource]
|
|
64
|
+
}
|
|
65
|
+
//2、初始化完毕后,调用播放方法
|
|
66
|
+
videoPlayer.value?.playMediaSourceList(mediaSourceList)
|
|
67
|
+
//3、开始播放
|
|
68
|
+
videoPlayer.value?.start(0)
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 2、页面`onESPause`或者`onESStop`生命周期中停止播放。
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
function onESStop() {
|
|
76
|
+
|
|
77
|
+
stopDurationTimer()
|
|
78
|
+
stopProgressTimer()
|
|
79
|
+
|
|
80
|
+
//停止播放
|
|
81
|
+
videoPlayer.value?.stop()
|
|
82
|
+
|
|
83
|
+
isPageStopped = true
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3、页面`onESDestroy`生命周期中重置回收播放资源
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
function onESStop() {
|
|
91
|
+
//1、重置播放资源
|
|
92
|
+
videoPlayer.value?.reset()
|
|
93
|
+
//2、回收播放资源
|
|
94
|
+
videoPlayer.value?.release()
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4、页面`onESResume`生命周期中恢复播放
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
function onESResume() {
|
|
102
|
+
//1、如果页面停止后并且恢复后
|
|
103
|
+
if (isPageStopped) {
|
|
104
|
+
//2、恢复播放
|
|
105
|
+
videoPlayer.value?.resume()
|
|
106
|
+
}
|
|
107
|
+
isPageStopped = false
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
::: warning 注意:调用 resume 恢复播放时,如果需要从上次播放的位置继续播放,则播放的时候需要开启定时器主动调用 getCurrentPosition 方法获取视频的播放进度。
|
|
112
|
+
:::
|
|
113
|
+
|
|
114
|
+
:::demo ## 完整示例
|
|
115
|
+
|
|
116
|
+
component/video-player/page
|
|
117
|
+
|
|
118
|
+
:::
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: IPlayer
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# IPlayer 播放接口
|
|
7
|
+
|
|
8
|
+
## 简介
|
|
9
|
+
|
|
10
|
+
ESIPlayer 是一套通用播放器接口。
|
|
11
|
+
[`ESVideoPlayer`](/zh-CN/component/video-player/introduction)
|
|
12
|
+
、[`ESAudioPlayer`](/zh-CN/component/audio-player/introduction)
|
|
13
|
+
、[`ESAudioPlayerService`](/zh-CN/component/audio-service-player/introduction)
|
|
14
|
+
、[`ESPlayerManager`](/zh-CN/component/player-manager/introduction)等播放组件都基于此接口进行实现。
|
|
15
|
+
|
|
16
|
+
::: warning 注意:使用快应用内置的播放器,例如 ESVideoPlayer、ESAudioPlayer、ESAudioPlayerService等播放组件,都需要集成 ESIPlayer 并进行初始化。
|
|
17
|
+
:::
|
|
18
|
+
|
|
19
|
+
## 集成
|
|
20
|
+
|
|
21
|
+
### 第一步、`package.json`添加依赖库
|
|
22
|
+
|
|
23
|
+
* `@extscreen/es3-player`
|
|
24
|
+
|
|
25
|
+
### 第二步、集成`ESPlayer`
|
|
26
|
+
|
|
27
|
+
在`main.ts`中集成
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
import { createESPlayer } from "@extscreen/es3-player";
|
|
31
|
+
|
|
32
|
+
const player = createESPlayer();
|
|
33
|
+
app.use(player);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 第三步、初始化
|
|
37
|
+
|
|
38
|
+
在`App.vue`中或者使用之前
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
import { useESPlayer } from "@extscreen/es3-player";
|
|
42
|
+
import type { ESPlayerConfiguration, ESPlayerDisplay } from "@extscreen/es3-player";
|
|
43
|
+
|
|
44
|
+
const playerManager = useESPlayer()
|
|
45
|
+
const playerDisplay: ESPlayerDisplay = {
|
|
46
|
+
screenWidth: device.getScreenWidth(),//屏幕的宽度
|
|
47
|
+
screenHeight: device.getScreenHeight(),//屏幕的高度
|
|
48
|
+
}
|
|
49
|
+
const config: ESPlayerConfiguration = {
|
|
50
|
+
debug: true,
|
|
51
|
+
display: playerDisplay,
|
|
52
|
+
device: {
|
|
53
|
+
deviceType: runtime.getRuntimeDeviceType() ?? ''//设备类型
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
playerManager.init(config)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## API
|
|
60
|
+
|
|
61
|
+
### DataStructure
|
|
62
|
+
|
|
63
|
+
#### ESMediaSource
|
|
64
|
+
|
|
65
|
+
媒资资源
|
|
66
|
+
|
|
67
|
+
| Name | Description | Type | Default |
|
|
68
|
+
| -------------- | ------------------| ----------------------------|---------|
|
|
69
|
+
| id | 媒资资源唯一标识符 | ^[number] / ^[string] | — |
|
|
70
|
+
| uri | 媒资资源地址 | ^[any] | — |
|
|
71
|
+
| definition | 媒资资源清晰度 | ^[ESPlayerDefinition] | — |
|
|
72
|
+
| interceptors | 媒资资源拦截器 | ^[Array<ESIPlayerInterceptor>]| — |
|
|
73
|
+
| metadata | 媒资资源信息 | ^[ESMediaMetadata] | — |
|
|
74
|
+
|
|
75
|
+
#### ESMediaSourceList
|
|
76
|
+
|
|
77
|
+
媒资资源列表
|
|
78
|
+
|
|
79
|
+
| Name | Description | Type | Default |
|
|
80
|
+
| -------------- | ------------------| ----------------------------|---------|
|
|
81
|
+
| index | 默认播放媒资资源的索引| ^[number] | — |
|
|
82
|
+
| list | 媒资资源列表 | ^[Array<ESMediaSource>] | — |
|
|
83
|
+
| interceptors | 媒资资源列表拦截器 | ^[Array<ESIPlayerInterceptor>] | — |
|
|
84
|
+
| metadata | 媒资资源信息 | ^[ESMediaMetadata] | — |
|
|
85
|
+
| position | 媒资资源播放位置 | ^[ESPlayerPosition] | — |
|
|
86
|
+
|
|
87
|
+
### Attributes
|
|
88
|
+
|
|
89
|
+
| Name | Description | Type | Default |
|
|
90
|
+
| -------------------------| -----------------------| -----------------|---------|
|
|
91
|
+
| playerType | 播放器类型 |^[number] |-1 |
|
|
92
|
+
| playMediaSourceAuto | 是否自动播放媒资数据源 |^[boolean] |true |
|
|
93
|
+
| backgroundColor | 播放器背景颜色 | ^[string] |`transparent` |
|
|
94
|
+
| playerWidth | 播放器宽度 | ^[number] |1920 |
|
|
95
|
+
| playerHeight | 播放器高度 |^[number] |1080 |
|
|
96
|
+
| playerZIndex | 播放器z-index |^[number] |1 |
|
|
97
|
+
|
|
98
|
+
### Events
|
|
99
|
+
|
|
100
|
+
| Name | Description | Type |
|
|
101
|
+
| ----------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
102
|
+
| onPlayerInitialized | 播放器初始化事件 | ^[Function]`onPlayerInitialized() => void` |
|
|
103
|
+
| onPlayerPlayMediaSourceList | 播放媒资资源列表事件 | ^[Function]`onPlayerPlayMediaSourceList(mediaSourceList: ESMediaSourceList) => void` |
|
|
104
|
+
| onPlayerPlayMediaSource | 播放媒资资源事件 | ^[Function]`onPlayerPlayMediaSource(mediaSource: ESMediaSource) => void` |
|
|
105
|
+
| onPlayerInterceptSuccess | 播放拦截器成功事件 | ^[Function]`onPlayerInterceptSuccess(result: ESPlayerInterceptResult) => void` |
|
|
106
|
+
| onPlayerInterceptError | 播放拦截器错误事件 | ^[Function]`onPlayerInterceptError(error: ESPlayerInterceptError) => void` |
|
|
107
|
+
| onPlayerSizeChanged | 播放器尺寸变化事件 | ^[Function]`onPlayerSizeChanged(playerWidth: number, playerHeight: number) => void` |
|
|
108
|
+
| onPlayerPreparing | 播放器准备中事件 | ^[Function]`onPlayerPreparing() => void` |
|
|
109
|
+
| onPlayerPrepared | 播放器准备好事件 | ^[Function]`onPlayerPrepared() => void` |
|
|
110
|
+
| onPlayerBufferStart | 播放器开始缓冲事件 | ^[Function]`onPlayerBufferStart() => void` |
|
|
111
|
+
| onPlayerBufferEnd | 播放器缓冲结束事件 | ^[Function]`onPlayerBufferEnd() => void` |
|
|
112
|
+
| onPlayerPlaying | 播放器开始播放事件 | ^[Function]`onPlayerPlaying() => void` |
|
|
113
|
+
| onPlayerProgressChanged | 播放进度事件 | ^[Function]`onPlayerProgressChanged(progress: number) => void` |
|
|
114
|
+
| onPlayerDurationChanged | 播放总长度事件 | ^[Function]`onPlayerDurationChanged(duration: number) => void` |
|
|
115
|
+
| onPlayerSeekStart | 播放器开始快进事件 | ^[Function]`onPlayerSeekStart() => void` |
|
|
116
|
+
| onPlayerSeekCompleted | 播放器快进结束事件 | ^[Function]`onPlayerSeekCompleted() => void` |
|
|
117
|
+
| onPlayerPaused | 播放器暂停播放事件 | ^[Function]`onPlayerPaused() => void` |
|
|
118
|
+
| onPlayerResumed | 播放器恢复播放事件 | ^[Function]`onPlayerResumed() => void` |
|
|
119
|
+
| onPlayerStopped | 播放器停止播放事件 | ^[Function]`onPlayerStopped() => void` |
|
|
120
|
+
| onPlayerCompleted | 播放器播放完毕事件 | ^[Function]`onPlayerCompleted() => void` |
|
|
121
|
+
| onPlayerError | 播放错误事件 | ^[Function]`onPlayerError(error: ESPlayerError) => void` |
|
|
122
|
+
| onPlayerInfo | 播放信息事件 | ^[Function]`onPlayerInfo(info: ESPlayerInfo) => void` |
|
|
123
|
+
| onPlayerNoMediaSourceCanPlay | 无媒资资源可播放事件 | ^[Function]`onPlayerNoMediaSourceCanPlay(next: boolean) => void` |
|
|
124
|
+
| onPlayerVolumeChanged | 播放器音量变化事件 | ^[Function]`onPlayerVolumeChanged(leftVolume: number, rightVolume: number) => void` |
|
|
125
|
+
| onPlayerLeftVolumeChanged | 播放器左声道音量变化事件 | ^[Function]`onPlayerLeftVolumeChanged(volume: number) => void` |
|
|
126
|
+
| onPlayerRightVolumeChanged | 播放器右声道音量变化事件 | ^[Function]`onPlayerRightVolumeChanged(volume: number) => void` |
|
|
127
|
+
| onPlayerDefinitionListChanged | 播放器媒资清晰度列表事件 | ^[Function]`onPlayerDefinitionListChanged(definitionList: Array<ESPlayerDefinition>) => void` |
|
|
128
|
+
| onPlayerDefinitionChanged | 播放器媒资清晰度事件 | ^[Function]`onPlayerDefinitionChanged(definition: ESPlayerDefinition) => void` |
|
|
129
|
+
| onPlayerPlayRateListChanged | 播放速率列表事件 | ^[Function]`onPlayerPlayRateListChanged(rateList: Array<ESPlayerRate>) => void` |
|
|
130
|
+
| onPlayerPlayRateChanged | 播放速率事件 | ^[Function]`onPlayerPlayRateChanged(rate: ESPlayerRate) => void` |
|
|
131
|
+
| onPlayerDecodeListChanged | 播放器解码方式列表事件 | ^[Function]`onPlayerDecodeListChanged(decodeList: Array<ESPlayerDecode>) => void` |
|
|
132
|
+
| onPlayerDecodeChanged | 播放器解码方式事件 | ^[Function]`onPlayerDecodeChanged(decode: ESPlayerDecode) => void` |
|
|
133
|
+
| onPlayerAspectRatioListChanged| 画面比例列表事件 | ^[Function]`onPlayerAspectRatioListChanged(aspectRatioList: Array<ESPlayerAspectRatio>) => void` |
|
|
134
|
+
| onPlayerAspectRatioChanged | 画面比例事件 | ^[Function]`onPlayerAspectRatioChanged(aspectRatio: ESPlayerAspectRatio) => void` |
|
|
135
|
+
| onPlayerPlayMediaSourceListModeListChanged | 播放媒资资源列表模式列表事件 | ^[Function]`onPlayerPlayMediaSourceListModeListChanged(playModeList: Array<ESPlayerPlayMode>) => void` |
|
|
136
|
+
| onPlayerPlayMediaSourceListModeChanged | 播放媒资资源列表模式事件 | ^[Function]`onPlayerPlayMediaSourceListModeChanged(playMode: ESPlayerPlayMode) => void` |
|
|
137
|
+
| onPlayerRenderListChanged | 渲染模式列表事件 | ^[Function]`onPlayerRenderListChanged(renderList: Array<ESPlayerRender>) => void` |
|
|
138
|
+
| onPlayerRenderChanged | 渲染模式事件 | ^[Function]`onPlayerRenderChanged(render: ESPlayerRender) => void` |
|
|
139
|
+
| onPlayerViewSizeChanged | 播放器尺寸变化事件 | ^[Function]`onPlayerViewSizeChanged(playerWidth: number, playerHeight: number) => void` |
|
|
140
|
+
| onPlayerViewChanged | 播放器视图变化事件 | ^[Function]`onPlayerViewChanged() => void` |
|
|
141
|
+
| onPlayerClickable | 播放器视图可点击事件 | ^[Function]`onPlayerClickable(playerClickable: boolean) => void` |
|
|
142
|
+
|
|
143
|
+
### Exposes
|
|
144
|
+
|
|
145
|
+
| Name | Description | Type |
|
|
146
|
+
| -------------------------------- | --------------------------- | --------------------------------------------------------------------------------- |
|
|
147
|
+
| initialize | 初始化 | ^[Function]`() => void` |
|
|
148
|
+
| isInitialized | 判断播放管理器是否初始化 | ^[Function]`() => boolean` |
|
|
149
|
+
| setVisible | 设置播放管理器是否可见 | ^[Function]`(value: boolean) => void` |
|
|
150
|
+
| playMediaSourceList | 播放媒资资源列表 | ^[Function]`(mediaSourceList: ESMediaSourceList) => void` |
|
|
151
|
+
| playMediaSourceByIndex | 根据媒资资源索引进行播放 | ^[Function]`(index: number) => void` |
|
|
152
|
+
| playMediaSourceById | 根据媒资资源唯一标识符进行播放 | ^[Function]`(id: string) => void` |
|
|
153
|
+
| playMediaSource | 播放媒资资源 | ^[Function]`(mediaSource: ESMediaSource) => void` |
|
|
154
|
+
| playNextMediaSource | 播放下一个媒资资源 | ^[Function]`() => void` |
|
|
155
|
+
| playPreviousMediaSource | 播放上一个媒资资源 | ^[Function]`() => void` |
|
|
156
|
+
| getMediaSourceList | 获取正在播放的媒资资源列表 | ^[Function]`() => Array<ESMediaSource> \| null` |
|
|
157
|
+
| getMediaSource | 根据媒资资源索引获取媒资资源 | ^[Function]`(index: number) => ESMediaSource \| null` |
|
|
158
|
+
| getPlayingMediaSourceIndex | 获取正在播放的媒资资源的索引 | ^[Function]`() => number` |
|
|
159
|
+
| getPlayingMediaSourceList | 获取正在播放的媒资资源列表 | ^[Function]`() => ESMediaSourceList \| null` |
|
|
160
|
+
| getPlayingMediaSource | 获取正在播放的媒资资源 | ^[Function]`() => ESMediaSource \| null` |
|
|
161
|
+
| play | 播放器的播放方法 | ^[Function]`(...params: Array<any>) => void` |
|
|
162
|
+
| start | 播放器的开始播放方法 | ^[Function]`(position: number) => void` |
|
|
163
|
+
| pause | 播放器的暂停播放方法 | ^[Function]`() => void` |
|
|
164
|
+
| resume | 恢复播放器播放 | ^[Function]`() => void` |
|
|
165
|
+
| stop | 停止播放器播放 | ^[Function]`() => void` |
|
|
166
|
+
| reset | 重置播放器 | ^[Function]`() => void` |
|
|
167
|
+
| release | 回收播放器资源 | ^[Function]`() => void` |
|
|
168
|
+
| seekTo | 播放快进 | ^[Function]`(progress: number) => void` |
|
|
169
|
+
| getDuration | 获取播放总时长 | ^[Function]`() => void` |
|
|
170
|
+
| getCurrentPosition | 获取当前播放的进度 | ^[Function]`() => void` |
|
|
171
|
+
| setSize | 设置播放器的尺寸 | ^[Function]`(width: number, height: number) => void` |
|
|
172
|
+
| setPlayRate | 设置播放速率 | ^[Function]`(playRate: ESPlayerRate) => void` |
|
|
173
|
+
| setPlayMode | 设置播放模式 | ^[Function]`(playMode: ESPlayerPlayMode) => void` |
|
|
174
|
+
| setDefinition | 设置播放媒资清晰度 | ^[Function]`(definition: ESPlayerDefinition) => void` |
|
|
175
|
+
| setCache | 设置播放缓存策略 | ^[Function]`(cache: ESPlayerCache) => void` |
|
|
176
|
+
| setDecode | 设置播放解码方式 | ^[Function]`(decode: ESPlayerDecode) => void` |
|
|
177
|
+
| setRender | 设置播放渲染方式 | ^[Function]`(render: ESPlayerRender) => void` |
|
|
178
|
+
| setAspectRatio | 设置播放画面比例 | ^[Function]`(aspectRatio: ESPlayerAspectRatio) => void` |
|
|
179
|
+
| getLeftVolume | 获取左声道音量 | ^[Function]`() => void` |
|
|
180
|
+
| getRightVolume | 获取右声道音量 | ^[Function]`() => void` |
|
|
181
|
+
| setLeftVolume | 设置左声道音量 | ^[Function]`(leftVolume: number) => void` |
|
|
182
|
+
| setRightVolume | 设置右声道音量 | ^[Function]`(rightVolume: number) => void` |
|
|
183
|
+
| setVolume | 设置左右声道音量 | ^[Function]`(volume: number) => void` |
|
|
184
|
+
| getVolume | 获取音量 | ^[Function]`() => void` |
|
|
185
|
+
| setStopped | 设置播放管理器的停止状态 | ^[Function]`(stopped: boolean) => void` |
|
|
186
|
+
| setEnabled | 设置播放管理器的可用状态 | ^[Function]`(enabled: boolean) => void` |
|
|
187
|
+
| setProgressCallback | 设置播放进度回调 | ^[Function]`(callback: ESPlayerProgressCallback) => void` |
|
|
188
|
+
| setDurationCallback | 设置播放总进度回调 | ^[Function]`(callback: ESPlayerDurationCallback) => void` |
|
|
189
|
+
| invalidate | 刷新播放视图 | ^[Function]`() => void` |
|
|
190
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PlayerManager
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 画面比例
|
|
7
|
+
|
|
8
|
+
内置画面比例如下:
|
|
9
|
+
|
|
10
|
+
* `ES_PLAYER_AR_ASPECT_FIT_PARENT = 0`
|
|
11
|
+
* `ES_PLAYER_AR_ASPECT_FILL_PARENT = 1`
|
|
12
|
+
* `ES_PLAYER_AR_ASPECT_WRAP_CONTENT = 2`
|
|
13
|
+
* `ES_PLAYER_AR_ASPECT_MATCH_PARENT = 3`
|
|
14
|
+
* `ES_PLAYER_AR_16_9_FIT_PARENT = 4`
|
|
15
|
+
* `ES_PLAYER_AR_4_3_FIT_PARENT = 5`
|
|
16
|
+
* `ES_PLAYER_AR_235_FIT_PARENT = 6`
|
|
17
|
+
|
|
18
|
+
## 监听画面比例事件
|
|
19
|
+
|
|
20
|
+
* 支持的画面比例列表:`onPlayerAspectRatioListChanged`
|
|
21
|
+
* 当画面比例发生变化:`onPlayerAspectRatioChanged`
|
|
22
|
+
|
|
23
|
+
::: tip 播放器事件
|
|
24
|
+
[点击查看详细事件说明](/zh-CN/component/player/player#Events)
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
## 获取当前画面比例
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
const aspectRatioManager = useESPlayerAspectRatioManager()
|
|
31
|
+
aspectRatioManager.getAspectRatio()
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 设置画面比例
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
playerManager.value?.setAspectRatio(ESPlayerAspectRatio.ES_PLAYER_AR_16_9_FIT_PARENT)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
或者
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
const aspectRatioManager = useESPlayerAspectRatioManager()
|
|
44
|
+
aspectRatioManager.setAspectRatio(ESPlayerAspectRatio.ES_PLAYER_AR_4_3_FIT_PARENT)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
:::demo ## 完整示例
|
|
48
|
+
|
|
49
|
+
component/player-manager/aspect-ratio
|
|
50
|
+
|
|
51
|
+
:::
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PlayerManager
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 基础用法
|
|
7
|
+
|
|
8
|
+
以`ESPlayerManager` + [`ESVideoPlayer`](/zh-CN/component/video-player/introduction)为例
|
|
9
|
+
|
|
10
|
+
#### 第一步、引入`ESPlayerManager`组件,并声明在`<template>`
|
|
11
|
+
|
|
12
|
+
```vue
|
|
13
|
+
|
|
14
|
+
<es-player-manager
|
|
15
|
+
ref='playerManager'
|
|
16
|
+
:playerList='playerListRef'
|
|
17
|
+
class='es-video-player-manager-page-css'
|
|
18
|
+
/>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### 第二步、集成并注册`ESVideoPlayer`播放组件。
|
|
22
|
+
|
|
23
|
+
::: tip ESVideoPlayer 集成
|
|
24
|
+
[点击查看详细](/zh-CN/component/video-player/installation)
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
import { ESVideoPlayer } from '@extscreen/es3-video-player'
|
|
29
|
+
|
|
30
|
+
const playerList = [markRaw(ESVideoPlayer)]
|
|
31
|
+
const playerListRef = ref(playerList)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### 第三步、调用`initialize`方法进行初始化。
|
|
35
|
+
|
|
36
|
+
`playerManager.value?.initialize()`
|
|
37
|
+
|
|
38
|
+
#### 第四步、设置播放数据。
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
|
|
42
|
+
//1.拼装 ESMediaSource 数据
|
|
43
|
+
const mediaSource: ESMediaSource = {
|
|
44
|
+
uri: 'http://qcloudcdn.a311.ottcn.com/data_center/videos/SHORT/DEFAULT/2023/08/25/7d3623ae-c002-4929-b5a2-fe10bca06bfc.mp4',
|
|
45
|
+
}
|
|
46
|
+
//2.拼装 ESMediaSourceList 数据
|
|
47
|
+
const mediaSourceList: ESMediaSourceList = {
|
|
48
|
+
index: 0,
|
|
49
|
+
list: [mediaSource],
|
|
50
|
+
}
|
|
51
|
+
//3.拼装 ESMediaItem 数据
|
|
52
|
+
const mediaItem: ESMediaItem = {
|
|
53
|
+
mediaSourceList,
|
|
54
|
+
}
|
|
55
|
+
//4.拼装 ESMediaItemList 数据
|
|
56
|
+
const playList: ESMediaItemList = {
|
|
57
|
+
index: 0,
|
|
58
|
+
list: [mediaItem],
|
|
59
|
+
}
|
|
60
|
+
playerManager.value?.playMediaList(playList)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### 第五步、默认自动进行播放。
|
|
64
|
+
|
|
65
|
+
:::demo ## 完整示例
|
|
66
|
+
|
|
67
|
+
component/player-manager/basic
|
|
68
|
+
|
|
69
|
+
:::
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PlayerManager
|
|
3
|
+
lang: zh-CN
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 播放控制
|
|
7
|
+
|
|
8
|
+
-----------------------------------
|
|
9
|
+
* 开始播放:`start`
|
|
10
|
+
* 暂停播放:`pause`
|
|
11
|
+
* 恢复播放:`resume`
|
|
12
|
+
* 停止播放:`stop`
|
|
13
|
+
-----------------------------------
|
|
14
|
+
* 播放下一个源:`playNextMediaSource`
|
|
15
|
+
* 播放上一个源:`playPreviousMediaSource`
|
|
16
|
+
* 根据id播放源:`playMediaSourceById`
|
|
17
|
+
* 根据index播放源:`playMediaSourceByIndex`
|
|
18
|
+
-----------------------------------
|
|
19
|
+
* 播放下一个媒资:`playNextMedia`
|
|
20
|
+
* 播放上一个媒资:`playPreviousMedia`
|
|
21
|
+
* 根据id播放媒资:`playMediaById`
|
|
22
|
+
* 根据index播放媒资:`playMediaByIndex`
|
|
23
|
+
-----------------------------------
|
|
24
|
+
::: warning 注意:
|
|
25
|
+
[`start`和`resume`区别、`pause`和`stop`区别](/zh-CN/component/player/page-player#一、播放常用方法简介)
|
|
26
|
+
:::
|
|
27
|
+
|
|
28
|
+
:::demo ## 完整示例
|
|
29
|
+
|
|
30
|
+
component/player-manager/control
|
|
31
|
+
|
|
32
|
+
:::
|