refactor: establish standalone application boundary
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# 切片 05:集合竞价、题材库、人气热榜与龙虎榜
|
||||
|
||||
> 基线:`814e757`(切片 04)
|
||||
> 回档标签:`xiaobai-preservation-slice-05-20260731`
|
||||
> 结论:源码、API、数据库、真实页面和全量回归通过;最终视觉仍等待全站人工验收
|
||||
|
||||
## 1. 原实现归位
|
||||
|
||||
本切片没有从`next/`取用代码,也没有重写计算、页面或接口。集合竞价、题材库和人气热榜原本
|
||||
共享`MarketInsightsService`,其中竞价候选会直接调用人气榜热度数据,因此整体移动到公共行情
|
||||
领域,避免拆出互相复制的实现;各页面入口仍按功能目录归位。
|
||||
|
||||
| 原位置 | 新的唯一实现位置 | 兼容方式 |
|
||||
|---|---|---|
|
||||
| `app/market_insights.py` | `app/backend/features/market/insights.py` | 根级模块导出同一类对象 |
|
||||
| `DashboardService`竞价入口 | `app/backend/features/auction/service.py` | `AuctionServiceMixin` |
|
||||
| `DashboardService`题材入口 | `app/backend/features/themes/service.py` | `ThemeServiceMixin` |
|
||||
| `DashboardService`人气入口 | `app/backend/features/popularity/service.py` | `PopularityServiceMixin` |
|
||||
| `DashboardService`龙虎榜及游资档案 | `app/backend/features/dragon_tiger/service.py` | `DragonTigerServiceMixin` |
|
||||
| 竞价、人气、龙虎榜持久化方法 | 对应功能目录的`repository.py` | `ReviewDatabase`继承原接口 |
|
||||
|
||||
Tushare Provider 中`hot_money_profiles`与`dragon_tiger`继续保持切片02归位的唯一实现,没有为目录
|
||||
形式再制造一套数据构造逻辑。
|
||||
|
||||
## 2. 源码与接口等价
|
||||
|
||||
- `test_preservation_slice_market_insights.py`逐项比较22个市场洞察方法、8个页面服务方法、7个
|
||||
Repository方法和2个Tushare方法,全部与根目录原版无位置信息AST一致。
|
||||
- `DashboardService`与`ReviewDatabase`不再重复保留已移动方法;根级`market_insights`与新模块
|
||||
暴露同一个`MarketInsightsService`类对象。
|
||||
- 原版`8784`和迁移版`8785`使用同一数据库的独立副本,集合竞价、题材库、题材详情、人气热榜、
|
||||
龙虎榜、游资档案和席位别名共7个真实API状态码及JSON一致。
|
||||
- 题材详情在当前外部网络条件下两版均返回HTTP 400;差分只排除每次请求随机生成的
|
||||
`request_id`,错误码与错误内容仍完全一致。
|
||||
- 完整接口摘要见`api-diff.json`。
|
||||
|
||||
## 3. 数据库差分
|
||||
|
||||
- 两个副本均为62个schema对象,哈希均为
|
||||
`60a4e044f0ddb6502e44b45f65bedc1a0a31d4bd596f386d4ccfe153a6c8ddd1`。
|
||||
- `auction_factors` 511914行、`popularity_factors` 232行、`lhb_institution_daily` 47行、
|
||||
`seat_aliases` 0行、`stock_master` 5535行均逐行一致。
|
||||
- 完整表计数与哈希见`database-diff.json`;运行数据库副本已在验收后删除,未提交凭据或正式数据。
|
||||
|
||||
## 4. 真实浏览器检查
|
||||
|
||||
- 1920×1080日间模式检查集合竞价、题材库、人气热榜和龙虎榜四页;均无横向溢出,控制台无
|
||||
错误或警告。
|
||||
- 集合竞价载入30行重点候选;题材库载入394个题材及选中题材成分股;人气热榜载入3个摘要
|
||||
模块和200行综合榜;龙虎榜按当前缓存显示既有不可用空态。
|
||||
- 四页HTML、主JS、CSS及各自页面JS与根目录原版字节哈希一致。
|
||||
- 截图SHA-256:
|
||||
- `app-light-auction-1920x1080.png`:`8065086c8f2b360aeb1004bd60429f3e2d7f1b8c872ec4a965e9a5d0c016b915`
|
||||
- `app-light-themes-1920x1080.png`:`80e1e41101497ee7213e1dadfaa4c9572a1c47b3495edd09e36745ccdb639402`
|
||||
- `app-light-popularity-1920x1080.png`:`614d6b7770f4e9ec72c059ab8a4129486df9eff5c4dd7e8279cc68ebcb80a36b`
|
||||
- `app-light-dragon-tiger-1920x1080.png`:`2f1e2ad3a9bc3874c73bae884fc8744177cef354c7176559da1453fab1f85993`
|
||||
|
||||
## 5. 自动验证与保留边界
|
||||
|
||||
| 验证 | 结果 |
|
||||
|---|---:|
|
||||
| `python -m unittest discover -s tests -q` | 258项通过 |
|
||||
| `python -m unittest tests.test_preservation_slice_market_insights -q` | 6项通过 |
|
||||
| `npx.cmd playwright test --reporter=dot` | 45项通过 |
|
||||
| `git diff --check` | 通过 |
|
||||
|
||||
- 竞价、人气和龙虎榜因子同时服务切片06智能选股,迁移后仍由`ReviewDatabase`原方法名暴露。
|
||||
- 前端资产保持原位置,切片10再按页面职责归档;本切片没有改DOM、CSS、动画或交互。
|
||||
- 没有删除待定代码、没有修改根目录正式数据库、没有切换Docker/NAS。
|
||||
Reference in New Issue
Block a user