# 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` 追溯边界,不读取生产库。