# 03 — 实测:列表族(视图/筛选/分页/搜索/最近访问) Type: task Status: open Blocked by: 01, 02 ## Question 针对**列表族**的原型页,用 HTML+fetch demo 实测每个预期接口,把结论(✅/⚠/❌)+ 证据(响应片段/截图路径)落到本票的「实测记录」段,供票 06 聚合。 ## 覆盖的原型页(预计) 从 `final-scope.json` 里筛"列表/最近访问/公海列表"类: - A3-0-1 最近访问列表 - A3-1-1 销售机会列表("我"视角,5 类视图) - A3-2-1 全部销售机会管理列表(管理视角) - A3-3-1 公海列表 - (若 spec-endpoints.md 揭示更多列表相关接口——如"自定义视图 CRUD"——也纳入本票) ## 实测方法 1. **建子页**:`.scratch/opportunity-verify/frontend/list.html`,`` 2. **面板结构**:每个预期接口一个 `crm.panel(id, title)` - 输入区:极简 `` 收 body/query 参数(默认给一组合理值) - 触发按钮 → `crm.call(...)` → `crm.render(id, res)` 3. **用 webapp-testing skill 跑**:Playwright 打开 `list.html`,登录 → 逐个点触发 → 把每个面板的响应截图 / 抓 JSON 片段 4. **判据**: - ✅ 存在正确:接口存在 + 响应字段能对上原型列表列 - ⚠ 实现有问题:接口存在但字段缺、字段名错、状态码不对、分页语义不符 - ❌ 未实现:调用返回 404 或 spec 里存在的接口在后端找不到入口 ## 实测记录(本票收) ```markdown ### 接口:POST /api/opportunity/page - 原型页:A3-1-1 销售机会列表 - 预期:分页返回带商机名/来源/状态/… - 实测: - 响应字段与原型对比: | 原型列 | 期望字段 | 实际字段 | 匹配 | | 商机名 | opportunityName | ??? | ✅/⚠/❌ | - 结论:✅ / ⚠ / ❌ - 备注:<异常细节 / 建议> ``` ## 完成判据 - `list.html` 存在,webapp-testing 能跑通 - 本票文末追加「实测记录」段,覆盖所有本子域预期接口 - 每条实测结论清晰(✅/⚠/❌),配证据 ## 不做 - 修 bug(destination 明确排除) - 详情/操作/规则族的实测(另有票)