document market ranking component split
This commit is contained in:
@@ -36,6 +36,29 @@
|
|||||||
- DataFetcher 仅使用 `api` / `hasPeriods`;行情客户端仅使用 `sortId` / `sortOrder`。
|
- DataFetcher 仅使用 `api` / `hasPeriods`;行情客户端仅使用 `sortId` / `sortOrder`。
|
||||||
- 删除旧 `TabMetric.label`、`PeriodRange.label` 字段及相关 `ResourceStr` 依赖。
|
- 删除旧 `TabMetric.label`、`PeriodRange.label` 字段及相关 `ResourceStr` 依赖。
|
||||||
|
|
||||||
|
## 后续优化设计:拆分 MarketRankingNodeComponent
|
||||||
|
|
||||||
|
`MarketRankingNodeComponent.ets` 当前同时负责页面状态、生命周期、HTTP 请求编排、HQ 订阅、TCP 重连、
|
||||||
|
跳转参数、展示计算和 UI 构建。后续按以下职责拆分:
|
||||||
|
|
||||||
|
- `MarketRankingNodeComponent.ets`:继续作为唯一状态拥有者,保留 `@State`、生命周期、请求/订阅版本保护、
|
||||||
|
Tab 选择、跳转和子组件回调编排。
|
||||||
|
- `MarketRankingDisplayHelper.ets`:承载第三列标题、值、颜色、展示行数和空状态高度等纯展示计算。
|
||||||
|
- `components/MarketRankingTitleBar.ets`:标题、说明入口和展开/收起交互。
|
||||||
|
- `components/MarketRankingTabBar.ets`:一级/二级 Tab,以及滚动宽度、偏移量和右侧渐变等局部 UI 状态。
|
||||||
|
- `components/MarketRankingTable.ets`:表头、加载/空状态、行情行和行点击回调。
|
||||||
|
- `components/MarketRankingExplainSheet.ets`:说明弹层内容;`bindSheet` 显隐状态仍由主组件控制。
|
||||||
|
|
||||||
|
分阶段实施,避免重构时破坏行情时序:
|
||||||
|
|
||||||
|
1. 先拆业务/UI 配置和纯展示计算,不改变请求及订阅流程。
|
||||||
|
2. 再拆 `TabBar` 和 `Table`,主组件通过明确参数和回调传递状态。
|
||||||
|
3. 最后清理无效 `isDarkMode` 状态、未使用回调参数、重复布局常量及命名不一致。
|
||||||
|
|
||||||
|
暂不把 HTTP、HQ、请求版本、页面可见性和 TCP 重连拆入多个 ViewModel/Controller。这些逻辑存在严格的
|
||||||
|
“旧请求失效 → 释放订阅 → HTTP 返回 → 版本校验 → HQ 订阅 → 回调校验”时序;应先完成宿主生命周期和
|
||||||
|
重连验证,再评估是否继续抽取控制器。
|
||||||
|
|
||||||
## 仍需在宿主工程确认
|
## 仍需在宿主工程确认
|
||||||
|
|
||||||
### 1. 行情字段
|
### 1. 行情字段
|
||||||
|
|||||||
Reference in New Issue
Block a user