n
n- 父级大工单:#96
n- 阶段:采购地址入口安全识别
n- 不做:不合并位置明显不同的地址卡片;不使用固定坐标;不改规格、地址内容、数量、价格、下单、不可逆门禁、Admin 接口或数据库。
n## 怎么做
n1. 地址候选仍从脱敏手机号及最近可点击祖先取得。
n3. 合并后使用候选交集区域作为安全点击区域。
n- [ ] 合并后的点击点同时位于全部原候选范围内。
n- [ ] 既有地址修改、保存、返回和不可逆采购门禁不变。
实现完成,状态:待验收。
实现内容:
验证:
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
提交:
7c56c29
fix: 合并近重叠地址入口候选 (#276)
5e27d4c
docs: 归档任务 #276
归档:docs/task/276-合并近重叠地址入口候选.md
docs/task/276-合并近重叠地址入口候选.md
No dependencies set.
The note is not visible to the blocked user.
基本信息
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合并阈值过宽可能掩盖真实多个地址,因此同时限制中心点和重叠比例,并使用交集区域点击。任一条件不满足继续安全失败。实现完成,状态:待验收。
实现内容:
验证:
C:/Python310/python.exe -m py_compile src/pdd_u2_purchase_adapter.pyC:/Python310/python.exe -m pytest test/test_pdd_u2_purchase_adapter.py -q提交:
7c56c29fix: 合并近重叠地址入口候选 (#276)5e27d4cdocs: 归档任务 #276归档:
docs/task/276-合并近重叠地址入口候选.md