Client:合并同一地址卡片的近重叠无障碍候选 #276

Open
opened 2026-08-18 17:40:46 +08:00 by ila · 1 comment
Owner

基本信息nn- 类型:缺陷n- 父级大工单:#96n- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环n- 阶段:采购地址入口安全识别n- 依赖:#271、#275nn## 要解决什么nn采购 cg82 已完成 AI 规格解析并选中目标颜色尺码,但地址入口识别得到两个候选:[0,366][1080,473] 与 [0,366][1080,472]。它们属于同一地址卡片的重复无障碍节点,只差 1 像素,现有精确坐标去重将其误判为两个地址入口并报 PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。nn## 做什么 / 不做什么nn- 做:对中心点接近且几乎完全重叠的地址候选进行严格聚类,按同一入口处理;增加脱敏回归测试和候选诊断。n- 不做:不合并位置明显不同的地址卡片;不使用固定坐标;不改规格、地址内容、数量、价格、下单、不可逆门禁、Admin 接口或数据库。nn## 怎么做nn1. 地址候选仍从脱敏手机号及最近可点击祖先取得。n2. 仅当中心点距离不超过 3 像素,且交集面积占较小候选面积至少 98% 时合并。n3. 合并后使用候选交集区域作为安全点击区域。n4. 不重叠或重叠不足的多个候选继续返回歧义。nn## 验收标准nn- [ ] 底边相差 1 像素的同一地址入口只返回一个候选。n- [ ] 合并后的点击点同时位于全部原候选范围内。n- [ ] 不同位置的两个地址入口仍返回两个候选并安全停止。n- [ ] 既有地址修改、保存、返回和不可逆采购门禁不变。n- [ ] 相关单元测试和 Python 编译检查通过。nn## 怎么验证nn从 client 目录执行地址采购适配器测试和 py_compile。真实 Android 回归不自动付款。nn## 风险和回退nn合并阈值过宽可能掩盖真实多个地址,因此同时限制中心点和重叠比例,并使用交集区域点击。任一条件不满足继续安全失败。

## 基本信息`n`n- 类型:缺陷`n- 父级大工单:#96`n- 所属 MVP / 版本:#253 采购运行时 AI 规格纠偏闭环`n- 阶段:采购地址入口安全识别`n- 依赖:#271、#275`n`n## 要解决什么`n`n采购 cg82 已完成 AI 规格解析并选中目标颜色尺码,但地址入口识别得到两个候选:[0,366][1080,473] 与 [0,366][1080,472]。它们属于同一地址卡片的重复无障碍节点,只差 1 像素,现有精确坐标去重将其误判为两个地址入口并报 PURCHASE_ADDRESS_ENTRY_AMBIGUOUS。`n`n## 做什么 / 不做什么`n`n- 做:对中心点接近且几乎完全重叠的地址候选进行严格聚类,按同一入口处理;增加脱敏回归测试和候选诊断。`n- 不做:不合并位置明显不同的地址卡片;不使用固定坐标;不改规格、地址内容、数量、价格、下单、不可逆门禁、Admin 接口或数据库。`n`n## 怎么做`n`n1. 地址候选仍从脱敏手机号及最近可点击祖先取得。`n2. 仅当中心点距离不超过 3 像素,且交集面积占较小候选面积至少 98% 时合并。`n3. 合并后使用候选交集区域作为安全点击区域。`n4. 不重叠或重叠不足的多个候选继续返回歧义。`n`n## 验收标准`n`n- [ ] 底边相差 1 像素的同一地址入口只返回一个候选。`n- [ ] 合并后的点击点同时位于全部原候选范围内。`n- [ ] 不同位置的两个地址入口仍返回两个候选并安全停止。`n- [ ] 既有地址修改、保存、返回和不可逆采购门禁不变。`n- [ ] 相关单元测试和 Python 编译检查通过。`n`n## 怎么验证`n`n从 client 目录执行地址采购适配器测试和 py_compile。真实 Android 回归不自动付款。`n`n## 风险和回退`n`n合并阈值过宽可能掩盖真实多个地址,因此同时限制中心点和重叠比例,并使用交集区域点击。任一条件不满足继续安全失败。
Author
Owner

实现完成,状态:待验收。

实现内容:

  • 地址入口候选仅在中心每轴相差不超过 3px、交集覆盖较小候选至少 98% 时合并;
  • 合并后使用共同交集作为安全点击区域;
  • 真实分离的多个地址卡片继续触发歧义保护。

验证:

  • C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py
  • C:/Python310/python.exe -m pytest test/test_pdd_u2_purchase_adapter.py -q
  • 结果:72 passed
  • 未执行原任务的完整真机采购、下单或付款。

提交:

  • 7c56c29 fix: 合并近重叠地址入口候选 (#276)
  • 5e27d4c docs: 归档任务 #276

归档:docs/task/276-合并近重叠地址入口候选.md

实现完成,状态:待验收。 实现内容: - 地址入口候选仅在中心每轴相差不超过 3px、交集覆盖较小候选至少 98% 时合并; - 合并后使用共同交集作为安全点击区域; - 真实分离的多个地址卡片继续触发歧义保护。 验证: - `C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.py` - `C:/Python310/python.exe -m pytest test/test_pdd_u2_purchase_adapter.py -q` - 结果:72 passed - 未执行原任务的完整真机采购、下单或付款。 提交: - 7c56c29 `fix: 合并近重叠地址入口候选 (#276)` - 5e27d4c `docs: 归档任务 #276` 归档:`docs/task/276-合并近重叠地址入口候选.md`
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#276