Files
cmautobuy/docs/task/180-修复地址后缀分割并兼容保存浮层.md
T
2026-08-12 11:14:31 +08:00

3.0 KiB

180 修复地址后缀分割并兼容保存后的 ColorOS 浮层

背景与目标

正式采购已经成功进入地址编辑页并点击保存,但旧地址中不符合白名单格式的下划线后缀不会被替换;保存后 OPPO/ColorOS 密码本浮层又占据控件树,使程序无法识别背后的收货地址面板。本任务按已确认业务规则重建地址,并安全处理该系统浮层后返回规格确认页。

最终方案

  • 使用第一个 - 或 _ 分割原地址,取第一段作为地址主体,再拼接 _ 和当前采购编号。
  • 保存按钮保持单次点击。
  • 保存后优先检查已知 com.coloros.codebook 可见焦点浮层,连续读取三次仍存在时最多按一次系统返回键,不点击浮层内容。
  • 浮层自行消失时不按返回;返回键无效时不再按第二次,最终安全超时。
  • 非 ColorOS 密码本的未知页面不按返回、不继续点击。
  • PDD 地址面板优先使用完整新地址确认;地址全文未暴露时,使用“收货地址标题 + 唯一修改按钮 + 唯一返回按钮”的组合证据。
  • 若系统返回键竞态导致已经回到规格确认页,直接结束地址更新,不重复导航。
  • 超时诊断增加浮层是否出现、系统返回次数和脱敏控件树。

改了哪些

  • client/src/pdd_u2_purchase_adapter.py:实现首个分隔符地址规则、可靠地址面板证据及保存后 ColorOS 浮层有界状态机。
  • client/test/test_pdd_u2_purchase_adapter.py:覆盖任意旧后缀、隐藏地址全文、浮层自行消失、一次返回成功、一次返回无效和未知页面安全停止。

验收结果

验收标准 结果
任意 - 或 _ 后缀按首个分隔符截断并追加采购编号 通过
保存按钮仍只点击一次 通过
ColorOS 浮层自行消失时不按返回、不点击浮层 通过
持续浮层最多按一次系统返回键 通过
未知页面不按返回、不继续点击 通过
地址全文未暴露时仍可用可靠组合证据识别 通过
返回地址面板后继续回到规格确认页 通过
不可逆下单门禁未修改 通过
Client 全量测试通过 通过

测试

  • 执行的命令:在 client 目录执行 C:/Python310/python.exe -m unittest discover -s test -p 'test_pdd_u2_purchase_adapter.py'
  • 结果:38 个采购 Adapter 测试全部通过。
  • 执行的命令:在 client 目录执行 $env:QT_QPA_PLATFORM='offscreen'; C:/Python310/python.exe -m unittest discover -s test -p 'test_*.py'
  • 结果:456 个 Client 测试全部通过;仅有测试环境 Qt 字体目录警告。
  • 没验证到的部分:未在真机执行地址修改、保存、系统返回、提交订单或任何不可逆操作。

相关提交

  • 669f144 fix: 兼容地址保存系统浮层 (#180)