4.2 KiB
4.2 KiB
切片 03:情绪周期、五类股池与涨停表现
基线:
a426432(切片 02) 回档标签:xiaobai-preservation-slice-03-20260731结论:源码、API、数据库、真实页面和浏览器回归通过;最终视觉仍等待全站人工验收
1. 原实现归位
本切片只移动原版副本中的真实实现,没有从 next/ 取用代码,也没有改写情绪公式、股池数据、
原因补全、表格、样式或交互。
| 原位置 | 新的唯一实现位置 | 原位置兼容 |
|---|---|---|
app/backend/application.py 的 2 个情绪服务方法 |
app/backend/features/sentiment/service.py |
DashboardService 继承 SentimentServiceMixin |
app/backend/application.py 的 6 个股池原因及事件补全方法 |
app/backend/features/pools/service.py |
DashboardService 继承 PoolServiceMixin |
app/database.py 的 2 个原因覆盖方法 |
app/backend/features/pools/repository.py |
ReviewDatabase 继承 PoolRepositoryMixin |
app/sentiment_engine.py |
app/backend/features/sentiment/engine.py |
根模块为同一模块对象的兼容别名 |
五类股池、涨停梯队和涨停表现仍由切片 02 已归位的原 Tushare 总览实现生成,本切片没有建立第二套 计算或数据来源。
2. 等价证据
test_preservation_slice_sentiment_pools.py对 8 个业务方法和 2 个 Repository 方法逐项执行无位置 信息 AST 比较,全部与根目录原版server.py、database.py完全相同。- 新的情绪引擎文件与原版
sentiment_engine.pySHA-256 完全相同;根级兼容模块与新模块是同一模块对象。 - 已归位的应用、行情服务、Tushare Provider、演示数据和选股模块直接导入新的唯一实现;Tushare Provider 仅调整该导入,其全部类和函数 AST 继续与原版一致。
- 原版
8784与迁移版8785在相同账号、日期和数据库副本上请求/api/dashboard与/api/sentiment/history,JSON 状态、字段、值和顺序完全相同。 - 2026-07-30 的同请求结果均为:涨停 56、炸板 23、跌停 83、昨日涨停 81、情绪历史 20 日。
- 原版和迁移版数据库均为 62 个 schema 对象,schema 哈希均为
17918327f8b919496e6630458293f9f777c7c24662625bb3fc0b64ff0a8fbeef。 config/api.config.json、API 路径、鉴权和app/static/未修改。app-light-1920x1080.png是真实迁移服务载入完成后的情绪周期页面,SHA-256 为e387417abbe0667e00875a8d4061b5546748ecf2452a692d06d078d516330dab。
3. 真实运行检查
- 迁移副本:
http://127.0.0.1:8785/,管理员会话与缓存行情载入正常。 - 情绪周期:20 个连续交易日、当前阶段、评分构成和交易日明细均完整显示。
- 股池:涨停池 56 行、炸板池 23 行、跌停池 83 行、昨日涨停 81 行。
- 涨停表现:四档晋级率、市场宽度和今日结论均显示原版结果。
- 1920×1080 下六个页面横向溢出均为 0;日间、夜间背景与面板状态正常;浏览器控制台无迁移错误。
4. 自动验证
| 验证 | 结果 |
|---|---|
python -m unittest discover -s tests -q |
248 项通过 |
python -m unittest tests.test_preservation_slice_sentiment_pools -q |
6 项通过 |
| 情绪、总览、缓存、iFinD 与前端契约专项集合 | 48 项通过 |
npx.cmd playwright test --reporter=dot |
45 项通过 |
python -m compileall -q ... |
通过 |
git diff --check |
通过 |
Windows 下由 Playwright 自行创建临时静态服务器时,45 项完成后子进程无法回收;改为预先启动同一个
8876 静态服务器并让 Playwright 复用后,测试以零退出码正常结束,结果为 45 passed (2.1m)。
5. 保留边界
- 板块轮动仍调用情绪历史公共函数,待切片 04 与市场天梯一并归位。
- 竞价、题材、人气和龙虎榜对股池数据的消费保持原调用路径,待切片 05 迁移。
- 根级情绪引擎兼容模块、
DashboardService与ReviewDatabase兼容面继续保留;数据库内尚未迁移的 选股统计方法仍走兼容别名,待切片 06 随完整方法一并归位。 - 没有删除待定代码、没有改动根目录正式数据库、没有切换 Docker/NAS。