- 交接摘要补 §一·三十五~§一·三十八:角色与授权、需求收敛(4 角色 / 10 菜单 / 取消二期)、 PC 端重搭后的 UI 修复与卡片式基线、品牌改名与新标识 - PRD 与功能逻辑卷只改标题行与产品代号线;**文件名不动** —— verify-docs.py 按路径读, 全库还有 20+ 处按文件名引用,改名会连带炸脚本 - 原型 index / admin-web / teacher-app / student-app 的品牌区改「深学在线」, admin-web 的 .mark(10 处)换成内嵌的新标 data URI,保持原型"单文件自包含"的约定 - 根 AGENTS.md 与 frontend-pc 的规范同步:接线检查补第 ⑨ 项(SVG 资产是不是合法 XML —— SVG 注释里出现连续两个减号就 not well-formed,图标裂开而控制台一句话都不报)、 「最容易写错的约定」6 -> 7 条(新增品牌标) - deploy/docker-compose.yml 只改头注释里的项目名(compose 的 name 与七牛对象前缀都没动)
11 KiB
需求追溯矩阵(自审报告)
用途:把 PRD 的每条需求对上「原型 / 库表 / 接口 / 验收」四个交付面,找出说了没做和做了没说。 生成日期:2026-09-28 审计范围:125 条 FR(92 P0 / 30 P1 / 3 P2)+ 21 条 VAL 校验规则 + 119 个接口(2026-10 收敛后的口径;原 129 = 121 + 角色与授权 8)+ 20 张表 结论:主流程全覆盖。第三节的 10 个接口缺口已于 P3 补齐(共新增 21 个接口);配置类页面缺口见 3.2
一、总览
| 模块 | 条数 | P0 | 库表 | 接口 | 原型 | 判定 |
|---|---|---|---|---|---|---|
| FR-100 租户与组织 | 5 | 5 | ✅ | ✅ | ❌ | ⚠️ 缺平台运营端原型 |
| FR-200 账号与角色 | 6 | 5 | ✅ | ✅ | ⚠️ | ⚠️ 缺登录页与用户管理页;FR-205 角色自定义已落地(docs/03 §4.12 / §5.10,页面 frontend-pc/src/views/role/;2026-10 起按一期功能计,不再叫"二期")——其中「数据权限可配」不做 |
| FR-300 收集任务 | 12 | 9 | ✅ | ✅ | ⚠️ | ✅ 暂停接口已补(P3) |
| FR-400 动态表单 | 8 | 6 | ✅ | ✅ | ❌ | ⚠️ 缺表单设计器原型 |
| FR-500 名单管理 | 24 | 21 | ✅ | ✅ | ✅ | ✅ 全覆盖(含客户确认新增的 FR-509 系列 10 条) |
| FR-600 材料与规则 | 23 | 18 | ✅ | ✅ | ⚠️ | ✅ 识别结果已并入审核详情(P3) |
| FR-800 审核工作台 | 10 | 7 | ✅ | ✅ | ✅ | ✅ 撤回接口已补(P3) |
| FR-900 汇总导出 | 10 | 8 | ✅ | ✅ | ✅ | ✅ 全覆盖 |
| FR-1000 通知催报 | 6 | 4 | ✅ | ✅ | ⚠️ | ✅ 消息中心与额度已补(P3);⚠️ FR-1002 / FR-1003 在 2026-10-08 才真正兑现 —— 模板原先只对手工发送生效、自动催报因日期比较写错一条都没发过(见《08》F-101 / F-104) |
| FR-1100 数据看板 | 5 | 2 | ✅ | ✅ | ✅ | ✅ 全覆盖 |
| FR-1200 系统管理 | 6 | 5 | ⚠️ | ✅ | ❌ | ⚠️ 接口已补(P3),原型仍缺 |
| FR-1300 SaaS 计费 | 4 | 2 | ⚠️ | ⚠️ | ❌ | ⚠️ 缺平台运营端 |
| — | — | — | 已取消(2026-10 需求收敛:模块/表/接口/页面全部删除) | |||
| FR-700 校验引擎 | — | — | ✅ | ✅ | ✅ | ✅ 以 VAL-01~21 实现,三端均有体现 |
图例:✅ 完整覆盖 ⚠️ 部分覆盖 ❌ 未覆盖
二、覆盖亮点(这些是逐条核对过的)
| 能力 | 库表 | 接口 | 原型 | 备注 |
|---|---|---|---|---|
| 名单即预填报名表(18 业务列) | ✅ | ✅ | ✅ | 已在 PG 16 实测;管理端③可视化呈现 |
| 门禁核验(含限流防枚举) | ✅ | ✅ | ✅ | 学生端①②③;统一失败提示已实现 |
| 命名规范化引擎 | ✅ | ✅ | ✅ | 管理端②试跑闸门;学生端⑦结果卡 |
| 压缩引擎(五档 + 内存保护) | ✅ | ✅ | ✅ | 实测 28/28 达标;管理端⑦报压缩率 |
| 材料识别(四层递进) | ✅ | ✅ | ✅ | 学生端⑧;识别结果已并入审核详情响应 |
| 批量通过只带绿色项 | ✅ | ✅ | ✅ | 班主任端④ + ⑨(滑动层灰化) |
| 导出前置检查(禁止带问题打包) | ✅ | ✅ | ✅ | 管理端⑦禁用导出按钮 |
| 报考范围聚合与体检 | ✅ | ✅ | ✅ | 管理端④;plan-scope 接口已补 |
| 汇总 Excel 与目录树 | ✅ | ✅ | ✅ | 管理端⑦目录树预览 |
三、发现的缺口
3.1 接口缺口(已在 P3 全部补齐,共新增 21 个)
这些是"原型/PRD 里承诺了,但接口表里没有"的。放在 P3 接口设计里一并补齐。
| # | 缺口 | 对应需求 | 影响 | 建议接口 |
|---|---|---|---|---|
| I1 | 报考范围读取与确认 | FR-307~311 | 管理端④整屏无数据来源 | GET/PUT /api/v1/tasks/{id}/plan-scope |
| — | 已取消(2026-10) | — | ||
| I3 | 字典管理 | FR-1201 | 学历/等级/补考科目等下拉项无法维护 | GET/POST/PUT /api/v1/dicts |
| I4 | 操作日志 | FR-1202 | 审计留痕无法查询 | GET /api/v1/logs/operations |
| I5 | 登录日志 | FR-1203 | 同上 | GET /api/v1/logs/logins |
| I6 | 消息中心 | FR-1004~1005 | 学生端/教师端"消息"屏无数据来源 | GET /api/v1/mp/messages、/mp/teacher/messages |
| I7 | 订阅额度登记 | R12 对策 | 功能逻辑卷写 /mp/subscribe,主 PRD 接口表漏登记 |
POST /api/v1/mp/subscribe |
| I8 | 审核撤回 | FR-808、原型 | 原型承诺"终审前可撤回",无接口 | POST /api/v1/audit/submissions/{id}/revoke |
| I9 | 任务暂停/恢复 | FR-301 | FR 要求"发布、暂停、截止、归档",只有 publish/close/archive | POST /api/v1/tasks/{id}/pause、/resume |
| I10 | 材料识别结果读取 | FR-614d | 审核辅助要显示"系统判定:身份证 92%",无处取 | 并入 GET /api/v1/audit/submissions/{id} 响应 |
合计 10 项,已在 P3 全部补齐:I10 并入审核详情响应,其余新增 20 个接口(含 1 项登记遗漏
/mp/files/{fileId}/process)
3.2 原型缺口(管理端 10 个页面;其中 3 个已在 P2.5 补齐)
本轮原型聚焦"高频主流程 + 设计难点",配置类页面未出。这不是遗漏,是优先级取舍,但需要明确记录,避免开发以为"不用做"。
| # | 页面 | 对应需求 | 复杂度 | 建议 |
|---|---|---|---|---|
| P1 | 表单设计器 | FR-401~408 | 高 | ⚠️ 必须补——拖拽式字段编排是 P0,且交互复杂,光靠文字描述开发必理解偏 |
| P2 | 材料规则配置(命名模板编辑器) | FR-601~609 | 高 | ⚠️ 建议补——管理端②只做了"试跑",配置界面本身没画 |
| — | — | 已取消(2026-10 需求收敛) | ||
| P4 | 登录页 | FR-201 | 低 | 可略 |
| P5 | 组织与用户管理 | FR-103、203~206 | 中 | 可略(标准 CRUD) |
| P6 | 任务列表与详情 | FR-301~306 | 中 | 建议补简版(克隆、二维码、暂停) |
| P7 | 通知模板管理 | FR-1001~1002 | 低 | 可略 |
| P8 | 字典管理 | FR-1201 | 低 | 可略 |
| P9 | 操作日志查询 | FR-1202~1203 | 低 | 可略 |
| P10 | 平台运营端(租户/套餐/计费) | FR-101 |
中 | 不做(2026-10:不再设计二期;平台运营端只保留租户开通与用量) |
3.3 需求条目本身的核查
审计过程中发现 4 个疑似问题,逐条核实后 3 个是统计脚本的正则缺陷(不是文档缺陷),仅 1 个为真实待办。
| # | 疑似问题 | 核实结论 | 处理 |
|---|---|---|---|
| D1 | FR-614 主条目编号缺位 | ❌ 假警报——FR-614 在 §5.6 存在(脚本未匹配加粗编号写法) | 无需处理 |
| D2 | FR-608 未出现在抽取结果 | ❌ 假警报——同上,且其优先级格含补充说明文字 | 无需处理 |
| D3 | FR-1000 模块分级计数与条数不符 | ❌ 假警报——1001~1004 为 P0、1005 为 P1、1006 为 P2,相加正确 | 无需处理 |
| D4 | 「压缩质量抽检机制」在功能逻辑卷有详述,主 PRD 无独立 FR | ✅ 真实——PRD 仅在 §6.3 与验收标准中提及,未立为需求条目 | 🟡 补 FR-616:清晰度分级标记与抽检机制(P1) |
教训:脚本审计前必须先验证脚本本身。本次若直接采信 D1~D3,会在文档里"修"三个不存在的问题,反而引入错误。
3.4 已闭环(无需处理)
| 项 | 状态 |
|---|---|
| 报考范围来自名单(不存在计划文件) | ✅ 已澄清并改设计 |
| DDL 在 PG 16 实测 | ✅ 零错误 |
| 压缩参数实测标定 | ✅ 300dpi/q85,28/28 达标 |
| 材料来源三通道(无拍照) | ✅ 已实现并出原型 |
| 滑动交互规则 | ✅ 只右滑通过 |
四、结论与行动
覆盖度小结
主流程(填报→审核→导出) ████████████████████ 100%
规则引擎(命名/压缩/识别) ████████████████████ 100%
配置类页面 ██████░░░░░░░░░░░░░░ 30%
平台运营 ░░░░░░░░░░░░░░░░░░░░ 0%
~~历史整理器~~ ░░░░░░░░░░░░░░░░░░░░ 已取消(2026-10)
必须行动的 3 项
| 优先级 | 行动 | 归属 |
|---|---|---|
| ✅ 已完成 | → P3 已完成(新增 21 个) | |
| ✅ 已完成 | → P2.5 已完成 | |
| ✅ 已完成 | → P2.5 已完成 | |
| ✅ 已完成 | → 已补入 PRD |
对计划的调整
发现了一个原计划未覆盖的缺口,追加为 P2.5:
| # | 任务 | 产出 | 理由 |
|---|---|---|---|
| P2.5 | 管理端补充原型:表单设计器 + 材料规则配置 + |
补充到 admin-web.html |
追溯矩阵发现的缺口,三者都是复杂交互、不画会理解偏的页面 |
附录 · 完整需求索引(115 条)
| 模块 | 编号范围 | 条数 | 备注 |
|---|---|---|---|
| FR-100 | FR-101 ~ 105 | 5 | 全 P0 |
| FR-200 | FR-201 ~ 206 | 6 | 含 FR-202 小程序登录 |
| FR-300 | FR-301 ~ 312 | 12 | 含 FR-307~311 报考范围 |
| FR-400 | FR-401 ~ 408 | 8 | 全为表单引擎 |
| FR-500 | FR-501 ~ 509 | 24 | 含 502a/b、504a |
| FR-600 | FR-601 ~ 616 | 23 | 含 601a/b、614a~e(编号连续,无跳号) |
| FR-800 | FR-801 ~ 810 | 10 | 审核 |
| FR-900 | FR-901 ~ 910 | 10 | 导出 |
| FR-1000 | FR-1001 ~ 1006 | 6 | 通知 |
| FR-1100 | FR-1101 ~ 1105 | 5 | 看板 |
| FR-1200 | FR-1201 ~ 1206 | 6 | 系统管理 |
| FR-1300 | FR-1301 ~ 1304 | 4 | 计费 |
| 已取消(2026-10) | |||
| 合计 | 125 | 92 P0 / 30 P1 / 3 P2 |
校验规则:VAL-01 ~ VAL-21(21 条,编号连续;18~20 为 P4 补充,21 为客户确认后补充的归属校验)
接口:119 个已定义(2026-10 收敛:原 129 = 96 + 补齐 21 + 客户确认新增 5 + 角色与授权 8 − 移除 1;现减去加入申请 5 个与历史整理器 5 个 = 119,补齐 21 → 16),见 03-接口设计.md §4.12 / §5.10
库表:20 张完整 DDL + 4 张"从略"标准表