document market ranking component split
This commit is contained in:
@@ -36,6 +36,29 @@
|
||||
- DataFetcher 仅使用 `api` / `hasPeriods`;行情客户端仅使用 `sortId` / `sortOrder`。
|
||||
- 删除旧 `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. 行情字段
|
||||
|
||||
Reference in New Issue
Block a user