@quicktvui/ai 1.0.7 → 1.0.8
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/package.json +1 -1
- package/rules/.clinerules +27 -4
- package/rules/.cursorrules +27 -4
- package/rules/.github/copilot-instructions.md +27 -4
- package/rules/.source/hippy/extend_views/CoverFlowHorizontalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowVerticalView.java +203 -0
- package/rules/.source/hippy/extend_views/CoverFlowViewController.java +195 -0
- package/rules/.source/hippy/extend_views/EngineRootView.java +125 -0
- package/rules/.source/hippy/extend_views/ExtendTag.java +83 -0
- package/rules/.source/hippy/extend_views/FocusSearchHelper.java +124 -0
- package/rules/.source/hippy/extend_views/IRecyclerItemView.java +12 -0
- package/rules/.source/hippy/extend_views/JSEventHandleView.java +5 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayManager.java +133 -0
- package/rules/.source/hippy/extend_views/MarqueeRelayTextView.java +211 -0
- package/rules/.source/hippy/extend_views/ProgressBarView.java +83 -0
- package/rules/.source/hippy/extend_views/ProgressBarViewController.java +145 -0
- package/rules/.source/hippy/extend_views/SeekBarView.java +104 -0
- package/rules/.source/hippy/extend_views/SeekBarViewController.java +218 -0
- package/rules/.source/hippy/extend_views/StateImageView.java +149 -0
- package/rules/.source/hippy/extend_views/StateImageViewController.java +34 -0
- package/rules/.source/hippy/extend_views/TVButtonView.java +314 -0
- package/rules/.source/hippy/extend_views/TVButtonViewController.java +89 -0
- package/rules/.source/hippy/extend_views/TVTextView.java +684 -0
- package/rules/.source/hippy/extend_views/TVViewActor.java +811 -0
- package/rules/.source/hippy/extend_views/TVViewActorHost.java +6 -0
- package/rules/.source/hippy/extend_views/TVViewActor/346/216/245/345/205/245.md +66 -0
- package/rules/.source/hippy/extend_views/TemplateUtil.java +336 -0
- package/rules/.source/hippy/extend_views/TextButtonNode.java +47 -0
- package/rules/.source/hippy/extend_views/TextViewController.java +377 -0
- package/rules/.source/hippy/extend_views/fastlist/CenterFlyInAnimator.java +96 -0
- package/rules/.source/hippy/extend_views/fastlist/ChildOnScreenScroller.java +548 -0
- package/rules/.source/hippy/extend_views/fastlist/ClonedViewTag.java +17 -0
- package/rules/.source/hippy/extend_views/fastlist/EventDeliverer.java +55 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapter.java +4683 -0
- package/rules/.source/hippy/extend_views/fastlist/FastAdapterUtil.java +982 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexNode.java +48 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexView.java +873 -0
- package/rules/.source/hippy/extend_views/fastlist/FastFlexViewController.java +130 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemNode.java +67 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemView.java +306 -0
- package/rules/.source/hippy/extend_views/fastlist/FastItemViewController.java +106 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListModule.java +95 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListNode.java +90 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView.java +2466 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListViewController.java +1038 -0
- package/rules/.source/hippy/extend_views/fastlist/FastListView/346/270/262/346/237/223/346/265/201/347/250/213/345/233/276.graffle +0 -0
- package/rules/.source/hippy/extend_views/fastlist/FastPendingView.java +47 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemDecorations.java +71 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreNode.java +64 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreView.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/ItemStoreViewController.java +45 -0
- package/rules/.source/hippy/extend_views/fastlist/ListItemHolder.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/ListViewControlProp.java +41 -0
- package/rules/.source/hippy/extend_views/fastlist/MouseRecycleView.java +509 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemClickListener.java +12 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastItemFocusChangeListener.java +9 -0
- package/rules/.source/hippy/extend_views/fastlist/OnFastScrollStateChangedListener.java +7 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingListNode.java +18 -0
- package/rules/.source/hippy/extend_views/fastlist/PendingViewController.java +13 -0
- package/rules/.source/hippy/extend_views/fastlist/PostHandlerView.java +6 -0
- package/rules/.source/hippy/extend_views/fastlist/PostTaskHolder.java +20 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildController.java +105 -0
- package/rules/.source/hippy/extend_views/fastlist/ReplaceChildView.java +312 -0
- package/rules/.source/hippy/extend_views/fastlist/TVListView.java +3692 -0
- package/rules/.source/hippy/extend_views/fastlist/TemplateCodeParser.java +247 -0
- package/rules/.source/hippy/extend_views/fastlist/Utils.java +572 -0
- package/rules/.source/hippy/extend_views/fastlist/ViewTag.java +317 -0
- package/rules/.source/hippy/extend_views/fastlist/VirtualListView.java +8 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/FastListDataBindingHelper.java +320 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/KeyDiffHelper.java +289 -0
- package/rules/.source/hippy/extend_views/fastlist/diff/NoKeyDiffHelper.java +278 -0
- package/rules/.source/hippy/extend_views/tag/FontTag.java +53 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTag.java +191 -0
- package/rules/.source/hippy/extend_views/tag/HtmlTagHandler.java +185 -0
- package/rules/.source/hippy/extend_views/tag/SpanTag.java +160 -0
- package/rules/.source/hippy/extend_views/tag/TextFontSpan.java +102 -0
- package/rules/.source/hippy/extend_views/waterfall/Chunk.java +10 -0
- package/rules/.source/hippy/extend_views/waterfall/ChunkGroup.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/Section.java +4 -0
- package/rules/.source/hippy/extend_views/waterfall/Tabs.java +5 -0
- package/rules/.source/hippy/extend_views/waterfall/WaterfallUtils.java +26 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerHolder.java +30 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerManager.java +651 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerRegistry.java +102 -0
- package/rules/.source/hippy/hippy_uimanager/ControllerUpdateManger.java +252 -0
- package/rules/.source/hippy/hippy_uimanager/CustomControllerHelper.java +425 -0
- package/rules/.source/hippy/hippy_uimanager/DiffUtils.java +526 -0
- package/rules/.source/hippy/hippy_uimanager/ExtendViewGroup.java +36 -0
- package/rules/.source/hippy/hippy_uimanager/HippyCustomViewCreator.java +29 -0
- package/rules/.source/hippy/hippy_uimanager/HippyGroupController.java +83 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewBase.java +27 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewController.java +2189 -0
- package/rules/.source/hippy/hippy_uimanager/HippyViewEvent.java +52 -0
- package/rules/.source/hippy/hippy_uimanager/IHippyZIndexViewGroup.java +24 -0
- package/rules/.source/hippy/hippy_uimanager/InternalExtendViewUtil.java +395 -0
- package/rules/.source/hippy/hippy_uimanager/ListItemRenderNode.java +143 -0
- package/rules/.source/hippy/hippy_uimanager/ListViewRenderNode.java +44 -0
- package/rules/.source/hippy/hippy_uimanager/MatrixUtil.java +470 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureDispatcher.java +349 -0
- package/rules/.source/hippy/hippy_uimanager/NativeGestureProcessor.java +188 -0
- package/rules/.source/hippy/hippy_uimanager/PullFooterRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/PullHeaderRenderNode.java +43 -0
- package/rules/.source/hippy/hippy_uimanager/RenderManager.java +304 -0
- package/rules/.source/hippy/hippy_uimanager/RenderNode.java +533 -0
- package/rules/.source/hippy/hippy_uimanager/StateView.java +17 -0
- package/rules/.source/hippy/hippy_uimanager/TransformUtil.java +125 -0
- package/rules/.source/hippy/hippy_uimanager/ViewGroupDrawingOrderHelper.java +108 -0
- package/rules/.source/hippy/hippy_uimanager/ViewStateProvider.java +10 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioPlayManager.java +457 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioView.java +225 -0
- package/rules/.source/hippy/hippy_views/audioview/AudioViewController.java +135 -0
- package/rules/.source/hippy/hippy_views/common/CommonBackgroundDrawable.java +58 -0
- package/rules/.source/hippy/hippy_views/common/CommonBorder.java +37 -0
- package/rules/.source/hippy/hippy_views/custom/HippyCustomPropsController.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerListAdapter.java +399 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerView.java +378 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewController.java +187 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewHolder.java +39 -0
- package/rules/.source/hippy/hippy_views/hippylist/HippyRecyclerViewWrapper.java +134 -0
- package/rules/.source/hippy/hippy_views/hippylist/NodePositionHelper.java +55 -0
- package/rules/.source/hippy/hippy_views/hippylist/PreloadHelper.java +54 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullFooterEventHelper.java +61 -0
- package/rules/.source/hippy/hippy_views/hippylist/PullHeaderEventHelper.java +127 -0
- package/rules/.source/hippy/hippy_views/hippylist/RecyclerViewEventHelper.java +394 -0
- package/rules/.source/hippy/hippy_views/image/HippyContentDrawable.java +113 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageView.java +1608 -0
- package/rules/.source/hippy/hippy_views/image/HippyImageViewController.java +382 -0
- package/rules/.source/hippy/hippy_views/image/IImageStateListener.java +7 -0
- package/rules/.source/hippy/hippy_views/list/ChildOnScreenScroller.java +255 -0
- package/rules/.source/hippy/hippy_views/list/HippyListAdapter.java +647 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemView.java +162 -0
- package/rules/.source/hippy/hippy_views/list/HippyListItemViewController.java +45 -0
- package/rules/.source/hippy/hippy_views/list/HippyListView.java +915 -0
- package/rules/.source/hippy/hippy_views/list/HippyListViewController.java +622 -0
- package/rules/.source/hippy/hippy_views/list/HippyRecycler.java +31 -0
- package/rules/.source/hippy/hippy_views/list/IRecycleItemTypeChange.java +23 -0
- package/rules/.source/hippy/hippy_views/list/ItemDecorations.java +70 -0
- package/rules/.source/hippy/hippy_views/list/NegativeLongKeyFlinger.java +156 -0
- package/rules/.source/hippy/hippy_views/list/NodeHolder.java +34 -0
- package/rules/.source/hippy/hippy_views/list/RecycleViewFlinger.java +126 -0
- package/rules/.source/hippy/hippy_views/list/TVRecyclerView.java +2070 -0
- package/rules/.source/hippy/hippy_views/list/TVSingleLineListView.java +15 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostManager.java +102 -0
- package/rules/.source/hippy/hippy_views/modal/HippyModalHostView.java +597 -0
- package/rules/.source/hippy/hippy_views/modal/ModalHostHelper.java +46 -0
- package/rules/.source/hippy/hippy_views/modal/ModalStyleNode.java +34 -0
- package/rules/.source/hippy/hippy_views/modal/RequestCloseEvent.java +32 -0
- package/rules/.source/hippy/hippy_views/modal/ShowEvent.java +31 -0
- package/rules/.source/hippy/hippy_views/navigator/Navigator.java +126 -0
- package/rules/.source/hippy/hippy_views/navigator/NavigatorController.java +120 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterView.java +47 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullFooterViewController.java +65 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderView.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/HippyPullHeaderViewController.java +104 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapper.java +237 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperController.java +62 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemController.java +39 -0
- package/rules/.source/hippy/hippy_views/refresh/RefreshWrapperItemView.java +26 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyHorizontalScrollView.java +500 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyOnScrollHelper.java +39 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollView.java +46 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewController.java +178 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyScrollViewEventHelper.java +92 -0
- package/rules/.source/hippy/hippy_views/scroll/HippyVerticalScrollView.java +522 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextView.java +512 -0
- package/rules/.source/hippy/hippy_views/text/HippyTextViewController.java +77 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInput.java +668 -0
- package/rules/.source/hippy/hippy_views/textinput/HippyTextInputController.java +528 -0
- package/rules/.source/hippy/hippy_views/textinput/TextInputNode.java +115 -0
- package/rules/.source/hippy/hippy_views/videoview/APEZProvider.java +287 -0
- package/rules/.source/hippy/hippy_views/videoview/APKExpansionSupport.java +82 -0
- package/rules/.source/hippy/hippy_views/videoview/PivotPoint.java +13 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableType.java +34 -0
- package/rules/.source/hippy/hippy_views/videoview/ScalableVideoView.java +265 -0
- package/rules/.source/hippy/hippy_views/videoview/ScaleManager.java +191 -0
- package/rules/.source/hippy/hippy_views/videoview/Size.java +19 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyView.java +917 -0
- package/rules/.source/hippy/hippy_views/videoview/VideoHippyViewController.java +236 -0
- package/rules/.source/hippy/hippy_views/videoview/ZipResourceFile.java +427 -0
- package/rules/.source/hippy/hippy_views/view/CardRootView.java +28 -0
- package/rules/.source/hippy/hippy_views/view/CustomLayoutView.java +10 -0
- package/rules/.source/hippy/hippy_views/view/CustomNodeView.java +5 -0
- package/rules/.source/hippy/hippy_views/view/DialogViewGroup.java +113 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroup.java +2042 -0
- package/rules/.source/hippy/hippy_views/view/HippyViewGroupController.java +583 -0
- package/rules/.source/hippy/hippy_views/view/WindowRoot.java +5 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPager.java +308 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerAdapter.java +148 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerController.java +246 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItem.java +27 -0
- package/rules/.source/hippy/hippy_views/viewpager/HippyViewPagerItemController.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/ViewPagerPageChangeListener.java +114 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageItemExposureEvent.java +40 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollEvent.java +43 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageScrollStateChangedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/viewpager/event/HippyPageSelectedEvent.java +42 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebView.java +160 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewBridge.java +20 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewController.java +103 -0
- package/rules/.source/hippy/hippy_views/webview/HippyWebViewInner.java +77 -0
- package/rules/.windsurfrules +27 -4
- package/rules/AGENTS.md +27 -4
- package/rules/CLAUDE.md +27 -3
- package/rules/GEMINI.md +25 -3
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* Tencent is pleased to support the open source community by making Hippy available.
|
|
2
|
+
* Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
package com.tencent.mtt.hippy.views.webview;
|
|
17
|
+
|
|
18
|
+
import android.content.Context;
|
|
19
|
+
import android.view.KeyEvent;
|
|
20
|
+
import android.webkit.WebSettings;
|
|
21
|
+
import android.webkit.WebView;
|
|
22
|
+
|
|
23
|
+
@SuppressWarnings({"unused"})
|
|
24
|
+
class HippyWebViewInner extends WebView {
|
|
25
|
+
|
|
26
|
+
public HippyWebViewInner(Context context) {
|
|
27
|
+
super(context);
|
|
28
|
+
// 启用支持javascript
|
|
29
|
+
WebSettings settings = getSettings();
|
|
30
|
+
settings.setJavaScriptEnabled(true);
|
|
31
|
+
settings.setBuiltInZoomControls(true);
|
|
32
|
+
// 不显示webview缩放按钮
|
|
33
|
+
settings.setDisplayZoomControls(false);
|
|
34
|
+
settings.setDomStorageEnabled(true);
|
|
35
|
+
// 支持缩放
|
|
36
|
+
settings.setSupportZoom(true);
|
|
37
|
+
// 设置可以访问文件
|
|
38
|
+
settings.setAllowFileAccess(true);
|
|
39
|
+
//地理位置相关
|
|
40
|
+
settings.setGeolocationEnabled(true);
|
|
41
|
+
settings.setDatabaseEnabled(true);
|
|
42
|
+
settings.setLoadWithOverviewMode(true);
|
|
43
|
+
settings.setUseWideViewPort(true);
|
|
44
|
+
settings.setAppCacheEnabled(false);
|
|
45
|
+
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
|
|
46
|
+
settings.setSupportMultipleWindows(false);
|
|
47
|
+
settings.setAppCachePath(context.getDir("hwebview_appcache", 0).getPath());
|
|
48
|
+
settings.setDatabasePath(context.getDir("hwebview_databases", 0).getPath());
|
|
49
|
+
settings.setGeolocationDatabasePath(context.getDir("hwebview_geolocation", 0).getPath());
|
|
50
|
+
settings.setLoadsImagesAutomatically(true);
|
|
51
|
+
settings.setAllowContentAccess(false);
|
|
52
|
+
settings.setDatabaseEnabled(true);
|
|
53
|
+
settings.setDomStorageEnabled(true);
|
|
54
|
+
settings.setLoadWithOverviewMode(true);
|
|
55
|
+
settings.setUseWideViewPort(true);
|
|
56
|
+
settings.setBuiltInZoomControls(true);
|
|
57
|
+
settings.setDisplayZoomControls(false);
|
|
58
|
+
settings.setSupportZoom(true);
|
|
59
|
+
settings.setRenderPriority(WebSettings.RenderPriority.HIGH);
|
|
60
|
+
if (android.os.Build.VERSION.SDK_INT >= 26) {
|
|
61
|
+
settings.setSafeBrowsingEnabled(true);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// 改写物理按键——返回的逻辑
|
|
66
|
+
@Override
|
|
67
|
+
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
68
|
+
if (keyCode == KeyEvent.KEYCODE_BACK) {
|
|
69
|
+
if (canGoBack()) {
|
|
70
|
+
// 返回上一页面
|
|
71
|
+
goBack();
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return super.onKeyDown(keyCode, event);
|
|
76
|
+
}
|
|
77
|
+
}
|
package/rules/.windsurfrules
CHANGED
|
@@ -7,9 +7,18 @@
|
|
|
7
7
|
**AI MUST refer to the official documentation and source code below BEFORE generating any code. NEVER hallucinate component names, attribute names, or APIs. These are the ONLY authorities.**
|
|
8
8
|
|
|
9
9
|
1. **Local Docs, Examples & Source (PRIMARY)**: `node_modules/@quicktvui/ai/rules/.docs/` and `node_modules/@quicktvui/ai/rules/.source/` directories.
|
|
10
|
-
* **Component Docs**:
|
|
11
|
-
* **Example Code**: `.docs/examples/`
|
|
12
|
-
* **Framework Source
|
|
10
|
+
* **Component Docs**: `.docs/` for component, API, and CSS definitions.
|
|
11
|
+
* **Example Code**: `.docs/examples/` for verified best practices (pagination, focus, etc.).
|
|
12
|
+
* **Framework Source Map**: `.source/` contains the full-stack implementation. AI MUST locate source based on module:
|
|
13
|
+
* `quicktvui/`: Core Vue 3 UI component library implementation.
|
|
14
|
+
* `hippy/`: Android Native implementation (ViewController, UIManager).
|
|
15
|
+
* `ESPlayer*/ESVideoPlayer`: Media playback engines (Video, Audio, ADs).
|
|
16
|
+
* `ESPlayerManager`: High-level player window and playlist management.
|
|
17
|
+
* `ESRouter`: TV-optimized routing and navigation system.
|
|
18
|
+
* `ESCore`: Native module bridge, Storage, Toast, and System APIs.
|
|
19
|
+
* `ESVue*/ESVueStyleParser`: Custom Vue renderer and Style parser logic.
|
|
20
|
+
* `ESAxios`: Platform-optimized network library.
|
|
21
|
+
* `web/`: Polyfills for standard web tags.
|
|
13
22
|
|
|
14
23
|
2. **Official Docs**: https://quicktvui.com
|
|
15
24
|
3. **Core Library Samples**: https://github.com/quicktvui/quicktvui.git
|
|
@@ -403,4 +412,18 @@ export default defineComponent({
|
|
|
403
412
|
5. **Pagination & Load More Rules (CRITICAL)**:
|
|
404
413
|
* **`qt-tabs` (Tabs Waterfall)**: **MUST** use **`@onTabPageLoadData="onTabPageLoadData"`**. Append data via `addPageData`.
|
|
405
414
|
* **`qt-waterfall` (Single Waterfall)**: **NO native `loadMore` event**. Usually triggered via **`@onItemBind`** on the last section (e.g., a Loading Section) or by listening to **`@onScrollToBottom`** (if supported by parent).
|
|
406
|
-
* **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
|
|
415
|
+
* **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
|
|
416
|
+
|
|
417
|
+
### 7. Native Component Mapping & Deprecations
|
|
418
|
+
AI MUST understand the mapping between Vue components and Java Native controllers to avoid using deprecated logic:
|
|
419
|
+
|
|
420
|
+
| Vue Component | Native Name (Hippy) | Java Class (PRIMARY) | Status |
|
|
421
|
+
| :--- | :--- | :--- | :--- |
|
|
422
|
+
| `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **Recommended** |
|
|
423
|
+
| `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
|
|
424
|
+
| `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
|
|
425
|
+
| `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **Active** |
|
|
426
|
+
| **(Deprecated)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **DEPRECATED** |
|
|
427
|
+
| **(Deprecated)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **DEPRECATED** |
|
|
428
|
+
|
|
429
|
+
**Rule**: Always prefer source code in `.source/hippy/extend_views/`. Use `.source/hippy/hippy_views/` only as a secondary fallback.
|
package/rules/AGENTS.md
CHANGED
|
@@ -7,9 +7,18 @@
|
|
|
7
7
|
**AI MUST refer to the official documentation and source code below BEFORE generating any code. NEVER hallucinate component names, attribute names, or APIs. These are the ONLY authorities.**
|
|
8
8
|
|
|
9
9
|
1. **Local Docs, Examples & Source (PRIMARY)**: `node_modules/@quicktvui/ai/rules/.docs/` and `node_modules/@quicktvui/ai/rules/.source/` directories.
|
|
10
|
-
* **Component Docs**:
|
|
11
|
-
* **Example Code**: `.docs/examples/`
|
|
12
|
-
* **Framework Source
|
|
10
|
+
* **Component Docs**: `.docs/` for component, API, and CSS definitions.
|
|
11
|
+
* **Example Code**: `.docs/examples/` for verified best practices (pagination, focus, etc.).
|
|
12
|
+
* **Framework Source Map**: `.source/` contains the full-stack implementation. AI MUST locate source based on module:
|
|
13
|
+
* `quicktvui/`: Core Vue 3 UI component library implementation.
|
|
14
|
+
* `hippy/`: Android Native implementation (ViewController, UIManager).
|
|
15
|
+
* `ESPlayer*/ESVideoPlayer`: Media playback engines (Video, Audio, ADs).
|
|
16
|
+
* `ESPlayerManager`: High-level player window and playlist management.
|
|
17
|
+
* `ESRouter`: TV-optimized routing and navigation system.
|
|
18
|
+
* `ESCore`: Native module bridge, Storage, Toast, and System APIs.
|
|
19
|
+
* `ESVue*/ESVueStyleParser`: Custom Vue renderer and Style parser logic.
|
|
20
|
+
* `ESAxios`: Platform-optimized network library.
|
|
21
|
+
* `web/`: Polyfills for standard web tags.
|
|
13
22
|
|
|
14
23
|
2. **Official Docs**: https://quicktvui.com (390+ docs)
|
|
15
24
|
3. **Core Library Samples**: https://github.com/quicktvui/quicktvui.git (Core library + samples)
|
|
@@ -492,4 +501,18 @@ export default defineComponent({
|
|
|
492
501
|
5. **Pagination & Load More Rules (CRITICAL)**:
|
|
493
502
|
* **`qt-tabs` (Tabs Waterfall)**: **MUST** use **`@onTabPageLoadData="onTabPageLoadData"`**. Append data via `addPageData`.
|
|
494
503
|
* **`qt-waterfall` (Single Waterfall)**: **NO native `loadMore` event**. Usually triggered via **`@onItemBind`** on the last section (e.g., a Loading Section) or by listening to **`@onScrollToBottom`** (if supported by parent).
|
|
495
|
-
* **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
|
|
504
|
+
* **`qt-list-view` / `qt-grid-view`**: Support native `@loadMore="loadMoreFn"` with `pageNo` parameter.
|
|
505
|
+
|
|
506
|
+
### 7. Native Component Mapping & Deprecations
|
|
507
|
+
AI MUST understand the mapping between Vue components and Java Native controllers to avoid using deprecated logic:
|
|
508
|
+
|
|
509
|
+
| Vue Component | Native Name (Hippy) | Java Class (PRIMARY) | Status |
|
|
510
|
+
| :--- | :--- | :--- | :--- |
|
|
511
|
+
| `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **Recommended** |
|
|
512
|
+
| `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
|
|
513
|
+
| `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **Recommended** |
|
|
514
|
+
| `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **Active** |
|
|
515
|
+
| **(Deprecated)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **DEPRECATED** |
|
|
516
|
+
| **(Deprecated)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **DEPRECATED** |
|
|
517
|
+
|
|
518
|
+
**Rule**: Always prefer source code in `.source/hippy/extend_views/`. Use `.source/hippy/hippy_views/` only as a secondary fallback.
|
package/rules/CLAUDE.md
CHANGED
|
@@ -7,9 +7,18 @@
|
|
|
7
7
|
**AI 在生成代码前,必须严格参考以下权威来源,严禁凭空想象任何组件名、属性名或 API。这是所有代码的唯一依据。**
|
|
8
8
|
|
|
9
9
|
1. **本地文档、示例与源码 (PRIMARY)**:`node_modules/@quicktvui/ai/rules/.docs/` 和 `node_modules/@quicktvui/ai/rules/.source/` 目录。
|
|
10
|
-
*
|
|
11
|
-
* **示例代码**:`.docs/examples/`
|
|
12
|
-
*
|
|
10
|
+
* **组件文档**:`.docs/` 提供组件、API 及 CSS 的详细定义。
|
|
11
|
+
* **示例代码**:`.docs/examples/` 是经过验证的最佳实践(分页、焦点等)。
|
|
12
|
+
* **框架源码地图**:`.source/` 包含框架的全栈实现,AI 必须根据模块定位源码:
|
|
13
|
+
* `quicktvui/`: 核心 Vue 3 UI 组件库实现。
|
|
14
|
+
* `hippy/`: Android Native 层实现 (ViewController, UIManager)。
|
|
15
|
+
* `ESPlayer*/ESVideoPlayer`: 视频、音频及广告播放核心引擎。
|
|
16
|
+
* `ESPlayerManager`: 高级播放器窗口管理、列表流转逻辑。
|
|
17
|
+
* `ESRouter`: 适配 TV 端的路由与导航系统。
|
|
18
|
+
* `ESCore`: 原生桥接层、存储、提示及系统级 API。
|
|
19
|
+
* `ESVue*/ESVueStyleParser`: 自定义 Vue 渲染器及样式解析器实现。
|
|
20
|
+
* `ESAxios`: 针对平台优化的网络请求库。
|
|
21
|
+
* `web/`: Web 标准标签适配层。
|
|
13
22
|
|
|
14
23
|
2. **官方文档**:https://quicktvui.com (官网 390+ 篇详细文档)
|
|
15
24
|
3. **核心库示例**:https://github.com/quicktvui/quicktvui.git (Core library + samples)
|
|
@@ -867,3 +876,18 @@ export default defineComponent({
|
|
|
867
876
|
}
|
|
868
877
|
</style>
|
|
869
878
|
```
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
### 7. Native 组件映射与废弃说明 (Component Mapping & Deprecations)
|
|
882
|
+
AI 必须了解 Vue 组件与 Java Native 层的对应关系,避免查阅已废弃的源码:
|
|
883
|
+
|
|
884
|
+
| Vue 组件 | Native 名称 (Hippy) | 对应 Java 类 (PRIMARY) | 状态 |
|
|
885
|
+
| :--- | :--- | :--- | :--- |
|
|
886
|
+
| `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **推荐** |
|
|
887
|
+
| `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
|
|
888
|
+
| `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
|
|
889
|
+
| `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **常用** |
|
|
890
|
+
| **(已废弃)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **废弃** |
|
|
891
|
+
| **(已废弃)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **废弃** |
|
|
892
|
+
|
|
893
|
+
**注意**:查阅源码时,优先进入 `.source/hippy/extend_views/` 目录。只有当该目录下没有对应组件时,才查阅 `.source/hippy/hippy_views/`。
|
package/rules/GEMINI.md
CHANGED
|
@@ -7,9 +7,18 @@
|
|
|
7
7
|
**AI 在生成代码前,必须严格参考以下权威来源,严禁凭空想象任何组件名、属性名或 API。这是所有代码的唯一依据。**
|
|
8
8
|
|
|
9
9
|
1. **本地文档、示例与源码 (PRIMARY)**:`node_modules/@quicktvui/ai/rules/.docs/` 和 `node_modules/@quicktvui/ai/rules/.source/` 目录。
|
|
10
|
-
*
|
|
11
|
-
* **示例代码**:`.docs/examples/`
|
|
12
|
-
*
|
|
10
|
+
* **组件文档**:`.docs/` 提供组件、API 及 CSS 的详细定义。
|
|
11
|
+
* **示例代码**:`.docs/examples/` 是经过验证的最佳实践(分页、焦点等)。
|
|
12
|
+
* **框架源码地图**:`.source/` 包含框架的全栈实现,AI 必须根据模块定位源码:
|
|
13
|
+
* `quicktvui/`: 核心 Vue 3 UI 组件库实现。
|
|
14
|
+
* `hippy/`: Android Native 层实现 (ViewController, UIManager)。
|
|
15
|
+
* `ESPlayer*/ESVideoPlayer`: 视频、音频及广告播放核心引擎。
|
|
16
|
+
* `ESPlayerManager`: 高级播放器窗口管理、列表流转逻辑。
|
|
17
|
+
* `ESRouter`: 适配 TV 端的路由与导航系统。
|
|
18
|
+
* `ESCore`: 原生桥接层、存储、提示及系统级 API。
|
|
19
|
+
* `ESVue*/ESVueStyleParser`: 自定义 Vue 渲染器及样式解析器实现。
|
|
20
|
+
* `ESAxios`: 针对平台优化的网络请求库。
|
|
21
|
+
* `web/`: Web 标准标签适配层。
|
|
13
22
|
|
|
14
23
|
2. **官方文档**:https://quicktvui.com (官网 390+ 篇详细文档)
|
|
15
24
|
3. **核心库示例**:https://github.com/quicktvui/quicktvui.git
|
|
@@ -63,6 +72,19 @@ AI 在编写业务逻辑时,必须牢记以下框架特性,防止套用 Web
|
|
|
63
72
|
AI 在创建新项目时,必须遵循:`git clone` 官方模板 -> 清理 `.git` -> 修改 `package.json` -> `yarn install`。
|
|
64
73
|
|
|
65
74
|
---
|
|
75
|
+
### 7. Native 组件映射与废弃说明 (Component Mapping & Deprecations)
|
|
76
|
+
AI 必须了解 Vue 组件与 Java Native 层的对应关系,避免查阅已废弃的源码:
|
|
77
|
+
|
|
78
|
+
| Vue 组件 | Native 名称 (Hippy) | 对应 Java 类 (PRIMARY) | 状态 |
|
|
79
|
+
| :--- | :--- | :--- | :--- |
|
|
80
|
+
| `qt-text` | `TextView` | `com.tencent.extend.views.TextViewController` | **推荐** |
|
|
81
|
+
| `qt-list-view` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
|
|
82
|
+
| `qt-waterfall` | `FastListView` | `com.tencent.extend.views.fastlist.FastListViewController` | **推荐** |
|
|
83
|
+
| `qt-image` | `Image` | `com.tencent.mtt.hippy.views.image.HippyImageViewController` | **常用** |
|
|
84
|
+
| **(已废弃)** | `Text` | `com.tencent.mtt.hippy.views.text.HippyTextViewController` | **废弃** |
|
|
85
|
+
| **(已废弃)** | `ListView` | `com.tencent.mtt.hippy.views.list.HippyListViewController` | **废弃** |
|
|
86
|
+
|
|
87
|
+
**注意**:查阅源码时,优先进入 `.source/hippy/extend_views/` 目录。只有当该目录下没有对应组件时,才查阅 `.source/hippy/hippy_views/`。
|
|
66
88
|
|
|
67
89
|
## 📚 常用组件与 API (速查)
|
|
68
90
|
* **Back 键**:必须命名为 `onBackPressed`。
|