fix(android): 回填订单入口兼容非selected全部标签与加载等待 #307

Open
opened 2026-09-18 10:54:51 +08:00 by ila · 5 comments
Owner

原始需求与授权

2026-09-18 用户反馈:Agent 回填默认2天,进入PDD我的订单后无动作;确认按最小方案建单实施。

基线与根因

main 65d1f34;现场仅内存读取并输出脱敏结构。全部标签及附近父节点 selected=false/clickable=false。现实现要求selected或可点击标签,扫描前退出;仅等待1秒,停止原因未在PDD前台明确提示。

范围与方案

仅Android回填入口:有界等待稳定订单列表;唯一顶部全部标签结合订单页标题与同排订单状态标签定位,限定此标签区域一次受控点击,之后复核列表结构;不把selected=false直接当已选择。不扩展订单卡片/地址/支付动作手势。回到列表沿用本轮已确认上下文,出现其他selected状态拒绝。停止通过既有通知及Toast显示脱敏原因。保留原始selected路径。

依赖/并行/设计

依赖既有回填扫描器与#306;独立Android修复,不改Server/Web/API/数据库;不并行。恢复既有行为的Bug,复用现有通知/Toast,无新页面。用户本轮确认上述最小方案。

验收与验证

覆盖延迟加载、selected缺失、唯一目标、其他页/危险重叠拒绝、原有回填测试;构建APK。不得执行真实回填写入、付款或创建订单;真机完整回填需用户操作验收。

风险与文档

仅回填全部标签允许受控手势,安全范围不得扩大。长期行为更新Business-Rules-and-Glossary Wiki并同步镜像。工单保持待验收。

工具说明

本会话无Gitea MCP工具,回退API;凭据来自安全配置,不输出凭据。

## 原始需求与授权 2026-09-18 用户反馈:Agent 回填默认2天,进入PDD我的订单后无动作;确认按最小方案建单实施。 ## 基线与根因 main 65d1f34;现场仅内存读取并输出脱敏结构。全部标签及附近父节点 selected=false/clickable=false。现实现要求selected或可点击标签,扫描前退出;仅等待1秒,停止原因未在PDD前台明确提示。 ## 范围与方案 仅Android回填入口:有界等待稳定订单列表;唯一顶部全部标签结合订单页标题与同排订单状态标签定位,限定此标签区域一次受控点击,之后复核列表结构;不把selected=false直接当已选择。不扩展订单卡片/地址/支付动作手势。回到列表沿用本轮已确认上下文,出现其他selected状态拒绝。停止通过既有通知及Toast显示脱敏原因。保留原始selected路径。 ## 依赖/并行/设计 依赖既有回填扫描器与#306;独立Android修复,不改Server/Web/API/数据库;不并行。恢复既有行为的Bug,复用现有通知/Toast,无新页面。用户本轮确认上述最小方案。 ## 验收与验证 覆盖延迟加载、selected缺失、唯一目标、其他页/危险重叠拒绝、原有回填测试;构建APK。不得执行真实回填写入、付款或创建订单;真机完整回填需用户操作验收。 ## 风险与文档 仅回填全部标签允许受控手势,安全范围不得扩大。长期行为更新Business-Rules-and-Glossary Wiki并同步镜像。工单保持待验收。 ## 工具说明 本会话无Gitea MCP工具,回退API;凭据来自安全配置,不输出凭据。
Author
Owner

实施完成,待验收(2026-09-18)

  • 提交:f15a390,分支fix/307-backfill-entry,已推送,未合并main。
  • 修复:订单入口8次有界采样、连续两次导航稳定;保留selected原路径;缺失selected时唯一全部标签+同排至少2个订单状态标签,主动点击后复核,本轮上下文不跨扫描;仅全部导航标签允许中心手势。停止原因通过既有通知和Toast提示。
  • 未修改采集/采购执行流程、服务端、数据库或上传契约;不扩展订单操作按钮手势。
  • 验证:gradlew :app:testDebugUnitTest --tests '*OrderBackfillTest' :app:assembleDebug 成功;21测试、0失败、0错误;git diff --check通过。
  • APK SHA256:06dc754a5e0bbfc972e2867bb865aff03d30202415bfdd991ca7ebe9999c6407。
  • Wiki Business-Rules-and-Glossary revision 4b61d5dcc75c459831e6b1f0d556b09d6acd0310 已在线回读;一轮sync及sync --check,17页通过。
  • 限制:本次仅构建,未安装手机、未触发真实回填、未创建订单或付款。真机入口及完整遍历仍待安装后人工验收;不宣称后续所有订单卡片均已兼容。
  • Gitea MCP不可用,使用API回写。
## 实施完成,待验收(2026-09-18) - 提交:f15a390,分支fix/307-backfill-entry,已推送,未合并main。 - 修复:订单入口8次有界采样、连续两次导航稳定;保留selected原路径;缺失selected时唯一全部标签+同排至少2个订单状态标签,主动点击后复核,本轮上下文不跨扫描;仅全部导航标签允许中心手势。停止原因通过既有通知和Toast提示。 - 未修改采集/采购执行流程、服务端、数据库或上传契约;不扩展订单操作按钮手势。 - 验证:gradlew :app:testDebugUnitTest --tests '*OrderBackfillTest' :app:assembleDebug 成功;21测试、0失败、0错误;git diff --check通过。 - APK SHA256:06dc754a5e0bbfc972e2867bb865aff03d30202415bfdd991ca7ebe9999c6407。 - Wiki Business-Rules-and-Glossary revision 4b61d5dcc75c459831e6b1f0d556b09d6acd0310 已在线回读;一轮sync及sync --check,17页通过。 - 限制:本次仅构建,未安装手机、未触发真实回填、未创建订单或付款。真机入口及完整遍历仍待安装后人工验收;不宣称后续所有订单卡片均已兼容。 - Gitea MCP不可用,使用API回写。
Author
Owner

2026-09-18 按用户授权将 f15a390 APK 覆盖安装到指定真机,adb install -r 返回 Success,保留应用数据。回读设备 base.apk SHA256 与构建产物一致:06dc754a5e0bbfc972e2867bb865aff03d30202415bfdd991ca7ebe9999c6407。版本标签仍为0.9.59/72,安装时间11:01:15。未触发真实回填,待用户验收。

2026-09-18 按用户授权将 f15a390 APK 覆盖安装到指定真机,adb install -r 返回 Success,保留应用数据。回读设备 base.apk SHA256 与构建产物一致:06dc754a5e0bbfc972e2867bb865aff03d30202415bfdd991ca7ebe9999c6407。版本标签仍为0.9.59/72,安装时间11:01:15。未触发真实回填,待用户验收。
Author
Owner

继续修复 #307(用户已确认):现场全部右边界201、待付款左边界198,标签边界重叠3像素。原零重叠判定拒绝;另核对发现通用危险文字检测把导航标签待付款中的付款也作为重叠风险。最小方案:按中心点顺序确认同排导航,并要求全部点击中心不落入相邻标签;仅在全部导航识别中排除已识别同排状态标签的文字误报,真实支付/订单操作节点仍硬拒绝,不修改通用safe规则。先补现场失败测试再修复。无新增长期文档影响:修正已批准唯一安全导航目标识别,不改变Wiki已记录的动作范围/契约。MCP不可用,API回退。

继续修复 #307(用户已确认):现场全部右边界201、待付款左边界198,标签边界重叠3像素。原零重叠判定拒绝;另核对发现通用危险文字检测把导航标签待付款中的付款也作为重叠风险。最小方案:按中心点顺序确认同排导航,并要求全部点击中心不落入相邻标签;仅在全部导航识别中排除已识别同排状态标签的文字误报,真实支付/订单操作节点仍硬拒绝,不修改通用safe规则。先补现场失败测试再修复。无新增长期文档影响:修正已批准唯一安全导航目标识别,不改变Wiki已记录的动作范围/契约。MCP不可用,API回退。
Author
Owner

v2 修复完成,待验收

提交981b3d4已推送fix/307-backfill-entry。只改回填全部标签的中心顺序/点击中心隔离及已识别同排导航标签的误报处理,不修改通用safe规则或采购/采集流程。
验证:先加入真实结构边界回归测试,旧代码22项中1失败(新增现场测试);修复后22项全部通过,APK构建成功,diff --check通过。涵盖3像素重叠、待付款导航误报、真实去支付重叠仍拒绝、邻标签覆盖点击中心及反向排列拒绝。
命令:gradlew :app:testDebugUnitTest --tests '*OrderBackfillTest' :app:assembleDebug。
APK SHA256:7db8e75cf4569152c5ff002cd0f8efadbc2237e9f22a9c4ca40661bb0fc3b6df。
未安装v2、未执行真实回填写入;真机端到端仍待验收,不宣称所有后续卡片已兼容。原v1文档仍适用,无新增长期契约/动作范围变化,跳过重复Wiki同步。

## v2 修复完成,待验收 提交981b3d4已推送fix/307-backfill-entry。只改回填全部标签的中心顺序/点击中心隔离及已识别同排导航标签的误报处理,不修改通用safe规则或采购/采集流程。 验证:先加入真实结构边界回归测试,旧代码22项中1失败(新增现场测试);修复后22项全部通过,APK构建成功,diff --check通过。涵盖3像素重叠、待付款导航误报、真实去支付重叠仍拒绝、邻标签覆盖点击中心及反向排列拒绝。 命令:gradlew :app:testDebugUnitTest --tests '*OrderBackfillTest' :app:assembleDebug。 APK SHA256:7db8e75cf4569152c5ff002cd0f8efadbc2237e9f22a9c4ca40661bb0fc3b6df。 未安装v2、未执行真实回填写入;真机端到端仍待验收,不宣称所有后续卡片已兼容。原v1文档仍适用,无新增长期契约/动作范围变化,跳过重复Wiki同步。
Author
Owner

2026-09-18 用户授权安装:v2提交981b3d4已通过adb install -r覆盖安装到指定真机,返回Success,保留应用数据。设备APK SHA256与构建一致:7db8e75cf4569152c5ff002cd0f8efadbc2237e9f22a9c4ca40661bb0fc3b6df;安装时间11:06:00。未触发真实回填,待人工验收。

2026-09-18 用户授权安装:v2提交981b3d4已通过adb install -r覆盖安装到指定真机,返回Success,保留应用数据。设备APK SHA256与构建一致:7db8e75cf4569152c5ff002cd0f8efadbc2237e9f22a9c4ca40661bb0fc3b6df;安装时间11:06:00。未触发真实回填,待人工验收。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#307