clz
a07c497d7e
docs: rewrite project readme
2026-07-30 17:24:35 +08:00
clz
7b123ec5f9
refactor: reorganize first page card modules
2026-07-30 16:35:47 +08:00
clz
f75936a9bf
fix
2026-07-30 13:21:06 +08:00
clz
fa28d090aa
fix(ai-pick): derive tab count from detail list
2026-07-30 12:40:33 +08:00
clz
6521888224
refactor: reuse shared number formatter for ai pick
2026-07-29 19:25:05 +08:00
clz
f905dfef60
refactor(ai-pick): 统一管理页面地址资源
2026-07-28 19:00:38 +08:00
clz
f6e6edd367
fix(ai-pick): 补充末行底部分隔线
2026-07-28 16:52:13 +08:00
clz
7419e0ed71
fix(market-ranking): 持久化展开状态
2026-07-28 15:39:44 +08:00
clz
31571e4727
fix(ai-pick): 长表头单行自适应
2026-07-28 15:06:04 +08:00
clz
06ab4ca843
docs: 更新市场排名验证与代码审查记录
2026-07-28 15:05:52 +08:00
clz
499b0846d7
fix(market-ranking): 行点击增加item.market null guard,防止undefined时crash
2026-07-28 13:47:05 +08:00
clz
3ed8218f71
fix(ai-pick): 不足3条时表格高度自适应,去掉固定height约束
2026-07-28 13:41:58 +08:00
clz
305fcb9a7c
refactor(ai-pick): 主标签背景改用自建色bg_hotlist_orange,与CardHarmoyos/Vue一致
2026-07-28 13:34:55 +08:00
clz
c03b17ef98
refactor: 移除冗余transparent_white,统一使用tab_gradient_start
2026-07-28 13:26:28 +08:00
clz
5714291d5b
fix(ai-pick): 合约名称去掉layoutWeight,对齐Vue自然宽度策略,让主标签紧跟名称
2026-07-28 11:26:52 +08:00
clz
3dc83c4a3f
revert: ai-pick主合约标签间距恢复space:5(Vue ml-10rpx@750设计宽度等价于5vp)
2026-07-28 11:24:05 +08:00
clz
b2b203920f
fix(ai-pick): 主合约标签间距对齐Vue——space:5改为margin({left:10})
2026-07-28 11:19:52 +08:00
clz
d5ca2ba23f
fix(market-ranking): 最新价格式化与涨跌色对齐商品期权
...
- 去掉 formatPrice 的 .toFixed(2),改为直接显示原始数值
- 平盘/无值颜色从 price_even 改为 elements_text_primary_02,与商品期权 getPriceColor 逻辑一致
2026-07-28 11:16:43 +08:00
clz
da66f7233d
fix(ai-pick): complete quote handling and component organization
2026-07-27 20:53:52 +08:00
clz
0e5a82c518
remove localized AI Pick strings from HAR
...
Keep AI Pick and card explanation strings only in the base resource bundle so the HAR does not maintain locale-specific copies that belong to the host application.
2026-07-27 19:51:54 +08:00
clz
f57a0c3ebb
fix card gradients and AI Pick tag alignment
...
Use a theme-qualified tab gradient start color in both AI Pick and market ranking so the fade no longer introduces a white tint in dark mode.
Add light and dark resource variants, and wrap AI Pick strategy tags in a fixed-height centered container while preserving single-line ellipsis behavior.
2026-07-27 19:34:13 +08:00
clz
10dc2787df
add AI pick card
2026-07-27 17:22:29 +08:00
clz
30d9154086
fix market ranking state and quote rendering
2026-07-27 15:19:28 +08:00
clz
c05fc03fd8
document market ranking component split
2026-07-27 10:46:31 +08:00
clz
5af37bfa51
fix market ranking display fallbacks
2026-07-27 10:31:22 +08:00
clz
af0025ce38
Initial commit: @b2c/first_page HarmonyOS stage-mode HAR
...
## Repository
- HarmonyOS stage-mode HAR module, consumed by host app
- No standalone build — hvigorw, oh_modules, and ../biz_quote absent here
## Architecture
### Feed Cards
- FirstPage.createNodeView dispatches cards by FirstPageConstant.KEY_*
- Card config from first_page_cards_config.json loaded by FirstPageCardsConfigLoader
- Public entrypoint: Index.ets
### Market Ranking (src/main/ets/market-ranking/)
- HTTP: MarketRankingDataFetcher fetches recommend_futures contracts
- HQ: MarketRankingHqRequestClient subscribes via 4106/frame 2201/scenario qht_qihuo_sort
- TCP reconnect rebuilds subscription from original HTTP contract list
- Async callbacks guarded by request/subscription versions
### Other Cards
- HotList, CommodityOptions, AiDiagnosis, AiRiseFall, SelfSelectedStock, CustomEntryList, FourEntryList
- Each has DataFetcher + HQ request client + NodeComponent
## Key Changes (from CardHarmonyOS reference)
- Added MetricId, PeriodId, SortOrder enums (MarketRankingModels.ets)
- Replaced string comparisons with enum switches in thirdColumnTitle/Value/Color
- Removed redundant undefined guards in thirdColumnColor/priceColor, delegated to riseFallColor
- Inlined priceColor(), use riseFallColor directly
- Tab bar Stack.height(30), Alignment.End (reverted from 46/TopEnd)
- Name column fontWeight removed (default regular)
2026-07-26 01:13:28 +08:00