Files
a-share-analysis/docs/features/FEAT-MO-001-market-overview/development-summary.md
T

3.6 KiB
Raw Blame History

FEAT-MO-001 开发总结

原始开发需求

实现市场概览首屏:结论优先展示市场状态、驱动与风险,并支持综合、短线、中长线视角和规则、AI、混合、对照分析选择;用户可从指数和板块入口进入后续详细分析。

需求与范围变化

  • 数据源从早期“确定性模拟快照”调整为 TDX 只读直连,Nest API 访问本机 127.0.0.1:17710,Vue 不直接访问 TDX。
  • API 按摘要、指数、市场宽度、板块和资金拆分,避免把整个首屏塞入单个接口。
  • 当前 TDX 桥接已确认 get_market_snapshot、get_stock_list 和批量 get_market_data 可用;市场宽度、一级行业板块和成交额趋势改为真实 TDX 映射。主力净流入字段虽存在但当前实测为零值,盘中新闻无官方行情接口,因此两者延期到补充源功能。
  • MySQL、Redis、RocketMQ 和 AI 仍不进入本切片运行链路;它们保留为后续基础设施边界。

实际完成需求

  • 新增 TDX 配置校验、超时/响应大小限制、错误脱敏的 Node 客户端。
  • 新增市场概览 DTO、服务、控制器、OpenAPI 契约和前端 Axios API 文件。
  • 完成结论、驱动与风险、核心指数、市场宽度、板块、资金趋势模块,以及加载/错误/不可用状态。
  • 完成分析视角和分析引擎切换,本地保存用户偏好。
  • 真实 TDX 指数和摘要已通过本机隧道冒烟;未用指数或离线样本伪造缺失指标。
  • 真实 TDX 市场宽度、一级行业和成交额趋势已通过本机桥接冒烟;资金模块明确使用成交额口径,不宣称主力净流入。

修复缺陷

  • 修正 PRD 和实施计划中仍描述“模拟数据”的旧表述。
  • 避免单个 TDX 模块失败导致整页失败,改为五个模块并行、独立状态。
  • 对未注册桥接方法返回结构化原因,避免前端显示“实时”或空白数据。
  • 修复 Vue TypeScript 单文件组件未被 ESLint 正确解析的问题,并为 E2E 测试进程补齐必需的本机 TDX 配置边界。
  • 隔离应用外壳单测中的真实 Axios 请求,消除 JSDOM 网络错误噪声,保持页面测试只验证外壳职责。

未完成与延期项

  • 主力净流入的权限/数据质量验证、盘中新闻补充源、真实图表和口径仍延期。
  • “查看依据”抽屉、指数/板块详情页、AI 请求和用户体系另立功能。
  • 本地验证不代表生产 7×24 采集稳定性、商业授权或公网部署安全性。

关键提交

  • 9a965fa、d283ee3、6eb34b5、c2fa929、15a2500、27bc3c1
  • 首屏 UI 收口提交待 Review 通过后补充。

验证证据

  • GitNexus 已完成最终重新索引;提交前 CLI detect-changes --scope staged 映射 11 条概览/E2E 执行流并标记 high。高风险来自本功能修改核心概览服务和测试启动入口,已由定向单测、HTTP/OpenAPI、构建和 E2E 覆盖;未发现额外业务模块调用方。MCP context 在当前 worktree 未初始化,因此以 CLI 索引和静态调用证据补充记录。
  • API 冒烟:/breadth、/sectors、/funds 均返回 source=tdx,status=fresh;完整结果和耗时见 tdx-smoke-report.md。
  • 前端单测、typecheck、build、后端 TDX/映射/服务/HTTP/OpenAPI 测试通过。
  • pnpm verify:e2e:4/4 通过(桌面和移动端各覆盖页面与健康契约)。
  • 浏览器桌面与 390px 移动视口验证无横向溢出,视角与引擎切换可用。
  • 开发 Schema 按用户确认跳过,沿用 v0.0.10 captured_empty 追溯边界,不读取生产库。