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.
57 lines
2.2 KiB
57 lines
2.2 KiB
|
2 weeks ago
|
# 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`,`<script src="common.js"></script>`
|
||
|
|
2. **面板结构**:每个预期接口一个 `crm.panel(id, title)`
|
||
|
|
- 输入区:极简 `<input>` 收 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 销售机会列表
|
||
|
|
- 预期:分页返回带商机名/来源/状态/…
|
||
|
|
- 实测:<curl 或 demo 截图路径>
|
||
|
|
- 响应字段与原型对比:
|
||
|
|
| 原型列 | 期望字段 | 实际字段 | 匹配 |
|
||
|
|
| 商机名 | opportunityName | ??? | ✅/⚠/❌ |
|
||
|
|
- 结论:✅ / ⚠ / ❌
|
||
|
|
- 备注:<异常细节 / 建议>
|
||
|
|
```
|
||
|
|
|
||
|
|
## 完成判据
|
||
|
|
|
||
|
|
- `list.html` 存在,webapp-testing 能跑通
|
||
|
|
- 本票文末追加「实测记录」段,覆盖所有本子域预期接口
|
||
|
|
- 每条实测结论清晰(✅/⚠/❌),配证据
|
||
|
|
|
||
|
|
## 不做
|
||
|
|
|
||
|
|
- 修 bug(destination 明确排除)
|
||
|
|
- 详情/操作/规则族的实测(另有票)
|