fix(android): 订单详情等待并读取订单号与下单时间 #196

Open
opened 2026-09-02 09:54:07 +08:00 by ila · 6 comments
Owner

需求摘要

用户反馈:PDD 创建待付款订单成功并跳转订单详情后,Agent 没有等待读取 PDD 订单号与下单时间。

前置与范围

  • 依赖:无;可独立实施。
  • 交付单元:android/(订单结果核对逻辑、Android 单测、APK 版本)。
  • 非目标:不改变下单、支付、地址处理或服务端接口;不执行真机下单或发布。

根因与方案

当前 readOrderResult 将订单详情页内的“立即支付”文字误判为支付 Activity,字段尚未出现时即执行返回。仅以明确 PDD PayActivity 判断支付页;在“待付款”上下文继续限定采样、等待并上滑读取折叠的订单号/下单时间。

设计证据

现有采购订单结果核对流程的 Bug 修复,无页面、导航或交互设计变化;不需要新增原型。

验收标准

  1. 正式采购规则在创建订单后继续执行 readOrderResult。
  2. 订单详情中“立即支付”不触发返回;真实 PayActivity 仍最多安全返回一次,绝不点击支付。
  3. 折叠详情可等待并上滑读取唯一 PDD 订单号与下单时间,随后回传 order_created。
  4. 订单号/时间缺失或页面异常仍以稳定错误码进入人工核对,不将结果误报成功。
  5. 相关 Android 单测与构建通过;APK versionCode 递增。

风险与验证

采购流程涉及不可逆创建订单。只做自动化测试和构建,不做真机创建订单、支付或发布;真机验证须另获人工明确授权。长期文档影响:无(内部缺陷修复,不变更长期契约或运行方式)。

## 需求摘要 用户反馈:PDD 创建待付款订单成功并跳转订单详情后,Agent 没有等待读取 PDD 订单号与下单时间。 ## 前置与范围 - 依赖:无;可独立实施。 - 交付单元:`android/`(订单结果核对逻辑、Android 单测、APK 版本)。 - 非目标:不改变下单、支付、地址处理或服务端接口;不执行真机下单或发布。 ## 根因与方案 当前 `readOrderResult` 将订单详情页内的“立即支付”文字误判为支付 Activity,字段尚未出现时即执行返回。仅以明确 PDD PayActivity 判断支付页;在“待付款”上下文继续限定采样、等待并上滑读取折叠的订单号/下单时间。 ## 设计证据 现有采购订单结果核对流程的 Bug 修复,无页面、导航或交互设计变化;不需要新增原型。 ## 验收标准 1. 正式采购规则在创建订单后继续执行 `readOrderResult`。 2. 订单详情中“立即支付”不触发返回;真实 PayActivity 仍最多安全返回一次,绝不点击支付。 3. 折叠详情可等待并上滑读取唯一 PDD 订单号与下单时间,随后回传 `order_created`。 4. 订单号/时间缺失或页面异常仍以稳定错误码进入人工核对,不将结果误报成功。 5. 相关 Android 单测与构建通过;APK versionCode 递增。 ## 风险与验证 采购流程涉及不可逆创建订单。只做自动化测试和构建,不做真机创建订单、支付或发布;真机验证须另获人工明确授权。长期文档影响:无(内部缺陷修复,不变更长期契约或运行方式)。
Author
Owner

实施完成,待验收

  • 提交并推送:4f64c07 fix(android): read folded PDD order details (#196)。
  • 订单详情不再因“立即支付”文字被误判为支付页;仅明确 PDD PayActivity 才安全返回一次。
  • 在“待付款”上下文中继续限定采样,并每 15 个样本向上滑动以读取折叠的订单号和下单时间。
  • 新增折叠详情与重复真实支付页的回归测试;不会点击支付。
  • APK 版本更新为 versionCode 52 / 0.9.39。

验证:

  • android\\gradlew.bat testDebugUnitTest --tests cn.ilapage.goauto.agent.PurchaseLiveAutomationTest:通过。
  • android\\gradlew.bat assembleDebug:通过。

未验证:未安装 APK、未进行真机测试,未创建真实订单、未支付、未发布;这些高风险步骤须由用户另行明确授权。

长期文档影响:无。此为 Android 内部订单详情识别缺陷修复,未改变共享 API、数据结构、业务契约或运行方式;按规则跳过 Wiki 更新与同步。

## 实施完成,待验收 - 提交并推送:`4f64c07 fix(android): read folded PDD order details (#196)`。 - 订单详情不再因“立即支付”文字被误判为支付页;仅明确 PDD PayActivity 才安全返回一次。 - 在“待付款”上下文中继续限定采样,并每 15 个样本向上滑动以读取折叠的订单号和下单时间。 - 新增折叠详情与重复真实支付页的回归测试;不会点击支付。 - APK 版本更新为 `versionCode 52` / `0.9.39`。 验证: - `android\\gradlew.bat testDebugUnitTest --tests cn.ilapage.goauto.agent.PurchaseLiveAutomationTest`:通过。 - `android\\gradlew.bat assembleDebug`:通过。 未验证:未安装 APK、未进行真机测试,未创建真实订单、未支付、未发布;这些高风险步骤须由用户另行明确授权。 长期文档影响:无。此为 Android 内部订单详情识别缺陷修复,未改变共享 API、数据结构、业务契约或运行方式;按规则跳过 Wiki 更新与同步。
Author
Owner

已按用户授权安装 Debug APK 到唯一连接真机 OnePlus PKG110(设备标识已脱敏,未写入仓库)。ADB 回读确认:cn.ilapage.goauto.agent 的 versionCode=52、versionName=0.9.39。未启动应用,未执行采购、创建订单或支付;订单流程真机验收仍需用户明确授权。

已按用户授权安装 Debug APK 到唯一连接真机 OnePlus PKG110(设备标识已脱敏,未写入仓库)。ADB 回读确认:`cn.ilapage.goauto.agent` 的 `versionCode=52`、`versionName=0.9.39`。未启动应用,未执行采购、创建订单或支付;订单流程真机验收仍需用户明确授权。
Author
Owner

用户已于 2026-09-02 明确授权本次发布。范围更新:以提交 4f64c07 构建服务端 Linux 二进制与 Admin 静态资源,按线上版本化发布目录部署并重启服务;构建 Agent APK,上传到 Admin Agent 版本管理并显式设为当前。发布前验证已开始:cd server && go test ./... 通过;Linux amd64 服务端构建通过;cd web && pnpm build:prod 通过(仅既有 CSS 兼容性与大 chunk 警告)。不执行真实订单创建或支付。

用户已于 2026-09-02 明确授权本次发布。范围更新:以提交 `4f64c07` 构建服务端 Linux 二进制与 Admin 静态资源,按线上版本化发布目录部署并重启服务;构建 Agent APK,上传到 Admin Agent 版本管理并显式设为当前。发布前验证已开始:`cd server && go test ./...` 通过;Linux amd64 服务端构建通过;`cd web && pnpm build:prod` 通过(仅既有 CSS 兼容性与大 chunk 警告)。不执行真实订单创建或支付。
Author
Owner

发布进度

  • 已部署提交 4f64c074ddab8e5f062589d1b916e20cdd8423f5 到服务器发布目录 /home/goauto/releases/20260902-4f64c07-r2;原子切换完成,goauto.service 为 active,服务端内部与外部 /api/v1/app-config 均返回 HTTP 200。
  • 发布前通过:cd server && go test ./...、Linux amd64 服务端构建、cd web && pnpm build:prod、cd android && gradlew.bat testDebugUnitTest assembleDebug。Web 构建只有既有 CSS 兼容性和大 chunk 警告。
  • APK 已构建:0.9.39 / versionCode 52,6,256,446 bytes,SHA-256 d39594dbef77ccdab581ede182576dd04886f70cba60ef3d9448115984f6fbad。
  • 阻塞:Admin 登录页可访问,但当前可用浏览器会话未登录管理员账号;尚未上传 APK 或设为当前版本,避免无认证或误操作。

未执行真实订单创建或支付。

## 发布进度 - 已部署提交 `4f64c074ddab8e5f062589d1b916e20cdd8423f5` 到服务器发布目录 `/home/goauto/releases/20260902-4f64c07-r2`;原子切换完成,`goauto.service` 为 `active`,服务端内部与外部 `/api/v1/app-config` 均返回 HTTP 200。 - 发布前通过:`cd server && go test ./...`、Linux amd64 服务端构建、`cd web && pnpm build:prod`、`cd android && gradlew.bat testDebugUnitTest assembleDebug`。Web 构建只有既有 CSS 兼容性和大 chunk 警告。 - APK 已构建:`0.9.39` / versionCode `52`,6,256,446 bytes,SHA-256 `d39594dbef77ccdab581ede182576dd04886f70cba60ef3d9448115984f6fbad`。 - 阻塞:Admin 登录页可访问,但当前可用浏览器会话未登录管理员账号;尚未上传 APK 或设为当前版本,避免无认证或误操作。 未执行真实订单创建或支付。
Author
Owner

管理员登录已确认,并已进入“设备列表 → Agent 版本管理”。当前版本 0.9.37(versionCode 50),0.9.39(versionCode 52)尚未存在。APK 上传被 Chrome 的 ChatGPT 扩展文件访问权限阻止,文件未传出、当前版本未改变;等待用户开启扩展的本地文件访问权限后重试。

管理员登录已确认,并已进入“设备列表 → Agent 版本管理”。当前版本 0.9.37(versionCode 50),0.9.39(versionCode 52)尚未存在。APK 上传被 Chrome 的 ChatGPT 扩展文件访问权限阻止,文件未传出、当前版本未改变;等待用户开启扩展的本地文件访问权限后重试。
Author
Owner

Chrome 已确认运行、ChatGPT 扩展已启用且 native-host 配置正确;用户授权打开新窗口后,扩展通信仍不可用,无法继续自动上传 APK。未上传文件、未改变当前 Agent 版本;等待恢复扩展连接或人工完成 Admin 上传。

Chrome 已确认运行、ChatGPT 扩展已启用且 native-host 配置正确;用户授权打开新窗口后,扩展通信仍不可用,无法继续自动上传 APK。未上传文件、未改变当前 Agent 版本;等待恢复扩展连接或人工完成 Admin 上传。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#196