fix: 出库交接交接状态参数名改为handoverState并完成内网验证

- 按 api-doc 接口文档修正交接状态入参 hoState → handoverState(原参数被后端
  静默忽略,两个 Tab 返回同一批数据);内网实机验证 0/1 过滤与 App 端到端链路
  均生效,平板端回归无影响
- 新增《后端接口对接问题清单.xlsx》:按模块/页面/接口定义/接口地址索引的后端
  对接文档,含 5 项待处理缺口(移库缺航班字段/操作人姓名/数据不回填、交接缺
  交接人入参、pageQueryTotal 出参恒 0)+ 1 项已验证归档
- phone-adapt skill 新增 references/api-doc.md(api-doc MCP 核对流程 + 内网
  直调验证技巧),阶段 2 改为「先查接口文档再问用户」,修正 verification.md
  中「后端不认 hoState」的过时误判结论
- CLAUDE.md / CHANGELOG.md 同步走查与验证结论

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 15:13:43 +08:00
parent db062c8ee3
commit bbc29ca2e1
7 changed files with 143 additions and 16 deletions

View File

@@ -101,11 +101,14 @@ $P <serial> texts | grep -c "全选" # 用文字变化确认点击确实生效
$P <serial> req pageQuery
```
OkHttp 日志是多行 pretty JSON。看到请求体里有你的字段`"hoState": "0"`)只说明客户端对了。
OkHttp 日志是多行 pretty JSON。看到请求体里有你的字段`"handoverState": "0"`)只说明客户端对了。
**服务端是否生效要用行为验证**:切到另一个 Tab看返回数据是否真的变了。
本次实测:请求正确携带 `hoState:"0"/"1"`两个 Tab 返回同一批数据 → 后端没做过滤。
这种情况**必须在交付说明里如实标注**,不能让它看起来是通的。
⚠️ 行为验证失败时**先怀疑参数名,再怀疑后端**:出库交接第一版传 `hoState`,两个 Tab 返回同一批数据
一度误判为「后端没做过滤」实际是参数名错了api-doc 里是 `handoverState`),后端对不认识的参数
**静默忽略**。正确顺序:查 `references/api-doc.md` 核对参数名 → 用 token 直调后端做 A/B 对比
(同条件只改一个参数看 total 变化)→ 仍不生效才定性为后端缺陷并记入
`documents/后端接口对接问题清单.xlsx`
## 无数据时怎么核对 UI
@@ -136,7 +139,8 @@ for i in $(seq 1 10); do adb -s <phone> shell dumpsys window | grep -m1 -oE "mRo
```
平板则应首屏就是横屏(截图宽 > 高)。若手机出现横屏帧,检查该 Activity 的 Manifest
是否`android:screenOrientation="@integer/screen_orientation"`
是否写成了别的值——**必须是 `android:screenOrientation="unspecified"`**(写死 `userLandscape`
或用 `@integer/...` 资源引用都会出问题,详见 SKILL.md 阶段 4
## Pad 端回归(必做)