@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.
Files changed (676) hide show
  1. package/README.md +36 -0
  2. package/index.js +2 -0
  3. package/package.json +23 -0
  4. package/postinstall.js +61 -0
  5. package/rules/.claude/commands/create-component.md +39 -0
  6. package/rules/.claude/commands/create-page.md +44 -0
  7. package/rules/.claude/commands/create-project.md +25 -0
  8. package/rules/.claude/commands/lookup-api.md +28 -0
  9. package/rules/.claude/commands/lookup-css.md +53 -0
  10. package/rules/.claude/settings.local.json +11 -0
  11. package/rules/.clinerules +367 -0
  12. package/rules/.cursorrules +367 -0
  13. package/rules/.docs/examples/component/animation/alpha-props.vue +130 -0
  14. package/rules/.docs/examples/component/animation/alpha.vue +169 -0
  15. package/rules/.docs/examples/component/animation/animator-props.vue +101 -0
  16. package/rules/.docs/examples/component/animation/animators-props.vue +145 -0
  17. package/rules/.docs/examples/component/animation/animators.vue +322 -0
  18. package/rules/.docs/examples/component/animation/basic.vue +96 -0
  19. package/rules/.docs/examples/component/animation/interpolator.vue +330 -0
  20. package/rules/.docs/examples/component/animation/listener.vue +151 -0
  21. package/rules/.docs/examples/component/animation/repeat.vue +113 -0
  22. package/rules/.docs/examples/component/animation/rotation-props.vue +148 -0
  23. package/rules/.docs/examples/component/animation/rotation-xy.vue +255 -0
  24. package/rules/.docs/examples/component/animation/rotation.vue +188 -0
  25. package/rules/.docs/examples/component/animation/scale-props.vue +129 -0
  26. package/rules/.docs/examples/component/animation/scale.vue +169 -0
  27. package/rules/.docs/examples/component/animation/translation-props.vue +128 -0
  28. package/rules/.docs/examples/component/animation/translation.vue +169 -0
  29. package/rules/.docs/examples/component/aside/basic.vue +34 -0
  30. package/rules/.docs/examples/component/audio-player/basic.vue +104 -0
  31. package/rules/.docs/examples/component/audio-player/event-global.vue +492 -0
  32. package/rules/.docs/examples/component/audio-player/event.vue +447 -0
  33. package/rules/.docs/examples/component/audio-player/player-manager.vue +100 -0
  34. package/rules/.docs/examples/component/audio-player-service/basic.vue +102 -0
  35. package/rules/.docs/examples/component/audio-player-service/event-global.vue +488 -0
  36. package/rules/.docs/examples/component/audio-player-service/event.vue +420 -0
  37. package/rules/.docs/examples/component/audio-player-service/player-manager.vue +100 -0
  38. package/rules/.docs/examples/component/button/background.vue +28 -0
  39. package/rules/.docs/examples/component/button/basic.vue +13 -0
  40. package/rules/.docs/examples/component/button/border.vue +18 -0
  41. package/rules/.docs/examples/component/button/custom-content.vue +18 -0
  42. package/rules/.docs/examples/component/button/custom-icon-style.vue +25 -0
  43. package/rules/.docs/examples/component/button/custom-icon.vue +19 -0
  44. package/rules/.docs/examples/component/button/custom-net-icon.vue +20 -0
  45. package/rules/.docs/examples/component/button/custom-style.vue +17 -0
  46. package/rules/.docs/examples/component/button/custom-text.vue +23 -0
  47. package/rules/.docs/examples/component/button/disabled.vue +13 -0
  48. package/rules/.docs/examples/component/button/round.vue +13 -0
  49. package/rules/.docs/examples/component/button/size.vue +16 -0
  50. package/rules/.docs/examples/component/button/square.vue +13 -0
  51. package/rules/.docs/examples/component/checkbox-group/basic.vue +97 -0
  52. package/rules/.docs/examples/component/collapse/basic.vue +156 -0
  53. package/rules/.docs/examples/component/column/basic.vue +15 -0
  54. package/rules/.docs/examples/component/container/layout-ahm.vue +48 -0
  55. package/rules/.docs/examples/component/container/layout-ahmf.vue +51 -0
  56. package/rules/.docs/examples/component/container/layout-am.vue +43 -0
  57. package/rules/.docs/examples/component/container/layout-ham.vue +48 -0
  58. package/rules/.docs/examples/component/container/layout-hamf.vue +53 -0
  59. package/rules/.docs/examples/component/container/layout-hm.vue +43 -0
  60. package/rules/.docs/examples/component/container/layout-hmf.vue +46 -0
  61. package/rules/.docs/examples/component/dialog/basic.vue +72 -0
  62. package/rules/.docs/examples/component/div/background-img.vue +49 -0
  63. package/rules/.docs/examples/component/div/background.vue +28 -0
  64. package/rules/.docs/examples/component/div/basic.vue +28 -0
  65. package/rules/.docs/examples/component/div/border.vue +72 -0
  66. package/rules/.docs/examples/component/div/click.vue +66 -0
  67. package/rules/.docs/examples/component/div/focus-background.vue +60 -0
  68. package/rules/.docs/examples/component/div/focus.vue +58 -0
  69. package/rules/.docs/examples/component/div/gradient-background.vue +36 -0
  70. package/rules/.docs/examples/component/footer/basic.vue +34 -0
  71. package/rules/.docs/examples/component/grid-view/basic.vue +59 -0
  72. package/rules/.docs/examples/component/grid-view/page.vue +80 -0
  73. package/rules/.docs/examples/component/grid-view/ref-base.vue +50 -0
  74. package/rules/.docs/examples/component/grid-view/ref-page.vue +102 -0
  75. package/rules/.docs/examples/component/header/basic.vue +39 -0
  76. package/rules/.docs/examples/component/html/alert.vue +28 -0
  77. package/rules/.docs/examples/component/html/audio.vue +24 -0
  78. package/rules/.docs/examples/component/html/h.vue +30 -0
  79. package/rules/.docs/examples/component/html/sound.vue +33 -0
  80. package/rules/.docs/examples/component/html/video.vue +23 -0
  81. package/rules/.docs/examples/component/image/assets.vue +40 -0
  82. package/rules/.docs/examples/component/image/network.vue +36 -0
  83. package/rules/.docs/examples/component/img/assets.vue +40 -0
  84. package/rules/.docs/examples/component/img/network.vue +36 -0
  85. package/rules/.docs/examples/component/indicator-list-view/basic.vue +476 -0
  86. package/rules/.docs/examples/component/input/basic.vue +26 -0
  87. package/rules/.docs/examples/component/list-view/basic.vue +58 -0
  88. package/rules/.docs/examples/component/list-view/ref-basic.vue +33 -0
  89. package/rules/.docs/examples/component/list-view/ref-operations.vue +58 -0
  90. package/rules/.docs/examples/component/list-view/ref-page.vue +82 -0
  91. package/rules/.docs/examples/component/loading/basic.vue +12 -0
  92. package/rules/.docs/examples/component/lottie/basic.vue +83 -0
  93. package/rules/.docs/examples/component/lottie/event.vue +126 -0
  94. package/rules/.docs/examples/component/lottie/local.vue +90 -0
  95. package/rules/.docs/examples/component/lottie/network.vue +82 -0
  96. package/rules/.docs/examples/component/main/basic.vue +34 -0
  97. package/rules/.docs/examples/component/nav-bar/basic.vue +45 -0
  98. package/rules/.docs/examples/component/p/basic.vue +40 -0
  99. package/rules/.docs/examples/component/p/gravity.vue +62 -0
  100. package/rules/.docs/examples/component/player-manager/aspect-ratio.vue +286 -0
  101. package/rules/.docs/examples/component/player-manager/basic.vue +87 -0
  102. package/rules/.docs/examples/component/player-manager/control.vue +356 -0
  103. package/rules/.docs/examples/component/player-manager/custom-player-view.vue +105 -0
  104. package/rules/.docs/examples/component/player-manager/custom-player.vue +100 -0
  105. package/rules/.docs/examples/component/player-manager/decode.vue +218 -0
  106. package/rules/.docs/examples/component/player-manager/definition.vue +199 -0
  107. package/rules/.docs/examples/component/player-manager/event-global.vue +581 -0
  108. package/rules/.docs/examples/component/player-manager/event.vue +632 -0
  109. package/rules/.docs/examples/component/player-manager/image-player.vue +331 -0
  110. package/rules/.docs/examples/component/player-manager/media-item-interceptor.vue +105 -0
  111. package/rules/.docs/examples/component/player-manager/media-item-list-interceptor.vue +104 -0
  112. package/rules/.docs/examples/component/player-manager/media-item-list.vue +268 -0
  113. package/rules/.docs/examples/component/player-manager/media-source-interceptor.vue +115 -0
  114. package/rules/.docs/examples/component/player-manager/media-source-list-interceptor.vue +111 -0
  115. package/rules/.docs/examples/component/player-manager/multi-player.vue +130 -0
  116. package/rules/.docs/examples/component/player-manager/play-mode.vue +260 -0
  117. package/rules/.docs/examples/component/player-manager/play-rate.vue +244 -0
  118. package/rules/.docs/examples/component/player-manager/player-size.vue +119 -0
  119. package/rules/.docs/examples/component/player-manager/player-view.vue +381 -0
  120. package/rules/.docs/examples/component/player-manager/post-roll-ad.vue +189 -0
  121. package/rules/.docs/examples/component/player-manager/previous-roll-ad.vue +172 -0
  122. package/rules/.docs/examples/component/player-manager/start-position.vue +108 -0
  123. package/rules/.docs/examples/component/player-manager/text-left-player.vue +306 -0
  124. package/rules/.docs/examples/component/player-manager/text-right-player.vue +306 -0
  125. package/rules/.docs/examples/component/player-manager/window.vue +140 -0
  126. package/rules/.docs/examples/component/poster/basic.vue +144 -0
  127. package/rules/.docs/examples/component/poster/corner.vue +123 -0
  128. package/rules/.docs/examples/component/poster/decoration.vue +82 -0
  129. package/rules/.docs/examples/component/poster/float-title.vue +103 -0
  130. package/rules/.docs/examples/component/poster/ripple.vue +118 -0
  131. package/rules/.docs/examples/component/poster/score.vue +108 -0
  132. package/rules/.docs/examples/component/poster/shadow.vue +113 -0
  133. package/rules/.docs/examples/component/poster/shimmer.vue +113 -0
  134. package/rules/.docs/examples/component/poster/sub-title.vue +110 -0
  135. package/rules/.docs/examples/component/poster/title.vue +106 -0
  136. package/rules/.docs/examples/component/progress-bar/basic.vue +61 -0
  137. package/rules/.docs/examples/component/qr-code/basic.vue +16 -0
  138. package/rules/.docs/examples/component/radio-group/basic.vue +105 -0
  139. package/rules/.docs/examples/component/rating-bar/basic.vue +152 -0
  140. package/rules/.docs/examples/component/row/basic.vue +15 -0
  141. package/rules/.docs/examples/component/seek-bar/bar.vue +49 -0
  142. package/rules/.docs/examples/component/seek-bar/basic.vue +191 -0
  143. package/rules/.docs/examples/component/seek-bar/indicator.vue +74 -0
  144. package/rules/.docs/examples/component/seek-bar/range-mode.vue +130 -0
  145. package/rules/.docs/examples/component/seek-bar/single-mode.vue +113 -0
  146. package/rules/.docs/examples/component/seek-bar/step.vue +186 -0
  147. package/rules/.docs/examples/component/seek-bar/thumb.vue +148 -0
  148. package/rules/.docs/examples/component/seek-bar/tick-mark.vue +121 -0
  149. package/rules/.docs/examples/component/switch/basic.vue +26 -0
  150. package/rules/.docs/examples/component/tabs/basic.vue +109 -0
  151. package/rules/.docs/examples/component/tabs/custom-tab-item.vue +120 -0
  152. package/rules/.docs/examples/component/tabs/data.vue +121 -0
  153. package/rules/.docs/examples/component/tabs/horizontal.vue +118 -0
  154. package/rules/.docs/examples/component/tabs/item-add.vue +127 -0
  155. package/rules/.docs/examples/component/tabs/item-custom.vue +132 -0
  156. package/rules/.docs/examples/component/tabs/item-delete.vue +123 -0
  157. package/rules/.docs/examples/component/tabs/item-get.vue +124 -0
  158. package/rules/.docs/examples/component/tabs/item-update.vue +129 -0
  159. package/rules/.docs/examples/component/tabs/ref-basic.vue +63 -0
  160. package/rules/.docs/examples/component/tabs/ref-operations.vue +97 -0
  161. package/rules/.docs/examples/component/tabs/ref-page.vue +89 -0
  162. package/rules/.docs/examples/component/tabs/section-add.vue +138 -0
  163. package/rules/.docs/examples/component/tabs/section-delete.vue +126 -0
  164. package/rules/.docs/examples/component/tabs/section-get.vue +128 -0
  165. package/rules/.docs/examples/component/tabs/section-update.vue +137 -0
  166. package/rules/.docs/examples/component/tabs/section-vue.vue +111 -0
  167. package/rules/.docs/examples/component/tabs/single-tab.vue +112 -0
  168. package/rules/.docs/examples/component/text/basic.vue +20 -0
  169. package/rules/.docs/examples/component/text/ellipsize-mode.vue +122 -0
  170. package/rules/.docs/examples/component/text/gravity.vue +119 -0
  171. package/rules/.docs/examples/component/video-player/aspect-ratio.vue +242 -0
  172. package/rules/.docs/examples/component/video-player/basic.vue +82 -0
  173. package/rules/.docs/examples/component/video-player/control.vue +240 -0
  174. package/rules/.docs/examples/component/video-player/decode.vue +174 -0
  175. package/rules/.docs/examples/component/video-player/definition.vue +194 -0
  176. package/rules/.docs/examples/component/video-player/event-global.vue +89 -0
  177. package/rules/.docs/examples/component/video-player/event.vue +448 -0
  178. package/rules/.docs/examples/component/video-player/page.vue +150 -0
  179. package/rules/.docs/examples/component/video-player/play-mode.vue +220 -0
  180. package/rules/.docs/examples/component/video-player/play-rate.vue +198 -0
  181. package/rules/.docs/examples/component/video-player/progress.vue +211 -0
  182. package/rules/.docs/examples/component/video-player/render.vue +187 -0
  183. package/rules/.docs/examples/component/video-player/type.vue +133 -0
  184. package/rules/.docs/examples/component/view/background-img.vue +49 -0
  185. package/rules/.docs/examples/component/view/background.vue +28 -0
  186. package/rules/.docs/examples/component/view/basic.vue +28 -0
  187. package/rules/.docs/examples/component/view/border.vue +72 -0
  188. package/rules/.docs/examples/component/view/click.vue +66 -0
  189. package/rules/.docs/examples/component/view/focus-background.vue +60 -0
  190. package/rules/.docs/examples/component/view/focus.vue +58 -0
  191. package/rules/.docs/examples/component/view/gradient-background.vue +36 -0
  192. package/rules/.docs/examples/component/waterfall/basic.vue +167 -0
  193. package/rules/.docs/examples/component/waterfall/event.vue +154 -0
  194. package/rules/.docs/examples/component/waterfall/item-add.vue +82 -0
  195. package/rules/.docs/examples/component/waterfall/item-card-placeholder.vue +67 -0
  196. package/rules/.docs/examples/component/waterfall/item-card.vue +66 -0
  197. package/rules/.docs/examples/component/waterfall/item-custom.vue +81 -0
  198. package/rules/.docs/examples/component/waterfall/item-decoration.vue +63 -0
  199. package/rules/.docs/examples/component/waterfall/item-delete.vue +90 -0
  200. package/rules/.docs/examples/component/waterfall/item-get.vue +68 -0
  201. package/rules/.docs/examples/component/waterfall/item-update.vue +85 -0
  202. package/rules/.docs/examples/component/waterfall/ref-base.vue +141 -0
  203. package/rules/.docs/examples/component/waterfall/ref-operations.vue +192 -0
  204. package/rules/.docs/examples/component/waterfall/section-add.vue +72 -0
  205. package/rules/.docs/examples/component/waterfall/section-background.vue +94 -0
  206. package/rules/.docs/examples/component/waterfall/section-blank.vue +62 -0
  207. package/rules/.docs/examples/component/waterfall/section-card-placeholder.vue +90 -0
  208. package/rules/.docs/examples/component/waterfall/section-card.vue +83 -0
  209. package/rules/.docs/examples/component/waterfall/section-custom.vue +68 -0
  210. package/rules/.docs/examples/component/waterfall/section-decoration.vue +80 -0
  211. package/rules/.docs/examples/component/waterfall/section-delete.vue +76 -0
  212. package/rules/.docs/examples/component/waterfall/section-end.vue +91 -0
  213. package/rules/.docs/examples/component/waterfall/section-get.vue +74 -0
  214. package/rules/.docs/examples/component/waterfall/section-list.vue +56 -0
  215. package/rules/.docs/examples/component/waterfall/section-tabs-list.vue +149 -0
  216. package/rules/.docs/examples/component/waterfall/section-tabs.vue +153 -0
  217. package/rules/.docs/examples/component/waterfall/section-time.vue +48 -0
  218. package/rules/.docs/examples/component/waterfall/section-update.vue +118 -0
  219. package/rules/.docs/examples/component/waterfall/section-vue.vue +81 -0
  220. package/rules/.docs/examples/component/web-view/basic.vue +54 -0
  221. package/rules/.docs/examples/component/web-view/js-2-vue.vue +49 -0
  222. package/rules/.docs/examples/component/web-view/vue-2-js.vue +60 -0
  223. package/rules/.docs/examples/component/x5-web-view/basic.vue +54 -0
  224. package/rules/.docs/examples/css/gradient/basic.vue +43 -0
  225. package/rules/.docs/examples/css/gradient/corner-radii4.vue +86 -0
  226. package/rules/.docs/examples/css/gradient/corner-radius.vue +86 -0
  227. package/rules/.docs/examples/css/gradient/orientation.vue +168 -0
  228. package/rules/.docs/examples/css/gradient/shape.vue +97 -0
  229. package/rules/.docs/examples/css/gradient/type.vue +83 -0
  230. package/rules/.docs/examples/guide/router/app.vue +52 -0
  231. package/rules/.docs/examples/guide/slot/basic.vue +32 -0
  232. package/rules/.docs/examples/guide/slot/lifecycle.vue +106 -0
  233. package/rules/.docs/examples/module/action-bar/es-basic.vue +51 -0
  234. package/rules/.docs/examples/module/action-bar/qt-basic.vue +47 -0
  235. package/rules/.docs/examples/module/app-list/es-basic.vue +53 -0
  236. package/rules/.docs/examples/module/app-list/qt-basic.vue +50 -0
  237. package/rules/.docs/examples/module/audio/es-basic.vue +71 -0
  238. package/rules/.docs/examples/module/audio/qt-basic.vue +63 -0
  239. package/rules/.docs/examples/module/brightness/es-basic.vue +118 -0
  240. package/rules/.docs/examples/module/brightness/qt-basic.vue +115 -0
  241. package/rules/.docs/examples/module/broadcast/es-basic.vue +340 -0
  242. package/rules/.docs/examples/module/broadcast/qt-basic.vue +331 -0
  243. package/rules/.docs/examples/module/content-provider/es-basic.vue +92 -0
  244. package/rules/.docs/examples/module/content-provider/qt-basic.vue +86 -0
  245. package/rules/.docs/examples/module/develop/es-basic.vue +45 -0
  246. package/rules/.docs/examples/module/develop/qt-basic.vue +43 -0
  247. package/rules/.docs/examples/module/device/es-basic.vue +169 -0
  248. package/rules/.docs/examples/module/device/qt-basic.vue +166 -0
  249. package/rules/.docs/examples/module/display/es-basic.vue +45 -0
  250. package/rules/.docs/examples/module/display/qt-basic.vue +43 -0
  251. package/rules/.docs/examples/module/download/es-basic.vue +174 -0
  252. package/rules/.docs/examples/module/download/qt-basic.vue +168 -0
  253. package/rules/.docs/examples/module/es/es-basic.vue +74 -0
  254. package/rules/.docs/examples/module/es/qt-basic.vue +74 -0
  255. package/rules/.docs/examples/module/event-bus/es-emit.vue +31 -0
  256. package/rules/.docs/examples/module/event-bus/es-off.vue +53 -0
  257. package/rules/.docs/examples/module/event-bus/es-on.vue +56 -0
  258. package/rules/.docs/examples/module/event-bus/es-once.vue +47 -0
  259. package/rules/.docs/examples/module/event-bus/qt-emit.vue +28 -0
  260. package/rules/.docs/examples/module/event-bus/qt-off.vue +51 -0
  261. package/rules/.docs/examples/module/event-bus/qt-on.vue +53 -0
  262. package/rules/.docs/examples/module/event-bus/qt-once.vue +45 -0
  263. package/rules/.docs/examples/module/file/es-basic.vue +188 -0
  264. package/rules/.docs/examples/module/iac/es-basic.vue +211 -0
  265. package/rules/.docs/examples/module/iac/qt-basic.vue +208 -0
  266. package/rules/.docs/examples/module/key/es-back.vue +32 -0
  267. package/rules/.docs/examples/module/key/es-dispatch.vue +34 -0
  268. package/rules/.docs/examples/module/key/es-event.vue +34 -0
  269. package/rules/.docs/examples/module/local-storage/es-basic.vue +92 -0
  270. package/rules/.docs/examples/module/local-storage/qt-basic.vue +86 -0
  271. package/rules/.docs/examples/module/location/es-basic.vue +69 -0
  272. package/rules/.docs/examples/module/location/qt-basic.vue +67 -0
  273. package/rules/.docs/examples/module/log/es-basic.vue +45 -0
  274. package/rules/.docs/examples/module/log/qt-basic.vue +44 -0
  275. package/rules/.docs/examples/module/network/es-basic.vue +64 -0
  276. package/rules/.docs/examples/module/network/qt-basic.vue +60 -0
  277. package/rules/.docs/examples/module/page/es-app-lifecycle.vue +83 -0
  278. package/rules/.docs/examples/module/page/es-page-lifecycle.vue +80 -0
  279. package/rules/.docs/examples/module/page/es-page-state.vue +36 -0
  280. package/rules/.docs/examples/module/permission/es-basic.vue +62 -0
  281. package/rules/.docs/examples/module/permission/qt-basic.vue +59 -0
  282. package/rules/.docs/examples/module/plugin/es-basic.vue +71 -0
  283. package/rules/.docs/examples/module/plugin/qt-basic.vue +69 -0
  284. package/rules/.docs/examples/module/power/es-basic.vue +45 -0
  285. package/rules/.docs/examples/module/power/qt-basic.vue +41 -0
  286. package/rules/.docs/examples/module/runtime/es-basic.vue +42 -0
  287. package/rules/.docs/examples/module/runtime/qt-basic.vue +40 -0
  288. package/rules/.docs/examples/module/service/es-basic.vue +34 -0
  289. package/rules/.docs/examples/module/service/qt-basic.vue +31 -0
  290. package/rules/.docs/examples/module/share-data/es-basic.vue +266 -0
  291. package/rules/.docs/examples/module/share-data/qt-basic.vue +259 -0
  292. package/rules/.docs/examples/module/toast/es-basic.vue +47 -0
  293. package/rules/.docs/examples/module/toast/qt-basic.vue +44 -0
  294. package/rules/.docs/examples/module/upload/es-basic.vue +65 -0
  295. package/rules/.docs/examples/module/upload/qt-basic.vue +63 -0
  296. package/rules/.docs/examples/module/usb/es-basic.vue +138 -0
  297. package/rules/.docs/examples/module/usb/qt-basic.vue +135 -0
  298. package/rules/.docs/examples/module/xlog/es-basic.vue +45 -0
  299. package/rules/.docs/examples/module/xlog/qt-basic.vue +44 -0
  300. package/rules/.docs/examples/test/basic.vue +48 -0
  301. package/rules/.docs/index.md +7 -0
  302. package/rules/.docs/zh-CN/component/animation/alpha.md +22 -0
  303. package/rules/.docs/zh-CN/component/animation/animators.md +227 -0
  304. package/rules/.docs/zh-CN/component/animation/interpolator.md +59 -0
  305. package/rules/.docs/zh-CN/component/animation/introduction.md +101 -0
  306. package/rules/.docs/zh-CN/component/animation/listener.md +175 -0
  307. package/rules/.docs/zh-CN/component/animation/method.md +87 -0
  308. package/rules/.docs/zh-CN/component/animation/props.md +76 -0
  309. package/rules/.docs/zh-CN/component/animation/repeat.md +46 -0
  310. package/rules/.docs/zh-CN/component/animation/rotation-xy.md +17 -0
  311. package/rules/.docs/zh-CN/component/animation/rotation.md +23 -0
  312. package/rules/.docs/zh-CN/component/animation/scale.md +24 -0
  313. package/rules/.docs/zh-CN/component/animation/translation.md +22 -0
  314. package/rules/.docs/zh-CN/component/app-icon.md +22 -0
  315. package/rules/.docs/zh-CN/component/aside.md +14 -0
  316. package/rules/.docs/zh-CN/component/audio-player/basic.md +52 -0
  317. package/rules/.docs/zh-CN/component/audio-player/installation.md +26 -0
  318. package/rules/.docs/zh-CN/component/audio-player/introduction.md +12 -0
  319. package/rules/.docs/zh-CN/component/audio-player/player-manager.md +72 -0
  320. package/rules/.docs/zh-CN/component/audio-service-player/basic.md +52 -0
  321. package/rules/.docs/zh-CN/component/audio-service-player/installation.md +26 -0
  322. package/rules/.docs/zh-CN/component/audio-service-player/introduction.md +13 -0
  323. package/rules/.docs/zh-CN/component/audio-service-player/player-manager.md +71 -0
  324. package/rules/.docs/zh-CN/component/button.md +120 -0
  325. package/rules/.docs/zh-CN/component/card-container.md +24 -0
  326. package/rules/.docs/zh-CN/component/card.md +17 -0
  327. package/rules/.docs/zh-CN/component/checkbox-group.md +57 -0
  328. package/rules/.docs/zh-CN/component/classified-list-view.md +44 -0
  329. package/rules/.docs/zh-CN/component/collapse.md +45 -0
  330. package/rules/.docs/zh-CN/component/column.md +26 -0
  331. package/rules/.docs/zh-CN/component/container.md +81 -0
  332. package/rules/.docs/zh-CN/component/dialog.md +26 -0
  333. package/rules/.docs/zh-CN/component/div.md +234 -0
  334. package/rules/.docs/zh-CN/component/flex-view.md +14 -0
  335. package/rules/.docs/zh-CN/component/footer.md +14 -0
  336. package/rules/.docs/zh-CN/component/grid-view.md +221 -0
  337. package/rules/.docs/zh-CN/component/header.md +15 -0
  338. package/rules/.docs/zh-CN/component/html/alert.md +14 -0
  339. package/rules/.docs/zh-CN/component/html/audio.md +37 -0
  340. package/rules/.docs/zh-CN/component/html/h.md +15 -0
  341. package/rules/.docs/zh-CN/component/html/installation.md +67 -0
  342. package/rules/.docs/zh-CN/component/html/introduction.md +10 -0
  343. package/rules/.docs/zh-CN/component/html/video.md +39 -0
  344. package/rules/.docs/zh-CN/component/image.md +88 -0
  345. package/rules/.docs/zh-CN/component/img.md +118 -0
  346. package/rules/.docs/zh-CN/component/indicator-list-view.md +118 -0
  347. package/rules/.docs/zh-CN/component/input.md +54 -0
  348. package/rules/.docs/zh-CN/component/item-store.md +14 -0
  349. package/rules/.docs/zh-CN/component/item-view.md +14 -0
  350. package/rules/.docs/zh-CN/component/js-view.md +14 -0
  351. package/rules/.docs/zh-CN/component/js2vue.md +43 -0
  352. package/rules/.docs/zh-CN/component/large-list.md +20 -0
  353. package/rules/.docs/zh-CN/component/li.md +16 -0
  354. package/rules/.docs/zh-CN/component/list-item.md +34 -0
  355. package/rules/.docs/zh-CN/component/list-view.md +233 -0
  356. package/rules/.docs/zh-CN/component/loading.md +22 -0
  357. package/rules/.docs/zh-CN/component/lottie/assets.md +19 -0
  358. package/rules/.docs/zh-CN/component/lottie/basic.md +51 -0
  359. package/rules/.docs/zh-CN/component/lottie/event.md +23 -0
  360. package/rules/.docs/zh-CN/component/lottie/introduction.md +93 -0
  361. package/rules/.docs/zh-CN/component/lottie/network.md +12 -0
  362. package/rules/.docs/zh-CN/component/main.md +14 -0
  363. package/rules/.docs/zh-CN/component/media-series.md +44 -0
  364. package/rules/.docs/zh-CN/component/nav-bar.md +51 -0
  365. package/rules/.docs/zh-CN/component/overview.md +20 -0
  366. package/rules/.docs/zh-CN/component/p.md +55 -0
  367. package/rules/.docs/zh-CN/component/play-mark-view.md +25 -0
  368. package/rules/.docs/zh-CN/component/player/global-event.md +24 -0
  369. package/rules/.docs/zh-CN/component/player/interceptor.md +48 -0
  370. package/rules/.docs/zh-CN/component/player/media-player.md +43 -0
  371. package/rules/.docs/zh-CN/component/player/page-player.md +118 -0
  372. package/rules/.docs/zh-CN/component/player/player.md +190 -0
  373. package/rules/.docs/zh-CN/component/player-manager/aspect-ratio.md +51 -0
  374. package/rules/.docs/zh-CN/component/player-manager/basic.md +69 -0
  375. package/rules/.docs/zh-CN/component/player-manager/control.md +32 -0
  376. package/rules/.docs/zh-CN/component/player-manager/custom-control.md +105 -0
  377. package/rules/.docs/zh-CN/component/player-manager/data-structure.md +29 -0
  378. package/rules/.docs/zh-CN/component/player-manager/decode.md +46 -0
  379. package/rules/.docs/zh-CN/component/player-manager/definition.md +85 -0
  380. package/rules/.docs/zh-CN/component/player-manager/event.md +16 -0
  381. package/rules/.docs/zh-CN/component/player-manager/global-event.md +304 -0
  382. package/rules/.docs/zh-CN/component/player-manager/installation.md +33 -0
  383. package/rules/.docs/zh-CN/component/player-manager/introduction.md +207 -0
  384. package/rules/.docs/zh-CN/component/player-manager/media-item-interceptor.md +197 -0
  385. package/rules/.docs/zh-CN/component/player-manager/media-item-list-interceptor.md +189 -0
  386. package/rules/.docs/zh-CN/component/player-manager/media-item-list.md +31 -0
  387. package/rules/.docs/zh-CN/component/player-manager/media-source-interceptor.md +166 -0
  388. package/rules/.docs/zh-CN/component/player-manager/media-source-list-interceptor.md +168 -0
  389. package/rules/.docs/zh-CN/component/player-manager/mode.md +46 -0
  390. package/rules/.docs/zh-CN/component/player-manager/multiple-player.md +124 -0
  391. package/rules/.docs/zh-CN/component/player-manager/player-type.md +38 -0
  392. package/rules/.docs/zh-CN/component/player-manager/player-view.md +31 -0
  393. package/rules/.docs/zh-CN/component/player-manager/player.md +73 -0
  394. package/rules/.docs/zh-CN/component/player-manager/position.md +27 -0
  395. package/rules/.docs/zh-CN/component/player-manager/rate.md +53 -0
  396. package/rules/.docs/zh-CN/component/player-manager/size.md +17 -0
  397. package/rules/.docs/zh-CN/component/player-manager/window.md +65 -0
  398. package/rules/.docs/zh-CN/component/plugin-view.md +21 -0
  399. package/rules/.docs/zh-CN/component/poster.md +102 -0
  400. package/rules/.docs/zh-CN/component/progress-bar.md +347 -0
  401. package/rules/.docs/zh-CN/component/qr-code.md +23 -0
  402. package/rules/.docs/zh-CN/component/radio-group.md +57 -0
  403. package/rules/.docs/zh-CN/component/rating-bar.md +43 -0
  404. package/rules/.docs/zh-CN/component/replace-child.md +20 -0
  405. package/rules/.docs/zh-CN/component/ripple-view.md +14 -0
  406. package/rules/.docs/zh-CN/component/row.md +29 -0
  407. package/rules/.docs/zh-CN/component/scroll-view.md +21 -0
  408. package/rules/.docs/zh-CN/component/seek-bar.md +377 -0
  409. package/rules/.docs/zh-CN/component/surface-view.md +14 -0
  410. package/rules/.docs/zh-CN/component/swift-list.md +21 -0
  411. package/rules/.docs/zh-CN/component/swiper-slide.md +18 -0
  412. package/rules/.docs/zh-CN/component/swiper.md +34 -0
  413. package/rules/.docs/zh-CN/component/switch.md +37 -0
  414. package/rules/.docs/zh-CN/component/tabs-view.md +44 -0
  415. package/rules/.docs/zh-CN/component/tabs.md +286 -0
  416. package/rules/.docs/zh-CN/component/test.md +58 -0
  417. package/rules/.docs/zh-CN/component/text.md +115 -0
  418. package/rules/.docs/zh-CN/component/transition-img.md +22 -0
  419. package/rules/.docs/zh-CN/component/ul.md +83 -0
  420. package/rules/.docs/zh-CN/component/video-player/aspect-ratio.md +49 -0
  421. package/rules/.docs/zh-CN/component/video-player/basic.md +55 -0
  422. package/rules/.docs/zh-CN/component/video-player/control.md +23 -0
  423. package/rules/.docs/zh-CN/component/video-player/decode.md +46 -0
  424. package/rules/.docs/zh-CN/component/video-player/definition.md +85 -0
  425. package/rules/.docs/zh-CN/component/video-player/event.md +16 -0
  426. package/rules/.docs/zh-CN/component/video-player/global-event.md +268 -0
  427. package/rules/.docs/zh-CN/component/video-player/installation.md +33 -0
  428. package/rules/.docs/zh-CN/component/video-player/introduction.md +18 -0
  429. package/rules/.docs/zh-CN/component/video-player/mode.md +50 -0
  430. package/rules/.docs/zh-CN/component/video-player/progress.md +51 -0
  431. package/rules/.docs/zh-CN/component/video-player/rate.md +53 -0
  432. package/rules/.docs/zh-CN/component/video-player/render.md +47 -0
  433. package/rules/.docs/zh-CN/component/video-player/type.md +32 -0
  434. package/rules/.docs/zh-CN/component/view-pager.md +14 -0
  435. package/rules/.docs/zh-CN/component/view.md +234 -0
  436. package/rules/.docs/zh-CN/component/virtual-dom.md +4 -0
  437. package/rules/.docs/zh-CN/component/virtual.md +8 -0
  438. package/rules/.docs/zh-CN/component/vue-section.md +29 -0
  439. package/rules/.docs/zh-CN/component/vue2js.md +47 -0
  440. package/rules/.docs/zh-CN/component/waterfall.md +447 -0
  441. package/rules/.docs/zh-CN/component/web-view.md +100 -0
  442. package/rules/.docs/zh-CN/component/x5web-view.md +100 -0
  443. package/rules/.docs/zh-CN/cooperation/index.md +6 -0
  444. package/rules/.docs/zh-CN/css/color/gradient.md +111 -0
  445. package/rules/.docs/zh-CN/css/color/hsl.md +11 -0
  446. package/rules/.docs/zh-CN/css/color/name.md +151 -0
  447. package/rules/.docs/zh-CN/css/color/rgb.md +16 -0
  448. package/rules/.docs/zh-CN/css/color/transparent.md +9 -0
  449. package/rules/.docs/zh-CN/css/layout/align-items.md +13 -0
  450. package/rules/.docs/zh-CN/css/layout/align-self.md +12 -0
  451. package/rules/.docs/zh-CN/css/layout/background-position-x.md +12 -0
  452. package/rules/.docs/zh-CN/css/layout/background-position-y.md +12 -0
  453. package/rules/.docs/zh-CN/css/layout/background-size.md +12 -0
  454. package/rules/.docs/zh-CN/css/layout/collapsable.md +13 -0
  455. package/rules/.docs/zh-CN/css/layout/display.md +12 -0
  456. package/rules/.docs/zh-CN/css/layout/flex-basis.md +12 -0
  457. package/rules/.docs/zh-CN/css/layout/flex-direction.md +15 -0
  458. package/rules/.docs/zh-CN/css/layout/flex-grow.md +15 -0
  459. package/rules/.docs/zh-CN/css/layout/flex-shrink.md +12 -0
  460. package/rules/.docs/zh-CN/css/layout/flex-wrap.md +12 -0
  461. package/rules/.docs/zh-CN/css/layout/flex.md +12 -0
  462. package/rules/.docs/zh-CN/css/layout/height.md +12 -0
  463. package/rules/.docs/zh-CN/css/layout/justify-content.md +12 -0
  464. package/rules/.docs/zh-CN/css/layout/left.md +13 -0
  465. package/rules/.docs/zh-CN/css/layout/line-height.md +12 -0
  466. package/rules/.docs/zh-CN/css/layout/margin-bottom.md +12 -0
  467. package/rules/.docs/zh-CN/css/layout/margin-horizontal.md +12 -0
  468. package/rules/.docs/zh-CN/css/layout/margin-left.md +12 -0
  469. package/rules/.docs/zh-CN/css/layout/margin-right.md +12 -0
  470. package/rules/.docs/zh-CN/css/layout/margin-top.md +12 -0
  471. package/rules/.docs/zh-CN/css/layout/margin-vertical.md +12 -0
  472. package/rules/.docs/zh-CN/css/layout/margin.md +12 -0
  473. package/rules/.docs/zh-CN/css/layout/max-height.md +10 -0
  474. package/rules/.docs/zh-CN/css/layout/max-width.md +10 -0
  475. package/rules/.docs/zh-CN/css/layout/min-height.md +10 -0
  476. package/rules/.docs/zh-CN/css/layout/min-width.md +10 -0
  477. package/rules/.docs/zh-CN/css/layout/overflow.md +12 -0
  478. package/rules/.docs/zh-CN/css/layout/padding-bottom.md +12 -0
  479. package/rules/.docs/zh-CN/css/layout/padding-horizontal.md +12 -0
  480. package/rules/.docs/zh-CN/css/layout/padding-left.md +12 -0
  481. package/rules/.docs/zh-CN/css/layout/padding-right.md +12 -0
  482. package/rules/.docs/zh-CN/css/layout/padding-top.md +12 -0
  483. package/rules/.docs/zh-CN/css/layout/padding-vertical.md +12 -0
  484. package/rules/.docs/zh-CN/css/layout/padding.md +12 -0
  485. package/rules/.docs/zh-CN/css/layout/position.md +14 -0
  486. package/rules/.docs/zh-CN/css/layout/right.md +13 -0
  487. package/rules/.docs/zh-CN/css/layout/text-align.md +12 -0
  488. package/rules/.docs/zh-CN/css/layout/top.md +12 -0
  489. package/rules/.docs/zh-CN/css/layout/width.md +12 -0
  490. package/rules/.docs/zh-CN/css/layout/z-index.md +12 -0
  491. package/rules/.docs/zh-CN/css/overview.md +8 -0
  492. package/rules/.docs/zh-CN/css/style/background-color.md +10 -0
  493. package/rules/.docs/zh-CN/css/style/border-bottom-color.md +10 -0
  494. package/rules/.docs/zh-CN/css/style/border-bottom-left-radius.md +10 -0
  495. package/rules/.docs/zh-CN/css/style/border-bottom-right-radius.md +10 -0
  496. package/rules/.docs/zh-CN/css/style/border-bottom-width.md +10 -0
  497. package/rules/.docs/zh-CN/css/style/border-color.md +10 -0
  498. package/rules/.docs/zh-CN/css/style/border-left-color.md +10 -0
  499. package/rules/.docs/zh-CN/css/style/border-left-width.md +10 -0
  500. package/rules/.docs/zh-CN/css/style/border-radius.md +10 -0
  501. package/rules/.docs/zh-CN/css/style/border-right-color.md +10 -0
  502. package/rules/.docs/zh-CN/css/style/border-right-width.md +10 -0
  503. package/rules/.docs/zh-CN/css/style/border-style.md +10 -0
  504. package/rules/.docs/zh-CN/css/style/border-top-color.md +10 -0
  505. package/rules/.docs/zh-CN/css/style/border-top-left-radius.md +10 -0
  506. package/rules/.docs/zh-CN/css/style/border-top-right-radius.md +10 -0
  507. package/rules/.docs/zh-CN/css/style/border-top-width.md +10 -0
  508. package/rules/.docs/zh-CN/css/style/border-width.md +10 -0
  509. package/rules/.docs/zh-CN/css/style/box-shadow.md +10 -0
  510. package/rules/.docs/zh-CN/css/style/color.md +10 -0
  511. package/rules/.docs/zh-CN/css/style/font-family.md +10 -0
  512. package/rules/.docs/zh-CN/css/style/font-size.md +10 -0
  513. package/rules/.docs/zh-CN/css/style/font-style.md +10 -0
  514. package/rules/.docs/zh-CN/css/style/font-weight.md +10 -0
  515. package/rules/.docs/zh-CN/css/style/letter-spacing.md +10 -0
  516. package/rules/.docs/zh-CN/css/style/opacity.md +10 -0
  517. package/rules/.docs/zh-CN/css/style/text-decoration-color.md +10 -0
  518. package/rules/.docs/zh-CN/css/style/text-decoration-line.md +10 -0
  519. package/rules/.docs/zh-CN/css/style/text-decoration.md +12 -0
  520. package/rules/.docs/zh-CN/css/style/tint-color.md +10 -0
  521. package/rules/.docs/zh-CN/css/style/visibility.md +10 -0
  522. package/rules/.docs/zh-CN/guide/basic/appendix.md +35 -0
  523. package/rules/.docs/zh-CN/guide/basic/dev-debug.md +94 -0
  524. package/rules/.docs/zh-CN/guide/basic/dev-tools.md +22 -0
  525. package/rules/.docs/zh-CN/guide/basic/installation.md +144 -0
  526. package/rules/.docs/zh-CN/guide/basic/language.md +10 -0
  527. package/rules/.docs/zh-CN/guide/basic/package-manager.md +8 -0
  528. package/rules/.docs/zh-CN/guide/basic/quick-start.md +150 -0
  529. package/rules/.docs/zh-CN/guide/changelog.md +20 -0
  530. package/rules/.docs/zh-CN/guide/commit-examples.md +90 -0
  531. package/rules/.docs/zh-CN/guide/compile/obfuscator.md +56 -0
  532. package/rules/.docs/zh-CN/guide/compile/pack.md +8 -0
  533. package/rules/.docs/zh-CN/guide/compile/resource.md +96 -0
  534. package/rules/.docs/zh-CN/guide/compile/split-chunks.md +66 -0
  535. package/rules/.docs/zh-CN/guide/dark-mode.md +84 -0
  536. package/rules/.docs/zh-CN/guide/design.md +34 -0
  537. package/rules/.docs/zh-CN/guide/dev-faq.md +41 -0
  538. package/rules/.docs/zh-CN/guide/dev-guide.md +55 -0
  539. package/rules/.docs/zh-CN/guide/device/ch.md +18 -0
  540. package/rules/.docs/zh-CN/guide/device/haier.md +12 -0
  541. package/rules/.docs/zh-CN/guide/device/hisense.md +24 -0
  542. package/rules/.docs/zh-CN/guide/device/huawei.md +16 -0
  543. package/rules/.docs/zh-CN/guide/device/konka.md +12 -0
  544. package/rules/.docs/zh-CN/guide/device/le.md +19 -0
  545. package/rules/.docs/zh-CN/guide/device/skyworth.md +25 -0
  546. package/rules/.docs/zh-CN/guide/device/tcl.md +21 -0
  547. package/rules/.docs/zh-CN/guide/device/tencent.md +24 -0
  548. package/rules/.docs/zh-CN/guide/device/tmall.md +18 -0
  549. package/rules/.docs/zh-CN/guide/device/xiaomi.md +46 -0
  550. package/rules/.docs/zh-CN/guide/faq/dev-faq.md +100 -0
  551. package/rules/.docs/zh-CN/guide/faq/develop-faq.md +39 -0
  552. package/rules/.docs/zh-CN/guide/faq/launch-params-faq.md +119 -0
  553. package/rules/.docs/zh-CN/guide/faq/layout-style-faq.md +66 -0
  554. package/rules/.docs/zh-CN/guide/focus/auto-focus.md +94 -0
  555. package/rules/.docs/zh-CN/guide/focus/basic.md +133 -0
  556. package/rules/.docs/zh-CN/guide/focus/debug-tool.md +40 -0
  557. package/rules/.docs/zh-CN/guide/focus/focus-method.md +317 -0
  558. package/rules/.docs/zh-CN/guide/focus/list-auto-focus.md +94 -0
  559. package/rules/.docs/zh-CN/guide/focus/request-focus.md +10 -0
  560. package/rules/.docs/zh-CN/guide/interaction/click.md +39 -0
  561. package/rules/.docs/zh-CN/guide/interaction/focus.md +44 -0
  562. package/rules/.docs/zh-CN/guide/key/back.md +65 -0
  563. package/rules/.docs/zh-CN/guide/key/dispatch-key-event.md +41 -0
  564. package/rules/.docs/zh-CN/guide/key/key-event.md +87 -0
  565. package/rules/.docs/zh-CN/guide/layout/adapter.md +33 -0
  566. package/rules/.docs/zh-CN/guide/layout/layout.md +42 -0
  567. package/rules/.docs/zh-CN/guide/layout/style.md +64 -0
  568. package/rules/.docs/zh-CN/guide/layout/theming.md +154 -0
  569. package/rules/.docs/zh-CN/guide/migration.md +25 -0
  570. package/rules/.docs/zh-CN/guide/namespace.md +69 -0
  571. package/rules/.docs/zh-CN/guide/nav.md +73 -0
  572. package/rules/.docs/zh-CN/guide/network/axios.md +47 -0
  573. package/rules/.docs/zh-CN/guide/network/fetch.md +70 -0
  574. package/rules/.docs/zh-CN/guide/network/websocket.md +107 -0
  575. package/rules/.docs/zh-CN/guide/node/install.md +179 -0
  576. package/rules/.docs/zh-CN/guide/npm/install.md +74 -0
  577. package/rules/.docs/zh-CN/guide/overview.md +41 -0
  578. package/rules/.docs/zh-CN/guide/page/application-lifecycle.md +37 -0
  579. package/rules/.docs/zh-CN/guide/page/lifecycle.md +32 -0
  580. package/rules/.docs/zh-CN/guide/page/page-lifecycle.md +35 -0
  581. package/rules/.docs/zh-CN/guide/page/page-state.md +31 -0
  582. package/rules/.docs/zh-CN/guide/page/type.md +49 -0
  583. package/rules/.docs/zh-CN/guide/publish/hub.md +31 -0
  584. package/rules/.docs/zh-CN/guide/publish/release-apk.md +51 -0
  585. package/rules/.docs/zh-CN/guide/publish/release-rpk.md +45 -0
  586. package/rules/.docs/zh-CN/guide/router/async.md +25 -0
  587. package/rules/.docs/zh-CN/guide/router/entry.md +60 -0
  588. package/rules/.docs/zh-CN/guide/router/error.md +25 -0
  589. package/rules/.docs/zh-CN/guide/router/install.md +70 -0
  590. package/rules/.docs/zh-CN/guide/router/introduction.md +35 -0
  591. package/rules/.docs/zh-CN/guide/router/launch.md +88 -0
  592. package/rules/.docs/zh-CN/guide/router/limit.md +33 -0
  593. package/rules/.docs/zh-CN/guide/router/native.md +104 -0
  594. package/rules/.docs/zh-CN/guide/router/result.md +42 -0
  595. package/rules/.docs/zh-CN/guide/sfc-component/async-component.md +88 -0
  596. package/rules/.docs/zh-CN/guide/sfc-component/native-component.md +127 -0
  597. package/rules/.docs/zh-CN/guide/slot/develop.md +42 -0
  598. package/rules/.docs/zh-CN/guide/slot/install.md +59 -0
  599. package/rules/.docs/zh-CN/guide/slot/introduction.md +45 -0
  600. package/rules/.docs/zh-CN/guide/slot/lifecycle.md +18 -0
  601. package/rules/.docs/zh-CN/guide/slot/project.md +22 -0
  602. package/rules/.docs/zh-CN/guide/test.md +8 -0
  603. package/rules/.docs/zh-CN/guide/theming.md +254 -0
  604. package/rules/.docs/zh-CN/guide/translation.md +39 -0
  605. package/rules/.docs/zh-CN/index.md +9 -0
  606. package/rules/.docs/zh-CN/module/action-bar.md +32 -0
  607. package/rules/.docs/zh-CN/module/app-list.md +57 -0
  608. package/rules/.docs/zh-CN/module/audio.md +45 -0
  609. package/rules/.docs/zh-CN/module/brightness.md +33 -0
  610. package/rules/.docs/zh-CN/module/broadcast.md +77 -0
  611. package/rules/.docs/zh-CN/module/content-provider.md +64 -0
  612. package/rules/.docs/zh-CN/module/develop.md +45 -0
  613. package/rules/.docs/zh-CN/module/device.md +108 -0
  614. package/rules/.docs/zh-CN/module/display.md +33 -0
  615. package/rules/.docs/zh-CN/module/download.md +97 -0
  616. package/rules/.docs/zh-CN/module/es.md +74 -0
  617. package/rules/.docs/zh-CN/module/event-bus.md +68 -0
  618. package/rules/.docs/zh-CN/module/file.md +62 -0
  619. package/rules/.docs/zh-CN/module/iac.md +51 -0
  620. package/rules/.docs/zh-CN/module/local-storage.md +35 -0
  621. package/rules/.docs/zh-CN/module/location.md +48 -0
  622. package/rules/.docs/zh-CN/module/log.md +52 -0
  623. package/rules/.docs/zh-CN/module/network.md +77 -0
  624. package/rules/.docs/zh-CN/module/overview.md +10 -0
  625. package/rules/.docs/zh-CN/module/permission.md +42 -0
  626. package/rules/.docs/zh-CN/module/plugin.md +38 -0
  627. package/rules/.docs/zh-CN/module/power.md +51 -0
  628. package/rules/.docs/zh-CN/module/runtime.md +41 -0
  629. package/rules/.docs/zh-CN/module/service.md +33 -0
  630. package/rules/.docs/zh-CN/module/share-data.md +85 -0
  631. package/rules/.docs/zh-CN/module/toast.md +30 -0
  632. package/rules/.docs/zh-CN/module/upload.md +53 -0
  633. package/rules/.docs/zh-CN/module/usb.md +52 -0
  634. package/rules/.docs/zh-CN/module/xlog.md +48 -0
  635. package/rules/.docs/zh-CN/resource/runtime.md +88 -0
  636. package/rules/.docs/zh-CN/resource/test-flight.md +27 -0
  637. package/rules/.docs/zh-CN/runtime/runtime.md +81 -0
  638. package/rules/.docs/zh-CN/runtime/test-flight.md +23 -0
  639. package/rules/.docs/zh-CN/sample/ai-dev.md +250 -0
  640. package/rules/.docs/zh-CN/sample/api-demo.md +26 -0
  641. package/rules/.docs/zh-CN/sample/app-list.md +12 -0
  642. package/rules/.docs/zh-CN/sample/hello-tv.md +98 -0
  643. package/rules/.docs/zh-CN/sdk/cus_component.md +249 -0
  644. package/rules/.docs/zh-CN/sdk/cus_module.md +163 -0
  645. package/rules/.docs/zh-CN/sdk/cus_splash.md +97 -0
  646. package/rules/.docs/zh-CN/sdk/empty.md +0 -0
  647. package/rules/.docs/zh-CN/sdk/first_implementation.md +15 -0
  648. package/rules/.docs/zh-CN/sdk/first_init.md +13 -0
  649. package/rules/.docs/zh-CN/sdk/first_start_app.md +4 -0
  650. package/rules/.docs/zh-CN/sdk/light-card.md +116 -0
  651. package/rules/.docs/zh-CN/sdk/overview.md +5 -0
  652. package/rules/.docs/zh-CN/tool/api/overview.md +103 -0
  653. package/rules/.docs/zh-CN/tool/cli/adb.md +32 -0
  654. package/rules/.docs/zh-CN/tool/cli/build.md +14 -0
  655. package/rules/.docs/zh-CN/tool/cli/clean.md +12 -0
  656. package/rules/.docs/zh-CN/tool/cli/config.md +37 -0
  657. package/rules/.docs/zh-CN/tool/cli/create.md +28 -0
  658. package/rules/.docs/zh-CN/tool/cli/debug.md +30 -0
  659. package/rules/.docs/zh-CN/tool/cli/info.md +14 -0
  660. package/rules/.docs/zh-CN/tool/cli/installation.md +12 -0
  661. package/rules/.docs/zh-CN/tool/cli/introduction.md +26 -0
  662. package/rules/.docs/zh-CN/tool/cli/logcat.md +10 -0
  663. package/rules/.docs/zh-CN/tool/cli/migrate.md +12 -0
  664. package/rules/.docs/zh-CN/tool/cli/pack.md +14 -0
  665. package/rules/.docs/zh-CN/tool/cli/preview.md +18 -0
  666. package/rules/.docs/zh-CN/tool/cli/publish.md +12 -0
  667. package/rules/.docs/zh-CN/tool/cli/setup.md +58 -0
  668. package/rules/.docs/zh-CN/tool/cli/start.md +54 -0
  669. package/rules/.docs/zh-CN/tool/cli/test.md +22 -0
  670. package/rules/.docs/zh-CN/tool/cli/upgrade.md +12 -0
  671. package/rules/.github/copilot-instructions.md +456 -0
  672. package/rules/.windsurfrules +367 -0
  673. package/rules/AGENTS.md +456 -0
  674. package/rules/AI_HANDOFF.md +376 -0
  675. package/rules/CLAUDE.md +836 -0
  676. package/rules/GEMINI.md +463 -0
@@ -0,0 +1,207 @@
1
+ ---
2
+ title: PlayerManager
3
+ lang: zh-CN
4
+ ---
5
+
6
+ # ESPlayerManager 简介
7
+
8
+ 播放管理器`ESPlayerManager`是基于常用的应用业务封装的一套管理播放组件的组件。
9
+
10
+ ***`ESPlayerManager`组件用来管理各个播放器组件,本身不提供播放功能。***
11
+
12
+ 除了基本的播放控制功能外,还提供以下功能:
13
+
14
+ * 播放窗口切换
15
+ * 播放模式
16
+ * 多类型播放器混播
17
+ * 广告
18
+
19
+ ## 结构示意图
20
+
21
+ <img src="/component/player-manager/structure.png" />
22
+
23
+ ## API
24
+
25
+ ### DataStructure
26
+
27
+ #### ESMediaItem
28
+
29
+ 媒资条目
30
+
31
+ | Name | Description | Type | Default |
32
+ | -------------- | ------------------| ----------------------------|---------|
33
+ | [type](/zh-CN/component/player-manager/player-type) | [播放器的类型](/zh-CN/component/player-manager/player-type) | ^[number] | `1` |
34
+ | id | 媒资的唯一标识符 | ^[number] / ^[string] | - |
35
+ | mediaSourceList| 媒资资源列表 | ^[ESMediaSourceList] | - |
36
+ | interceptors | 媒资条目拦截器 | ^[Array<ESIPlayerInterceptor>] | - |
37
+ | position | 媒资播放位置 | ^[ESPlayerPosition] | - |
38
+ | metadata | 媒资信息 | ^[ESMediaMetadata] | - |
39
+ | previousRollADList| 前贴片广告资源列表| ^[ESMediaSourceList] | - |
40
+ | middleRollADList| 中插广告资源列表 | ^[ESMediaSourceList] | - |
41
+ | postRollADList | 后贴广告资源列表 | ^[ESMediaSourceList] | - |
42
+ | adPlayerType | 广告播放器类型 | ^[number] | - |
43
+
44
+ #### ESMediaItemList
45
+
46
+ 媒资条目列表
47
+
48
+ | Name | Description | Type | Default |
49
+ | -------------- | ------------------| ----------------------------|---------|
50
+ | index | 默认播放媒资条目的索引| ^[number] | - |
51
+ | list | 媒资条目列表 | ^[Array<ESMediaItem>] | - |
52
+ | interceptors | 媒资条目列表拦截器 | ^[Array<ESIPlayerInterceptor>] | - |
53
+ | metadata | 媒资信息 | ^[ESMediaMetadata] | - |
54
+
55
+ ### Attributes
56
+
57
+ | Name | Description | Type | Default |
58
+ | -------------------------| --------------------- | ----------------------------- |---------|
59
+ | playerList | 播放器数组列表 | ^[Array<ESIPlayer>] |[] |
60
+ | playerViewList | 播放器视图数组列表 | ^[Array<ESIPlayerManagerView>] |[] |
61
+ | adPlayerList | 广告播放器数组列表 | ^[Array<ESIPlayer] |
62
+ | adPlayerViewList | 广告播放器视图数组列表 | ^[Array<ESIPlayerManagerView>] |[] |
63
+ | adChannel | 广告的渠道 | ^[string] |'' |
64
+ | adDebug | 是否开启广告调试模式 | ^[boolean] |false |
65
+ | adTest | 是否开启广告测试环境 | ^[boolean] |false |
66
+ | playMediaAuto | 是否自动播放媒资 | ^[boolean] |true |
67
+ | playMediaSourceAuto | 是否自动播放媒资数据源 | ^[boolean] |true |
68
+ | playMediaSourceListMode | 媒资数据源播放模式 | ^[ESPlayerPlayMode] |ES_PLAYER_PLAY_MODE_ONCE |
69
+ | playerBackgroundColor | 播放管理器背景颜色 | ^[string] |transparent |
70
+ | smallWindowWidth | 播放小窗口模式宽度 | ^[number] |976 |
71
+ | smallWindowHeight | 播放小窗口模式高度 | ^[number] |557 |
72
+ | fullWindowWidth | 播放全屏窗口模式宽度 | ^[number] |1920 |
73
+ | fullWindowHeight | 播放全屏窗口模式高度 | ^[number] |1080 |
74
+ | floatWindowWidth | 播放浮动窗口模式宽度 | ^[number] |400 |
75
+ | floatWindowHeight | 播放浮动窗口模式高度 | ^[number] |230 |
76
+ | initPlayerWindowType | 初始化播放窗口模式 | ^[ESPlayerWindowType] |ES_PLAYER_WINDOW_TYPE_SMALL |
77
+ | isEnabled | 播放管理器是否可用 | ^[boolean] |true |
78
+
79
+ ### Events
80
+
81
+ | Name | Description | Type |
82
+ | ----------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------- |
83
+ | onPlayerInitialized | 播放器初始化事件 | ^[Function]`onPlayerInitialized() => void` |
84
+ | onPlayerPlayMediaSourceList | 播放媒资资源列表事件 | ^[Function]`onPlayerPlayMediaSourceList(mediaSourceList: ESMediaSourceList) => void` |
85
+ | onPlayerPlayMediaSource | 播放媒资资源事件 | ^[Function]`onPlayerPlayMediaSource(mediaSource: ESMediaSource) => void` |
86
+ | onPlayerInterceptSuccess | 播放拦截器成功事件 | ^[Function]`onPlayerInterceptSuccess(result: ESPlayerInterceptResult) => void` |
87
+ | onPlayerInterceptError | 播放拦截器错误事件 | ^[Function]`onPlayerInterceptError(error: ESPlayerInterceptError) => void` |
88
+ | onPlayerSizeChanged | 播放器尺寸变化事件 | ^[Function]`onPlayerSizeChanged(playerWidth: number, playerHeight: number) => void` |
89
+ | onPlayerPreparing | 播放器准备中事件 | ^[Function]`onPlayerPreparing() => void` |
90
+ | onPlayerPrepared | 播放器准备好事件 | ^[Function]`onPlayerPrepared() => void` |
91
+ | onPlayerBufferStart | 播放器开始缓冲事件 | ^[Function]`onPlayerBufferStart() => void` |
92
+ | onPlayerBufferEnd | 播放器缓冲结束事件 | ^[Function]`onPlayerBufferEnd() => void` |
93
+ | onPlayerPlaying | 播放器开始播放事件 | ^[Function]`onPlayerPlaying() => void` |
94
+ | onPlayerProgressChanged | 播放进度事件 | ^[Function]`onPlayerProgressChanged(progress: number) => void` |
95
+ | onPlayerDurationChanged | 播放总长度事件 | ^[Function]`onPlayerDurationChanged(duration: number) => void` |
96
+ | onPlayerSeekStart | 播放器开始快进事件 | ^[Function]`onPlayerSeekStart() => void` |
97
+ | onPlayerSeekCompleted | 播放器快进结束事件 | ^[Function]`onPlayerSeekCompleted() => void` |
98
+ | onPlayerPaused | 播放器暂停播放事件 | ^[Function]`onPlayerPaused() => void` |
99
+ | onPlayerResumed | 播放器恢复播放事件 | ^[Function]`onPlayerResumed() => void` |
100
+ | onPlayerStopped | 播放器停止播放事件 | ^[Function]`onPlayerStopped() => void` |
101
+ | onPlayerCompleted | 播放器播放完毕事件 | ^[Function]`onPlayerCompleted() => void` |
102
+ | onPlayerError | 播放错误事件 | ^[Function]`onPlayerError(error: ESPlayerError) => void` |
103
+ | onPlayerInfo | 播放信息事件 | ^[Function]`onPlayerInfo(info: ESPlayerInfo) => void` |
104
+ | onPlayerNoMediaSourceCanPlay | 无媒资资源可播放事件 | ^[Function]`onPlayerNoMediaSourceCanPlay(next: boolean) => void` |
105
+ | onPlayerVolumeChanged | 播放器音量变化事件 | ^[Function]`onPlayerVolumeChanged(leftVolume: number, rightVolume: number) => void` |
106
+ | onPlayerLeftVolumeChanged | 播放器左声道音量变化事件 | ^[Function]`onPlayerLeftVolumeChanged(volume: number) => void` |
107
+ | onPlayerRightVolumeChanged | 播放器右声道音量变化事件 | ^[Function]`onPlayerRightVolumeChanged(volume: number) => void` |
108
+ | onPlayerDefinitionListChanged | 播放器媒资清晰度列表事件 | ^[Function]`onPlayerDefinitionListChanged(definitionList: Array<ESPlayerDefinition>) => void` |
109
+ | onPlayerDefinitionChanged | 播放器媒资清晰度事件 | ^[Function]`onPlayerDefinitionChanged(definition: ESPlayerDefinition) => void` |
110
+ | onPlayerPlayRateListChanged | 播放速率列表事件 | ^[Function]`onPlayerPlayRateListChanged(rateList: Array<ESPlayerRate>) => void` |
111
+ | onPlayerPlayRateChanged | 播放速率事件 | ^[Function]`onPlayerPlayRateChanged(rate: ESPlayerRate) => void` |
112
+ | onPlayerDecodeListChanged | 播放器解码方式列表事件 | ^[Function]`onPlayerDecodeListChanged(decodeList: Array<ESPlayerDecode>) => void` |
113
+ | onPlayerDecodeChanged | 播放器解码方式事件 | ^[Function]`onPlayerDecodeChanged(decode: ESPlayerDecode) => void` |
114
+ | onPlayerAspectRatioListChanged| 画面比例列表事件 | ^[Function]`onPlayerAspectRatioListChanged(aspectRatioList: Array<ESPlayerAspectRatio>) => void` |
115
+ | onPlayerAspectRatioChanged | 画面比例事件 | ^[Function]`onPlayerAspectRatioChanged(aspectRatio: ESPlayerAspectRatio) => void` |
116
+ | onPlayerPlayMediaSourceListModeListChanged | 播放媒资资源列表模式列表事件 | ^[Function]`onPlayerPlayMediaSourceListModeListChanged(playModeList: Array<ESPlayerPlayMode>) => void` |
117
+ | onPlayerPlayMediaSourceListModeChanged | 播放媒资资源列表模式事件 | ^[Function]`onPlayerPlayMediaSourceListModeChanged(playMode: ESPlayerPlayMode) => void` |
118
+ | onPlayerRenderListChanged | 渲染模式列表事件 | ^[Function]`onPlayerRenderListChanged(renderList: Array<ESPlayerRender>) => void` |
119
+ | onPlayerRenderChanged | 渲染模式事件 | ^[Function]`onPlayerRenderChanged(render: ESPlayerRender) => void` |
120
+ | onPlayerViewSizeChanged | 播放器尺寸变化事件 | ^[Function]`onPlayerViewSizeChanged(playerWidth: number, playerHeight: number) => void` |
121
+ | onPlayerViewChanged | 播放器视图变化事件 | ^[Function]`onPlayerViewChanged() => void` |
122
+ | onPlayerClickable | 播放器视图可点击事件 | ^[Function]`onPlayerClickable(playerClickable: boolean) => void` |
123
+ | onPlayerPlayMediaList | 播放媒资条目列表事件 | ^[Function]`onPlayerPlayMediaList(playList: ESMediaItemList) => void` |
124
+ | onPlayerMediaListInitialized | 初始化媒资条目列表事件 | ^[Function]`onPlayerMediaListInitialized(mediaList: SparseArray<ESMediaItem>) => void` |
125
+ | onPlayerPlayMedia | 播放媒资条目事件 | ^[Function]`onPlayerPlayMedia(mediaItem: ESMediaItem) => void` |
126
+ | onPlayerInterceptSuccess | 播放拦截器成功事件 | ^[Function]`onPlayerInterceptSuccess(result: ESPlayerInterceptResult) => void` |
127
+ | onPlayerInterceptError | 播放拦截器错误事件 | ^[Function]`onPlayerInterceptError(error: ESPlayerInterceptError) => void` |
128
+ | onPlayerNoMediaCanPlay | 无媒资可播放事件 | ^[Function]`onPlayerNoMediaCanPlay(next: boolean) => void` |
129
+ | onPlayerPlayMediaListModeListChanged | 播放媒资列表模式列表事件 | ^[Function]`onPlayerPlayMediaListModeListChanged(playModeList: Array<ESPlayerPlayMode>) => void` |
130
+ | onPlayerPlayMediaListModeChanged | 播放媒资列表模式事件 | ^[Function]`onPlayerPlayMediaListModeChanged(playMode: ESPlayerPlayMode) => void` |
131
+ | onPlayerPlayMediaSourceListModeListChanged | 播放媒资资源列表模式列表事件 | ^[Function]`onPlayerPlayMediaSourceListModeListChanged(playModeList: Array<ESPlayerPlayMode>) => void` |
132
+ | onPlayerPlayMediaSourceListModeChanged | 播放媒资资源列表模式事件 | ^[Function]`onPlayerPlayMediaSourceListModeChanged(playMode: ESPlayerPlayMode) => void` |
133
+ | onPlayerWindowTypeChanged | 播放管理器窗口变化事件 | ^[Function]`onPlayerWindowTypeChanged(windowType: ESPlayerWindowType) => void` |
134
+
135
+ ### Exposes
136
+
137
+ | Name | Description | Type |
138
+ | -------------------------------- | --------------------------- | --------------------------------------------------------------------------------- |
139
+ | initialize | 初始化 | ^[Function]`() => void` |
140
+ | isInitialized | 判断播放管理器是否初始化 | ^[Function]`() => boolean` |
141
+ | setVisible | 设置播放管理器是否可见 | ^[Function]`(value: boolean) => void` |
142
+ | playMediaSourceList | 播放媒资资源列表 | ^[Function]`(mediaSourceList: ESMediaSourceList) => void` |
143
+ | playMediaSourceByIndex | 根据媒资资源索引进行播放 | ^[Function]`(index: number) => void` |
144
+ | playMediaSourceById | 根据媒资资源唯一标识符进行播放 | ^[Function]`(id: string) => void` |
145
+ | playMediaSource | 播放媒资资源 | ^[Function]`(mediaSource: ESMediaSource) => void` |
146
+ | playNextMediaSource | 播放下一个媒资资源 | ^[Function]`() => void` |
147
+ | playPreviousMediaSource | 播放上一个媒资资源 | ^[Function]`() => void` |
148
+ | getMediaSourceList | 获取正在播放的媒资资源列表 | ^[Function]`() => Array<ESMediaSource> \| null` |
149
+ | getMediaSource | 根据媒资资源索引获取媒资资源 | ^[Function]`(index: number) => ESMediaSource \| null` |
150
+ | getPlayingMediaSourceIndex | 获取正在播放的媒资资源的索引 | ^[Function]`() => number` |
151
+ | getPlayingMediaSourceList | 获取正在播放的媒资资源列表 | ^[Function]`() => ESMediaSourceList \| null` |
152
+ | getPlayingMediaSource | 获取正在播放的媒资资源 | ^[Function]`() => ESMediaSource \| null` |
153
+ | play | 播放器的播放方法 | ^[Function]`(...params: Array<any>) => void` |
154
+ | start | 播放器的开始播放方法 | ^[Function]`(position: number) => void` |
155
+ | pause | 播放器的暂停播放方法 | ^[Function]`() => void` |
156
+ | resume | 恢复播放器播放 | ^[Function]`() => void` |
157
+ | stop | 停止播放器播放 | ^[Function]`() => void` |
158
+ | reset | 重置播放器 | ^[Function]`() => void` |
159
+ | release | 回收播放器资源 | ^[Function]`() => void` |
160
+ | seekTo | 播放快进 | ^[Function]`(progress: number) => void` |
161
+ | getDuration | 获取播放总时长 | ^[Function]`() => void` |
162
+ | getCurrentPosition | 获取当前播放的进度 | ^[Function]`() => void` |
163
+ | setSize | 设置播放器的尺寸 | ^[Function]`(width: number, height: number) => void` |
164
+ | setPlayRate | 设置播放速率 | ^[Function]`(playRate: ESPlayerRate) => void` |
165
+ | setPlayMode | 设置播放模式 | ^[Function]`(playMode: ESPlayerPlayMode) => void` |
166
+ | setDefinition | 设置播放媒资清晰度 | ^[Function]`(definition: ESPlayerDefinition) => void` |
167
+ | setCache | 设置播放缓存策略 | ^[Function]`(cache: ESPlayerCache) => void` |
168
+ | setDecode | 设置播放解码方式 | ^[Function]`(decode: ESPlayerDecode) => void` |
169
+ | setRender | 设置播放渲染方式 | ^[Function]`(render: ESPlayerRender) => void` |
170
+ | setAspectRatio | 设置播放画面比例 | ^[Function]`(aspectRatio: ESPlayerAspectRatio) => void` |
171
+ | getLeftVolume | 获取左声道音量 | ^[Function]`() => void` |
172
+ | getRightVolume | 获取右声道音量 | ^[Function]`() => void` |
173
+ | setLeftVolume | 设置左声道音量 | ^[Function]`(leftVolume: number) => void` |
174
+ | setRightVolume | 设置右声道音量 | ^[Function]`(rightVolume: number) => void` |
175
+ | setVolume | 设置左右声道音量 | ^[Function]`(volume: number) => void` |
176
+ | getVolume | 获取音量 | ^[Function]`() => void` |
177
+ | setStopped | 设置播放管理器的停止状态 | ^[Function]`(stopped: boolean) => void` |
178
+ | setEnabled | 设置播放管理器的可用状态 | ^[Function]`(enabled: boolean) => void` |
179
+ | setProgressCallback | 设置播放进度回调 | ^[Function]`(callback: ESPlayerProgressCallback) => void` |
180
+ | setDurationCallback | 设置播放总进度回调 | ^[Function]`(callback: ESPlayerDurationCallback) => void` |
181
+ | invalidate | 刷新播放视图 | ^[Function]`() => void` |
182
+ | playMediaList | 播放媒资列表 | ^[Function]`(playList: ESMediaItemList) => void` |
183
+ | playMediaByIndex | 播放指定索引的媒资 | ^[Function]`(index: number) => void` |
184
+ | playMediaById | 播放指定唯一标识符的媒资 | ^[Function]`(id: string) => void` |
185
+ | playMedia | 播放媒资 | ^[Function]`(mediaItem: ESMediaItem) => void` |
186
+ | addMediaToLast | 添加媒资列表到播放列表的末尾 | ^[Function]`(mediaItemList: Array<ESMediaItem>) => void` |
187
+ | addMediaToFirst | 添加媒资列表到播放列表的首位 | ^[Function]`(mediaItemList: Array<ESMediaItem>) => void` |
188
+ | addMediaToIndex | 添加媒资列表到播放列表的指定位置 | ^[Function]`(index: number, mediaItemList: Array<ESMediaItem>) => void` |
189
+ | replaceMedia | 替换媒资列表指定位置媒资 | ^[Function]`(beginIndex: number, mediaItemList: Array<ESMediaItem>) => void` |
190
+ | getMediaList | 获取播放的媒资列表 | ^[Function]`() => Array<ESMediaItem> \| null` |
191
+ | getMedia | 获取指定索引的媒资 | ^[Function]`(index: number) => ESMediaItem \| null` |
192
+ | getPlayingMediaIndex | 获取正在播放的媒资的索引 | ^[Function]`() => number` |
193
+ | getPlayingMediaList | 获取正在播放的媒资列表 | ^[Function]`() => ESMediaItemList \| null` |
194
+ | getPlayingMedia | 获取正在播放的媒资 | ^[Function]`() => ESMediaItem \| null` |
195
+ | getWindowType | 获取当前播放管理器的窗口类型 | ^[Function]`() => ESPlayerWindowType` |
196
+ | setFloatWindow | 设置播放管理器浮动窗口 | ^[Function]`() => void` |
197
+ | setSmallWindow | 设置播放管理器小窗口 | ^[Function]`() => void` |
198
+ | setFullWindow | 设置播放管理器全屏窗口 | ^[Function]`() => void` |
199
+ | setWindowType | 设置播放管理器窗口 | ^[Function]`(windowType: ESPlayerWindowType) => void` |
200
+ | setPlayMediaListMode | 设置播放媒资模式 | ^[Function]`(playMode: ESPlayerPlayMode) => void` |
201
+ | canPlayNextMedia | 判断是否可以播放视频列表下一个媒资 | ^[Function]`() => boolean` |
202
+ | playNextMedia | 播放下一个媒资 | ^[Function]`() => void` |
203
+ | canPlayPreviousMedia | 判断是否可以播放视频列表上一个媒资 | ^[Function]`() => boolean` |
204
+ | playPreviousMedia | 播放上一个媒资 | ^[Function]`() => void` |
205
+ | onKeyDown | 处理按键按下逻辑 | ^[Function]`(keyEvent: ESKeyEvent) => boolean` |
206
+ | onKeyUp | 处理按键抬起逻辑 | ^[Function]`(keyEvent: ESKeyEvent) => boolean` |
207
+ | onBackPressed | 处理返回键逻辑 | ^[Function]`() => boolean` |
@@ -0,0 +1,197 @@
1
+ ---
2
+ title: PlayerManager
3
+ lang: zh-CN
4
+ ---
5
+
6
+ # MediaItem 拦截器
7
+
8
+ ***`ESMediaItem`拦截器是`ESPlayerManager`调用`ESMediaItem`之前执行的钩子函数。***
9
+
10
+ 拦截器中,可以对`ESMediaItem`中所有的数据进行操作。
11
+
12
+ ***应用场景一:***
13
+
14
+ 播放`ESMediaItem`之前需要根据媒资分集 id 获取播放地址信息。
15
+
16
+ 设置数据`ESMediaItem`中的`mediaSourceList`暂时为空
17
+
18
+ ```ts
19
+ const mediaItem: ESMediaItem = {
20
+ index: 0,
21
+ mediaSourceList: [],
22
+ interceptors: [interceptor]//添加异步获取播放地址拦截器
23
+ }
24
+
25
+ ```
26
+
27
+ 可以通过拦截器异步请求到播放地址数据后,赋值给`ESMediaItem`中的`mediaSourceList`。
28
+
29
+ ***应用场景二:***
30
+
31
+ 播放媒资分集`ESMediaItem`之前需要判断用户是否有媒资分集`ESMediaItem`播放权益。
32
+
33
+ ```ts
34
+
35
+ const mediaItem: ESMediaItem = {
36
+ index: 0,
37
+ mediaSourceList: [],
38
+ interceptors: [interceptor]//添加分集鉴权拦截器
39
+ }
40
+ ```
41
+
42
+ 可以通过拦截器异步鉴权,并返回拦截结果,决定用户是否可以播放分集。
43
+
44
+ ## MediaItem 全局拦截器
45
+
46
+ `ESMediaItem`全局拦截器可以在***整个应用中所有播放视频的位置***对`ESMediaItem`执行钩子函数操作。
47
+
48
+ ### 第一步、声明全局拦截器
49
+
50
+ 实现`ESIPlayerInterceptor`接口。
51
+
52
+ * `id`需确保整个应用唯一性。
53
+ * ***`type`需明确指定为`ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM`***
54
+ * ***`intercept`方法的参数`params`中`params[0]`即`ESMediaItem`。 在次方法中进行业务逻辑,需要返回`promise`。
55
+ 如果业务逻辑认为拦截成功则需返回`Promise.resolve(ESPlayerInterceptResult)`此时`ESPlayerInterceptResult`中的`result`字段会全部赋值到
56
+ `ESMediaItem`播放继续进行。 如果业务逻辑认为拦截失败则返回`Promise.reject()`播放返回错误,终止进行。***
57
+ * `release`方法中有需回收资源
58
+
59
+ ```ts
60
+ export function createESPlayerMediaItemGlobalInterceptor(): ESIPlayerInterceptor {
61
+
62
+ function intercept(...params: Array<any>): Promise<ESPlayerInterceptResult> {
63
+ //1.转换成 ESMediaItem
64
+ const item = params[0] as ESMediaItem
65
+ //2.模拟操作:给 ESMediaItem 添加数据
66
+ item.metadata = '全局拦截器添加的附加信息'
67
+ const mediaSource: ESMediaSource = {
68
+ uri: 'http://qcloudcdn.a311.ottcn.com/data_center/videos/SHORT/DEFAULT/2023/09/07/a2d3da6d-469e-4f99-a2d0-c001741003f8.mp4'
69
+ }
70
+ const mediaSourceList: ESMediaSourceList = {
71
+ index: 0,
72
+ list: [mediaSource]
73
+ }
74
+
75
+ //3.如果返回 Promise.resolve(result) 播放继续
76
+ // 则会把 ESPlayerInterceptResult中的 result 字段全部赋值到 ESMediaItem
77
+ // 如果返回 PPromise.reject('模拟失败') 播放终止,返回错误
78
+ //
79
+ const result: ESPlayerInterceptResult = {
80
+ result: {
81
+ mediaSourceList,
82
+ desc: '全局拦截器添加的附加字段'
83
+ }
84
+ }
85
+ return Promise.resolve(result)
86
+ // return Promise.reject('模拟失败')
87
+ }
88
+
89
+ function release(): void {
90
+ //
91
+ }
92
+
93
+ return {
94
+ id: 'ESPlayerMediaItemGlobalInterceptor',
95
+ type: ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM,
96
+ intercept,
97
+ release
98
+ }
99
+ }
100
+ ```
101
+
102
+ #### 第二步、注册全局拦截器
103
+
104
+ ```ts
105
+ //1.创建全局拦截器
106
+ const globalInterceptor = createESPlayerMediaItemGlobalInterceptor()
107
+ //2.注册全局拦截器
108
+ const globalInterceptorManager = useESPlayerInterceptorManager()
109
+ globalInterceptorManager.addInterceptor(globalInterceptor)
110
+ ```
111
+
112
+ ## MediaItem 局部拦截器
113
+
114
+ `ESMediaItem`局部拦截器可以在***此次播放中***对`ESMediaItem`执行钩子函数操作。
115
+
116
+ ### 第一步、声明局部拦截器
117
+
118
+ 实现`ESIPlayerInterceptor`接口。
119
+
120
+ * `id`需确保整个应用唯一性。
121
+ * ***`type`需明确指定为`ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM`***
122
+ * ***`intercept`方法的参数`params`中`params[0]`即`ESMediaItem`。 在次方法中进行业务逻辑,需要返回`promise`。
123
+ 如果业务逻辑认为拦截成功则需返回`Promise.resolve(ESPlayerInterceptResult)`此时`ESPlayerInterceptResult`中的`result`字段会全部赋值到
124
+ `ESMediaItem`播放继续进行。 如果业务逻辑认为拦截失败则返回`Promise.reject()`播放返回错误,终止进行。***
125
+ * `release`方法中有需回收资源
126
+
127
+ ```ts
128
+ import {
129
+ ESPlayerInterceptorType
130
+ } from "@extscreen/es3-player";
131
+ import type {
132
+ ESIPlayerInterceptor, ESMediaSource, ESMediaSourceList,
133
+ ESPlayerInterceptResult
134
+ } from "@extscreen/es3-player";
135
+ import type { ESMediaItem } from "@extscreen/es3-player-manager";
136
+
137
+ export function createESPlayerMediaItemGlobalInterceptor(): ESIPlayerInterceptor {
138
+
139
+ function intercept(...params: Array<any>): Promise<ESPlayerInterceptResult> {
140
+ //1.
141
+ const item = params[0] as ESMediaItem
142
+ item.metadata = '全局拦截器添加的附加信息'
143
+
144
+ //2.
145
+ const mediaSource: ESMediaSource = {
146
+ uri: 'http://qcloudcdn.a311.ottcn.com/data_center/videos/SHORT/DEFAULT/2023/09/07/a2d3da6d-469e-4f99-a2d0-c001741003f8.mp4'
147
+ }
148
+ const mediaSourceList: ESMediaSourceList = {
149
+ index: 0,
150
+ list: [mediaSource]
151
+ }
152
+
153
+ const result: ESPlayerInterceptResult = {
154
+ result: {
155
+ mediaSourceList,
156
+ desc: '全局拦截器添加的附加字段'
157
+ }
158
+ }
159
+ return Promise.resolve(result)
160
+ }
161
+
162
+ function release(): void {
163
+ //
164
+ }
165
+
166
+ return {
167
+ id: 'ESPlayerMediaItemGlobalInterceptor',
168
+ type: ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM,
169
+ intercept,
170
+ release
171
+ }
172
+ }
173
+
174
+
175
+ ```
176
+
177
+ #### 第二步、注册局部拦截器
178
+
179
+ ```ts
180
+ //1.创建局部拦截器
181
+ const interceptor = createESPlayerMediaItemInterceptor()
182
+ //2.注册局部拦截器
183
+ const mediaItem: ESMediaItem = {
184
+ interceptors: [interceptor]
185
+ }
186
+ const playList: ESMediaItemList = {
187
+ index: 0,
188
+ list: [mediaItem],
189
+ }
190
+ playerManager.value?.initialize()
191
+ ```
192
+
193
+ :::demo ## 完整示例
194
+
195
+ component/player-manager/media-item-interceptor
196
+
197
+ :::
@@ -0,0 +1,189 @@
1
+ ---
2
+ title: PlayerManager
3
+ lang: zh-CN
4
+ ---
5
+
6
+ # MediaItemList 拦截器
7
+
8
+ ***`MediaItemList`拦截器是`ESPlayerManager`调用`MediaItemList`之前执行的钩子函数。***
9
+
10
+ 拦截器中,可以对`ESMediaItemList`中所有的数据进行操作。
11
+
12
+ ***应用场景一:***
13
+
14
+ 播放媒资之前需要根据媒资 id 获取所有分集信息。
15
+
16
+ 设置数据`ESMediaItemList`中的`list`暂时为空
17
+
18
+ ```ts
19
+ const playList: ESMediaItemList = {
20
+ id: '123456',
21
+ index: 0,
22
+ list: [],
23
+ interceptors: [interceptor],//添加异步获取分集拦截器
24
+ }
25
+ ```
26
+
27
+ 可以通过拦截器异步请求到分集数据后,赋值给`ESMediaItemList`中的`list`。
28
+
29
+ ***应用场景二:***
30
+
31
+ 播放媒资之前需要判断用户是否有整个媒资的播放权益。
32
+
33
+ ```ts
34
+ const playList: ESMediaItemList = {
35
+ index: 0,
36
+ list: [mediaItem],
37
+ interceptors: [interceptor],//添加鉴权拦截器
38
+ }
39
+ ```
40
+
41
+ 可以通过拦截器异步鉴权,并返回拦截结果,决定用户是否可以播放。
42
+
43
+ ## MediaItemList 全局拦截器
44
+
45
+ `MediaItemList`全局拦截器可以在***整个应用中所有播放视频的位置***对`MediaItemList`执行钩子函数操作。
46
+
47
+ ### 第一步、声明全局拦截器
48
+
49
+ 实现`ESIPlayerInterceptor`接口。
50
+
51
+ * `id`需确保整个应用唯一性。
52
+ * ***`type`需明确指定为`ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM_LIST`***
53
+ * ***`intercept`方法的参数`params`中`params[0]`即`ESMediaItemList`。 在次方法中进行业务逻辑,需要返回`promise`。
54
+ 如果业务逻辑认为拦截成功则需返回`Promise.resolve(ESPlayerInterceptResult)`此时`ESPlayerInterceptResult`中的`result`字段会全部赋值到
55
+ `ESMediaSourceList`播放继续进行。 如果业务逻辑认为拦截失败则返回`Promise.reject()`播放返回错误,终止进行。***
56
+ * `release`方法中有需回收资源
57
+
58
+ ```ts
59
+ export function createESPlayerMediaItemListGlobalInterceptor(): ESIPlayerInterceptor {
60
+
61
+ function intercept(...params: Array<any>): Promise<ESPlayerInterceptResult> {
62
+ //1.转换成 ESMediaItemList
63
+ const mediaItemList = params[0] as ESMediaItemList
64
+
65
+ //2.模拟操作:给 ESMediaItemList 添加数据
66
+ mediaItemList.metadata = '全局拦截器添加的附加信息'
67
+ const mediaSource: ESMediaSource = {
68
+ uri: 'http://qcloudcdn.a311.ottcn.com/data_center/videos/SHORT/DEFAULT/2023/09/07/a2d3da6d-469e-4f99-a2d0-c001741003f8.mp4'
69
+ }
70
+ const mediaSourceList: ESMediaSourceList = {
71
+ index: 0,
72
+ list: [mediaSource]
73
+ }
74
+ const mediaItem: ESMediaItem = {
75
+ mediaSourceList,
76
+ }
77
+
78
+ //3.如果返回 Promise.resolve(result) 播放继续
79
+ // 则会把 ESPlayerInterceptResult中的 result 字段全部赋值到 ESMediaSourceList
80
+ // 如果返回 PPromise.reject('模拟失败') 播放终止,返回错误
81
+ //
82
+ const result: ESPlayerInterceptResult = {
83
+ result: {
84
+ list: [mediaItem],
85
+ desc: '拦截器添加的新的字段'
86
+ }
87
+ }
88
+ return Promise.resolve(result)
89
+ // return Promise.reject('模拟失败')
90
+ }
91
+
92
+ function release(): void {
93
+ //
94
+ }
95
+
96
+ return {
97
+ id: 'ESPlayerMediaItemListGlobalInterceptor',
98
+ type: ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM_LIST,
99
+ intercept,
100
+ release
101
+ }
102
+ }
103
+ ```
104
+
105
+ #### 第二步、注册全局拦截器
106
+
107
+ ```ts
108
+ //1.创建全局拦截器
109
+ const globalInterceptor = createESPlayerMediaItemListGlobalInterceptor()
110
+ //2.注册全局拦截器
111
+ const globalInterceptorManager = useESPlayerInterceptorManager()
112
+ globalInterceptorManager.addInterceptor(globalInterceptor)
113
+ ```
114
+
115
+ ## MediaItemList 局部拦截器
116
+
117
+ `MediaItemList`局部拦截器可以在***此次播放中***对`MediaItemList`执行钩子函数操作。
118
+
119
+ ### 第一步、声明局部拦截器
120
+
121
+ 实现`ESIPlayerInterceptor`接口。
122
+
123
+ * `id`需确此次播放中的唯一性。
124
+ * ***`type`需明确指定为`ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM_LIST`***
125
+ * ***`intercept`方法的参数`params`中`params[0]`即`ESMediaItemList`。 在次方法中进行业务逻辑,需要返回`promise`。
126
+ 如果业务逻辑认为拦截成功则需返回`Promise.resolve(ESPlayerInterceptResult)`此时`ESPlayerInterceptResult`中的`result`字段会全部赋值到
127
+ `ESMediaSourceList`播放继续进行。 如果业务逻辑认为拦截失败则返回`Promise.reject()`播放返回错误,终止进行。***
128
+ * `release`方法中有需回收资源
129
+
130
+ ```ts
131
+ export function createESPlayerMediaItemListInterceptor(): ESIPlayerInterceptor {
132
+
133
+ function intercept(...params: Array<any>): Promise<ESPlayerInterceptResult> {
134
+ const mediaItemList = params[0] as ESMediaItemList
135
+ mediaItemList.metadata = '拦截器添加的附加信息'
136
+ const mediaSource: ESMediaSource = {
137
+ uri: 'http://qcloudcdn.a311.ottcn.com/data_center/videos/SHORT/DEFAULT/2023/08/25/7d3623ae-c002-4929-b5a2-fe10bca06bfc.mp4'
138
+ }
139
+ const mediaSourceList: ESMediaSourceList = {
140
+ index: 0,
141
+ list: [mediaSource]
142
+ }
143
+ const mediaItem: ESMediaItem = {
144
+ mediaSourceList,
145
+ }
146
+
147
+ const result: ESPlayerInterceptResult = {
148
+ result: {
149
+ list: [mediaItem],
150
+ desc: '拦截器添加的新的字段'
151
+ }
152
+ }
153
+ return Promise.resolve(result)
154
+ // return Promise.reject('模拟失败')
155
+ }
156
+
157
+ function release(): void {
158
+ //
159
+ }
160
+
161
+ return {
162
+ id: 'ESPlayerMediaItemListInterceptor',
163
+ type: ESPlayerInterceptorType.ES_PLAYER_INTERCEPTOR_TYPE_MEDIA_ITEM_LIST,
164
+ intercept,
165
+ release
166
+ }
167
+ }
168
+
169
+ ```
170
+
171
+ #### 第二步、注册局部拦截器
172
+
173
+ ```ts
174
+ //1.创建局部拦截器
175
+ const interceptor = createESPlayerMediaItemListInterceptor()
176
+ //2.注册局部拦截器
177
+ const playList: ESMediaItemList = {
178
+ index: 0,
179
+ list: [],
180
+ interceptors: [interceptor]
181
+ }
182
+ playerManager.value?.initialize()
183
+ ```
184
+
185
+ :::demo ## 完整示例
186
+
187
+ component/player-manager/media-item-list-interceptor
188
+
189
+ :::
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: PlayerManager
3
+ lang: zh-CN
4
+ ---
5
+
6
+ # 操作播放列表
7
+
8
+ 某些业务场景下,播放列表可能需要异步获取,或者需要分页获取,这个时候就需要动态操作播放列表。
9
+
10
+ ## 操作播放列表
11
+
12
+ * 向播放列表末尾添加数据:`addMediaToLast(mediaItemList: Array<ESMediaItem>): void;`
13
+ * 向播放列表头部添加数据:`addMediaToFirst(mediaItemList: Array<ESMediaItem>): void;`
14
+ * 向播放列表指定索引添加数据:`addMediaToIndex(index: number, mediaItemList: Array<ESMediaItem>): void;`
15
+ * 替换播放列表中指定索引位置的数据:`replaceMedia(beginIndex: number, mediaItemList: Array<ESMediaItem>): void;`
16
+ * 重置清空播放列表:`resetMediaList(): void;`
17
+
18
+ ## 获取正在播放媒资信息
19
+
20
+ * 获取播放列表:`getMediaList(): SparseArray<ESMediaItem> | null;`
21
+ * 获取正在播放的`ESMediaItem`的索引:`getPlayingMediaIndex(): number;`
22
+ * 获取正在播放的`ESMediaItem`:`getPlayingMedia(): ESMediaItem | null;`
23
+ * 获取正在播放的`ESMediaSourceList`:`getMediaSourceList(): Array<ESMediaSource> | null;`
24
+ * 获取正在播放的`ESMediaSource`的索引:`getPlayingMediaSourceIndex(): number;`
25
+ * 获取正在播放的`ESMediaSource`:`getPlayingMediaSource(): ESMediaSource | null;`
26
+
27
+ :::demo ## 完整示例
28
+
29
+ component/player-manager/media-item-list
30
+
31
+ :::