You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.7 KiB
5.7 KiB
crm-project 端点 ↔ 原型页面树对齐核查表(票 18)
权威树:
.scratch/api-docs-reorg/lanhu-tree-v29.mdA5 分区;原型页:.scratch/opportunity-bugfix/lanhu-pages/A5*(17 页)。 核查方式:Controller 源码 tag 逐一对照(bruno-sync 身份映射即 tag 原文);✅=已对齐,◐=跨页多 tag,—=无原型页显式入口(建档按钮在看板/列表页)。 本表由票 18 全量核对产出;bruno-sync 未装本机的实现会话期,.bru为按 generated 形态手写,票 18 后续如重跑 bruno-sync 以 tag 为准幂等归位。
A5 分区页面 → 端点矩阵(21 端点全覆盖)
| 端点 | 方法 | 深 tag(= Bruno 目录) | 原型页 | 结论 |
|---|---|---|---|---|
| /api/project/board | GET | A5 项目管理/项目管理(看板视图)+ 分屏视图 ◐ | A5-1-1_项目管理(看板视图/分屏视图) | ✅ |
| /api/project/list | GET | A5 项目管理/项目管理(列表视图)+ 分屏视图 + 我的项目 ◐ | A5-1-1_项目管理(列表视图/分屏视图)、A5-1-2_我的项目 | ✅(列表+分屏共用一接口,spec §4 定稿) |
| /api/project/create | POST | A5 项目管理/项目管理(看板视图)+ 列表视图 ◐ | (两页新建按钮,无独立原型页) | ✅(—) |
| /api/project/detail | GET | A5 项目管理/项目详情 | A5-1-2-1_项目详情(页签详情与操作) | ✅ |
| /api/project/stage/advance | POST | A5 项目管理/项目详情/状态机 | A5-1-2-1(推进/无需招投标) | ✅ |
| /api/project/stage/rollback-targets | GET | 同上 | A5-1-2-2(回退弹窗数据源) | ✅ |
| /api/project/stage/rollback | POST | 同上 | A5-1-2-2(多步回退弹窗) | ✅ |
| /api/project/close | POST | 同上 | A5-1-1-7_项目详情(已关闭) | ✅ |
| /api/project/bid-result/mark | POST | 同上 | A5-1-1-5_项目详情(赢单_输单) | ✅ |
| /api/project/filing/review | POST | A5 项目管理/项目详情/状态机 + 看板视图 ◐ | A5-1-1-1_项目详情(处理冲突-本地/异地) | ✅ |
| /api/project/follow/list | GET | A5 项目管理/项目详情/跟进 | A5-1-1-5_项目详情(商务跟进) | ✅ |
| /api/project/follow/add | POST | 同上 | 同上 | ✅ |
| /api/project/attachment/list | GET | A5 项目管理/项目详情/附件 | A5-1-2-1(附件页签) | ✅ |
| /api/project/attachment/add | POST | 同上 | 同上 | ✅ |
| /api/project/attachment/delete | POST | 同上 | 同上 | ✅ |
| /api/project/customer/list | GET | A5 项目管理/项目详情/客户 | A5-1-2-1(客户页签) | ✅ |
| /api/project/timeline/list | GET | A5 项目管理/项目详情/动态 | A5-1-2-1(动态页签) | ✅ |
| /api/project/scheme | GET | A5 项目管理/项目详情/方案设计 | A5-1-1-2_项目详情(方案设计) | ✅ |
| /api/project/quote | GET | A5 项目管理/项目详情/商务报价 | A5-1-1-3_项目详情(商务报价) | ✅ |
| /api/project/bidding | GET | A5 项目管理/项目详情/招投标 | A5-1-1-4_项目详情(招投标准备) | ✅ |
| /api/project/bid-open | GET | A5 项目管理/项目详情/开标 | A5-1-1-5_项目详情(赢单_输单) | ✅ |
页面 → 端点反查(原型 17 页覆盖核对)
| 原型页 | demo/端点支撑 | 结论 |
|---|---|---|
| A5-1-1_项目管理(看板视图) | /project/board + /project/filing/review + 卡片进详情 | ✅ |
| A5-1-1_项目管理(分屏视图) | 列表共用 /project/list(spec §4「列表+分屏共用」) | ✅ |
| A5-1-1_项目管理(列表视图) | /project/list(阶段 7 值筛 + 报备独立筛 + 分页) | ✅ |
| A5-1-2_我的项目 | /project/list?scope=mine + /project/board?scope=mine | ✅ |
| A5-1-2-1_项目详情(页签详情与操作) | /project/detail + 8 页签端点 + 状态机 6 端点 | ✅ |
| A5-1-1-1 / 1b(处理冲突-本地/异地) | stage0 详情 + /filing/review(异地拉群 spin-out) | ✅ |
| A5-1-1-2(方案设计) | /project/scheme(主表扩展列) | ✅ |
| A5-1-1-3(商务报价) | /project/quote(清单明细不落 CRM 硬边界) | ✅ |
| A5-1-1-4(招投标准备) | /project/bidding(含标底类型/等级名,投标主体一对一本期) | ✅ |
| A5-1-1-5(商务跟进) | /project/follow/*(+ /project/timeline 动态) | ✅ |
| A5-1-1-5(赢单_输单) | /project/bid-open + /bid-result/mark(赢单快照四字段) | ✅ |
| A5-1-1-6(结项) | stage6 状态落位(输单复盘字段 spec §8 后续字段) | ✅ |
| A5-1-1-7(已关闭) | /project/close(记因四要素) | ✅ |
| A5-1-2_我的项目 | 同 列表/看板 mine scope | ✅ |
| A5-1-4_项目统计 | 顶部 7 阶段统计卡 = /project/board 顶部 badge + 列计数(D-10 P2 记档:独立统计页未做) | ◐ 记档 |
| 群聊详情页签 | spin-out(企微能力,spec §8) | ⚠️ spin-out |
| 商机推送自动转项目 | spin-out(OpportunityConvertPort 预留,本期唯一入口=独立建项目) | ⚠️ spin-out |
全量核对结论
- 21 端点 ↔ 17 原型页双向核对完成;深 tag 全部为完整页面路径(ADR-0024),跨页端点多值 tag;无 @PathVariable/PUT/DELETE(audit 已证 40401/40501)。
- Bruno 仓:
E:\code\crm-api-docs\A5 项目管理\六个子目录 24 个 .bru(含 folder.bru),与上表一一对应;bruno-sync.config.json已含 crm-project sourceRoot + A5 menuBindings(示例值走配置)。 - API-SUMMARY(
.scratch/crm-project/API-SUMMARY.md)与实现零漂移抽查:错误码 68001~68010 与ProjectConstants一致;双轴/报备/赢输值域与四枚举一致;21 端点入参出参与 Controller/DTO 签名一致(16/17 两票 UI+API 层实测背书)。