refactor(hq): 抽离卡片行情订阅客户端

This commit is contained in:
clz
2026-07-24 13:58:22 +08:00
parent 63fcb9cbaa
commit 66151d78a0
11 changed files with 469 additions and 365 deletions
+6 -5
View File
@@ -1,7 +1,7 @@
# 市场排名接口文档
本文记录 `MarketRankingNodeComponent` 卡片使用的合约榜单 HTTP 接口及 4106 行情订阅协议。当前实现位于
`entry/src/main/ets/market-ranking/MarketRankingDataFetcher.ets`
本文记录 `MarketRankingNodeComponent` 卡片使用的合约榜单 HTTP 接口及 4106 行情订阅协议。HTTP
实现位于 `MarketRankingDataFetcher.ets`,行情实现位于 `MarketRankingHqRequestClient.ets`
## 合约榜单 HTTP 接口
@@ -93,12 +93,13 @@ GET {API_HOST}futgwapi/api/market/homepage/v1/recommend_futures
| `chg_speed_10min` | 34875 | 10 分钟涨跌速 |
| `chg_speed_15min` | 34876 | 15 分钟涨跌速 |
原始推送为“字段 ID → 数组”的分列结构,相同数组下标表示同一合约。Fetcher 将其合并为
`RankItem[]`,再通过完整替换 `CardData` 刷新 UI。
鸿蒙原始推送为 `TableData` 行式结构。`tableRows` 中每个 Row 代表一份合约行情,通过
`row.get(字段 ID)` 读取对应值。`MarketRankingHqRequestClient` 将其转换为 `RankItem[]`,再通过
完整替换 `CardData` 刷新 UI。
## 当前 Mock 行为
- HTTP:使用 `@ohos.net.http` 构造 GET URL 和请求选项,但不调用 `request()`
- 行情:构造并输出完整 4106 参数,不连接真实行情桥。
- 行情:构造并输出完整 4106 参数,不连接真实行情桥Mock 使用 `tableRows + row.get(id)` 模拟回调
- Mock 行情每 `2500ms` 推送一次,与 `pushtime=2.5` 保持一致。
- 每次请求及订阅参数均使用 `[MarketRanking]` 前缀输出到控制台。