修复规格面板地址入口恢复与地址页稳定识别 #65

Closed
opened 2026-08-22 09:25:10 +08:00 by ila · 6 comments
Owner

基本信息

  • 类型:缺陷
  • 所属 Epic:采购 MVP
  • 所属 MVP / 版本:Android 正式采购地址修改
  • 阶段:实施中
  • 前置依赖:#36、#64;参考 D:\chengma\cmautobuy\client 的已验证地址状态机思想,不复制 Python/XML 实现。
  • 是否可并行:否;影响 Android 正式采购地址动作与安全测试。
  • 子项目影响:android/、Wiki;不改 Server、Web、数据库、规则动作顺序或支付边界。

原始需求与事实证据

  • 来源:用户对话,2026-08-22。用户指出选好颜色尺码后仍在规格面板,应先让面板顶部的收货人和收货地址显示出来,Agent 才能定位;并要求分析 D:\chengma\cmautobuy\client 是否可参考,随后接受移植方案。
  • 三星 CG-8 已通过 #64 的颜色/尺码滚动精确选择、数量、价格和摘要校验,进入 updateShippingAddress 后以 PURCHASE_ADDRESS_UPDATE_FAILED:页面切换超时,未创建订单 失败。
  • CG-8 无不可逆时间、PDD 订单号或下单时间,未创建订单、未支付。
  • GoAuto 当前在地址入口不可见时调用通用 swipePurchase(DOWN),实现会选择面积最大的纵向滚动节点,没有锁定唯一规格面板容器;地址入口重复节点也只按 path 去重,阶段超时统一为同一错误。
  • cmautobuy/client/src/pdd_u2_purchase_adapter.py 的地址流程已验证:在规格面板内锁定唯一纵向容器、有限向下恢复顶部、每次刷新证据、稳定后点击唯一地址入口;再分阶段识别地址列表、编辑页、保存和返回。其测试覆盖地址被裁剪、多地址默认项、点击丢失、保存不稳定和系统浮层。

目标

  1. GoAuto 在已确认的 PDD 规格面板内锁定唯一纵向滚动容器,有限向下恢复顶部,使收货人/地址入口可见。
  2. 地址入口、默认地址修改按钮、详细地址输入、保存和返回均使用最新快照及唯一稳定证据。
  3. 地址流程按阶段返回普通人可理解的明确错误,任何失败均发生在创建订单不可逆边界之前。
  4. 保持现有 _cg{id} 地址规则、最终创建订单单击门禁和禁止支付不变。

非目标

  • 不新增 enterOrderConfirmation 动作,不改变服务端默认采购规则顺序。
  • 不创建采购任务,不执行真实地址修改、创建订单或支付。
  • 不保存原始控件树、截图、地址全文、手机号或其他个人数据。
  • 不复制 uiautomator2、XML 文件或坐标硬编码,不改 Server/Web/数据库。

已确认实施方案

  1. 扩展 Android 内部 PurchaseUiDriver,允许对当前快照中已验证的唯一规格滚动容器执行定向手势;AccessibilityService 每次按最新节点属性和边界重新定位,不使用旧坐标盲滑。
  2. updateShippingAddress 首先识别地址入口;未出现时只在唯一、可见、启用且尺寸合理的规格面板纵向容器内最多有限次数向下滑。每次重新抓取快照,结构证据连续不变则提前停止。
  3. 地址入口通过脱敏手机号关联最近可点击父容器;对边界近乎重合的重复节点严格合并,最终必须唯一。
  4. 地址列表的“修改”目标连续两次稳定后点击;多地址时只接受唯一“已设默认”卡片。首次点击仍停留同一稳定页面时最多安全重试一次,未知页面不重试。
  5. 编辑页只接受与“详细地址”同一区域的唯一 EditText;输入后连续回读一致,再验证唯一“保存”目标并单击一次。
  6. 保存后只接受返回地址页或原规格/订单确认面板;已知系统浮层最多关闭一次,未知页面不点击。
  7. 为入口、地址列表、编辑页、输入回读、保存和返回增加分阶段错误码/提示;诊断只保存候选数量、手势次数、稳定次数和页面类型,不含个人数据。
  8. 将 cmautobuy 的相关场景改写为 Kotlin 脱敏快照测试,不保存或读取原始控件树文件。

设计证据

内部 Android 自动化缺陷,无页面或用户交互变化;不需要 QuantUX/HTML 原型。参考项目只作为算法证据,GoAuto 仍使用 AccessibilityService 和既有安全契约。

验收标准

  • 地址被规格滚动内容裁剪时,只在唯一规格面板容器内有限向下拉并重新读取,最终定位唯一地址入口。
  • 没有唯一面板容器、地址入口或默认地址时明确失败,不点击其他区域。
  • 地址“修改”目标需要稳定证据;丢失点击最多安全重试一次,未知页面不重试。
  • 详细地址输入和保存按钮回读稳定后才单击保存,保存只执行一次。
  • 全流程不保存控件树、截图、地址全文或手机号到日志、任务或诊断。
  • 地址失败不进入不可逆边界、不创建订单、不支付。
  • Android 全部单元测试、Debug APK 构建和组件验证通过。

验证

  • android/gradlew.bat test assembleDebug
  • scripts/verify.ps1 -Component android
  • python dev_scripts/harness.py check --strict
  • git diff --check
  • 真机复验不在本次自动实施内;安装 APK 和正式采购仍需用户单独授权。

文档影响

  • 更新 Wiki Business-Rules-and-Glossary 和 Android-Agent-API-Contract,记录地址入口恢复、稳定点击、无个人数据诊断和失败关闭规则;完成后创建 Wiki 任务归档,不自动导出 docs/task/。

风险与控制

  • 错误滚动或误点地址:只允许唯一规格面板容器和唯一最新候选,结构不稳定立即停止。
  • 重复修改/保存:地址入口和修改仅在可逆页面受控重试;保存按钮最多点击一次,创建订单门禁完全不变。
  • 个人数据泄露:仅在内存中比较地址,错误和诊断不包含地址、手机号、控件树或截图。
  • 支付风险:不新增付款动作;支付页面证据仍立即失败。
## 基本信息 - 类型:缺陷 - 所属 Epic:采购 MVP - 所属 MVP / 版本:Android 正式采购地址修改 - 阶段:实施中 - 前置依赖:#36、#64;参考 `D:\chengma\cmautobuy\client` 的已验证地址状态机思想,不复制 Python/XML 实现。 - 是否可并行:否;影响 Android 正式采购地址动作与安全测试。 - 子项目影响:`android/`、Wiki;不改 Server、Web、数据库、规则动作顺序或支付边界。 ## 原始需求与事实证据 - 来源:用户对话,2026-08-22。用户指出选好颜色尺码后仍在规格面板,应先让面板顶部的收货人和收货地址显示出来,Agent 才能定位;并要求分析 `D:\chengma\cmautobuy\client` 是否可参考,随后接受移植方案。 - 三星 CG-8 已通过 #64 的颜色/尺码滚动精确选择、数量、价格和摘要校验,进入 `updateShippingAddress` 后以 `PURCHASE_ADDRESS_UPDATE_FAILED:页面切换超时,未创建订单` 失败。 - CG-8 无不可逆时间、PDD 订单号或下单时间,未创建订单、未支付。 - GoAuto 当前在地址入口不可见时调用通用 `swipePurchase(DOWN)`,实现会选择面积最大的纵向滚动节点,没有锁定唯一规格面板容器;地址入口重复节点也只按 path 去重,阶段超时统一为同一错误。 - `cmautobuy/client/src/pdd_u2_purchase_adapter.py` 的地址流程已验证:在规格面板内锁定唯一纵向容器、有限向下恢复顶部、每次刷新证据、稳定后点击唯一地址入口;再分阶段识别地址列表、编辑页、保存和返回。其测试覆盖地址被裁剪、多地址默认项、点击丢失、保存不稳定和系统浮层。 ## 目标 1. GoAuto 在已确认的 PDD 规格面板内锁定唯一纵向滚动容器,有限向下恢复顶部,使收货人/地址入口可见。 2. 地址入口、默认地址修改按钮、详细地址输入、保存和返回均使用最新快照及唯一稳定证据。 3. 地址流程按阶段返回普通人可理解的明确错误,任何失败均发生在创建订单不可逆边界之前。 4. 保持现有 `_cg{id}` 地址规则、最终创建订单单击门禁和禁止支付不变。 ## 非目标 - 不新增 `enterOrderConfirmation` 动作,不改变服务端默认采购规则顺序。 - 不创建采购任务,不执行真实地址修改、创建订单或支付。 - 不保存原始控件树、截图、地址全文、手机号或其他个人数据。 - 不复制 uiautomator2、XML 文件或坐标硬编码,不改 Server/Web/数据库。 ## 已确认实施方案 1. 扩展 Android 内部 `PurchaseUiDriver`,允许对当前快照中已验证的唯一规格滚动容器执行定向手势;AccessibilityService 每次按最新节点属性和边界重新定位,不使用旧坐标盲滑。 2. `updateShippingAddress` 首先识别地址入口;未出现时只在唯一、可见、启用且尺寸合理的规格面板纵向容器内最多有限次数向下滑。每次重新抓取快照,结构证据连续不变则提前停止。 3. 地址入口通过脱敏手机号关联最近可点击父容器;对边界近乎重合的重复节点严格合并,最终必须唯一。 4. 地址列表的“修改”目标连续两次稳定后点击;多地址时只接受唯一“已设默认”卡片。首次点击仍停留同一稳定页面时最多安全重试一次,未知页面不重试。 5. 编辑页只接受与“详细地址”同一区域的唯一 EditText;输入后连续回读一致,再验证唯一“保存”目标并单击一次。 6. 保存后只接受返回地址页或原规格/订单确认面板;已知系统浮层最多关闭一次,未知页面不点击。 7. 为入口、地址列表、编辑页、输入回读、保存和返回增加分阶段错误码/提示;诊断只保存候选数量、手势次数、稳定次数和页面类型,不含个人数据。 8. 将 `cmautobuy` 的相关场景改写为 Kotlin 脱敏快照测试,不保存或读取原始控件树文件。 ## 设计证据 内部 Android 自动化缺陷,无页面或用户交互变化;不需要 QuantUX/HTML 原型。参考项目只作为算法证据,GoAuto 仍使用 AccessibilityService 和既有安全契约。 ## 验收标准 - [ ] 地址被规格滚动内容裁剪时,只在唯一规格面板容器内有限向下拉并重新读取,最终定位唯一地址入口。 - [ ] 没有唯一面板容器、地址入口或默认地址时明确失败,不点击其他区域。 - [ ] 地址“修改”目标需要稳定证据;丢失点击最多安全重试一次,未知页面不重试。 - [ ] 详细地址输入和保存按钮回读稳定后才单击保存,保存只执行一次。 - [ ] 全流程不保存控件树、截图、地址全文或手机号到日志、任务或诊断。 - [ ] 地址失败不进入不可逆边界、不创建订单、不支付。 - [ ] Android 全部单元测试、Debug APK 构建和组件验证通过。 ## 验证 - `android/gradlew.bat test assembleDebug` - `scripts/verify.ps1 -Component android` - `python dev_scripts/harness.py check --strict` - `git diff --check` - 真机复验不在本次自动实施内;安装 APK 和正式采购仍需用户单独授权。 ## 文档影响 - 更新 Wiki `Business-Rules-and-Glossary` 和 `Android-Agent-API-Contract`,记录地址入口恢复、稳定点击、无个人数据诊断和失败关闭规则;完成后创建 Wiki 任务归档,不自动导出 `docs/task/`。 ## 风险与控制 - 错误滚动或误点地址:只允许唯一规格面板容器和唯一最新候选,结构不稳定立即停止。 - 重复修改/保存:地址入口和修改仅在可逆页面受控重试;保存按钮最多点击一次,创建订单门禁完全不变。 - 个人数据泄露:仅在内存中比较地址,错误和诊断不包含地址、手机号、控件树或截图。 - 支付风险:不新增付款动作;支付页面证据仍立即失败。
Author
Owner

#65 已实施,现停在待用户验收。

实现与安全边界:

  • 选好规格后仍在当前规格/下单面板内恢复地址入口,不新增“进入确认页”点击。
  • 只在唯一的主要纵向面板容器内有限向下滑动;多个面板或多个独立地址入口明确失败。
  • 合并近乎完全重叠的无障碍重复入口;分阶段返回面板、编辑、输入和保存超时错误。
  • 保持地址后缀回读、创建订单只点击一次和永不支付边界;不保存控件树、截图、手机号或完整地址。

验证:

  • Android 定向单元测试:通过。
  • Android 全量单元测试与 Debug APK:通过。
  • scripts/verify.ps1 -Component android:通过。
  • python dev_scripts/harness.py check --strict:通过。
  • 最新 APK 已通过 adb install -r 安装到三星 SM_G9700。
  • 未创建正式采购任务,未修改真实地址,未点击创建订单,未支付。

提交:f5ac7f6
Wiki 长期文档 revision:78583c8528b4157a90b1fe221fa39288480cb90a
任务归档:https://git.ilapage.cn/OPC/goauto/wiki/Task-65-purchase-address-panel-recovery (revision 7805f301f60e34fcbee47d5bdb582ddcba4287fe)

说明:harness.py sync --verify 因当前 Gitea Wiki API 返回 404 无法自动执行,已使用 Wiki Git 先写入并回读,再更新本地镜像。

#65 已实施,现停在待用户验收。 实现与安全边界: - 选好规格后仍在当前规格/下单面板内恢复地址入口,不新增“进入确认页”点击。 - 只在唯一的主要纵向面板容器内有限向下滑动;多个面板或多个独立地址入口明确失败。 - 合并近乎完全重叠的无障碍重复入口;分阶段返回面板、编辑、输入和保存超时错误。 - 保持地址后缀回读、创建订单只点击一次和永不支付边界;不保存控件树、截图、手机号或完整地址。 验证: - Android 定向单元测试:通过。 - Android 全量单元测试与 Debug APK:通过。 - `scripts/verify.ps1 -Component android`:通过。 - `python dev_scripts/harness.py check --strict`:通过。 - 最新 APK 已通过 `adb install -r` 安装到三星 SM_G9700。 - 未创建正式采购任务,未修改真实地址,未点击创建订单,未支付。 提交:`f5ac7f6` Wiki 长期文档 revision:`78583c8528b4157a90b1fe221fa39288480cb90a` 任务归档:https://git.ilapage.cn/OPC/goauto/wiki/Task-65-purchase-address-panel-recovery (revision `7805f301f60e34fcbee47d5bdb582ddcba4287fe`) 说明:`harness.py sync --verify` 因当前 Gitea Wiki API 返回 404 无法自动执行,已使用 Wiki Git 先写入并回读,再更新本地镜像。
Author
Owner

真机续验与后续修复:

  • 经用户明确授权创建正式任务 CG-9(三星、商品 172119352488、精确规格、数量 1;允许改地址和创建订单,禁止支付)。
  • CG-9 在 2026-08-22 09:40 安全失败:PURCHASE_ADDRESS_PANEL_TIMEOUT,无 PDD 订单号、无 irreversible_at,未创建订单、未支付。
  • 该结果证明规格面板定向下拉和地址入口识别已成功;失败发生在地址入口点击后未打开地址页。
  • 脱敏结构检查确认:手机号文字节点不可点击,其最近可点击祖先覆盖几乎整个下单面板,原实现点击了宽泛祖先中心。
  • 已改为每次重新定位唯一脱敏手机号文字节点,并直接在该文字节点中心执行一次精确手势;不再点击宽泛祖先。
  • Android 全量测试、Debug APK 和组件验证通过;最新 APK 已安装三星,设备在线且无障碍开启。

提交:464a3b8
长期 Wiki revision:c73a9813f171311b94c43ae737830cd6fb270ee3
任务归档 revision:e1fbe18e927880290dbb53539ab5e33578843ca0

最新 APK 尚未再次创建正式采购任务。按高风险门禁,需用户重新明确授权后才能继续改真实地址和点击创建订单;支付始终禁止。

真机续验与后续修复: - 经用户明确授权创建正式任务 CG-9(三星、商品 172119352488、精确规格、数量 1;允许改地址和创建订单,禁止支付)。 - CG-9 在 2026-08-22 09:40 安全失败:`PURCHASE_ADDRESS_PANEL_TIMEOUT`,无 PDD 订单号、无 `irreversible_at`,未创建订单、未支付。 - 该结果证明规格面板定向下拉和地址入口识别已成功;失败发生在地址入口点击后未打开地址页。 - 脱敏结构检查确认:手机号文字节点不可点击,其最近可点击祖先覆盖几乎整个下单面板,原实现点击了宽泛祖先中心。 - 已改为每次重新定位唯一脱敏手机号文字节点,并直接在该文字节点中心执行一次精确手势;不再点击宽泛祖先。 - Android 全量测试、Debug APK 和组件验证通过;最新 APK 已安装三星,设备在线且无障碍开启。 提交:`464a3b8` 长期 Wiki revision:`c73a9813f171311b94c43ae737830cd6fb270ee3` 任务归档 revision:`e1fbe18e927880290dbb53539ab5e33578843ca0` 最新 APK 尚未再次创建正式采购任务。按高风险门禁,需用户重新明确授权后才能继续改真实地址和点击创建订单;支付始终禁止。
Author
Owner

第二次授权真机结果与后续修复:

  • 创建正式任务 CG-10,目标与 CG-9 相同,指定三星,允许改地址和创建订单,禁止支付。
  • CG-10 已通过规格面板定向下拉和脱敏手机号中心精确手势,成功进入“收货地址”页。
  • 随后在唯一“修改”按钮处安全失败:RULE_ACTION_FAILED:修改地址 点击失败。无 PDD 订单号、无 irreversible_at,未创建订单、未支付。
  • 脱敏结构确认:“修改”文字节点不可点击,但同尺寸父节点可点击。原 uniqueClickable 错误地把原始文字锚点替换成无文字父节点,造成 clickFresh 无法重新定位。
  • 已统一修复为保留原始文字节点作为新鲜定位锚点,仅用父节点证明存在可点击路径,实际动作再从新鲜文字节点向上执行。该修复同时覆盖“修改”“保存”和“提交订单”。
  • Android 定向及全量测试、Debug APK 构建通过;最新 APK 已安装三星,设备在线、无障碍开启。

提交:3405439
长期 Wiki revision:1a159d83d38175ce2d66b9b1c11ae300b88f4a10
任务归档 revision:44f64d3845e2a0a44896e3e83c711f4cdf307968

最新文字锚点修复尚未创建正式任务。按高风险门禁,需要用户再次明确授权后才能继续修改真实地址和点击创建订单;支付始终禁止。

第二次授权真机结果与后续修复: - 创建正式任务 CG-10,目标与 CG-9 相同,指定三星,允许改地址和创建订单,禁止支付。 - CG-10 已通过规格面板定向下拉和脱敏手机号中心精确手势,成功进入“收货地址”页。 - 随后在唯一“修改”按钮处安全失败:`RULE_ACTION_FAILED:修改地址 点击失败`。无 PDD 订单号、无 `irreversible_at`,未创建订单、未支付。 - 脱敏结构确认:“修改”文字节点不可点击,但同尺寸父节点可点击。原 `uniqueClickable` 错误地把原始文字锚点替换成无文字父节点,造成 `clickFresh` 无法重新定位。 - 已统一修复为保留原始文字节点作为新鲜定位锚点,仅用父节点证明存在可点击路径,实际动作再从新鲜文字节点向上执行。该修复同时覆盖“修改”“保存”和“提交订单”。 - Android 定向及全量测试、Debug APK 构建通过;最新 APK 已安装三星,设备在线、无障碍开启。 提交:`3405439` 长期 Wiki revision:`1a159d83d38175ce2d66b9b1c11ae300b88f4a10` 任务归档 revision:`44f64d3845e2a0a44896e3e83c711f4cdf307968` 最新文字锚点修复尚未创建正式任务。按高风险门禁,需要用户再次明确授权后才能继续修改真实地址和点击创建订单;支付始终禁止。
Author
Owner

第三次授权真机结果与后续修复:

  • 创建正式任务 CG-11,目标与前两次一致,指定三星,允许改地址和创建订单,禁止支付。
  • CG-11 已通过规格面板定向下拉、地址入口手势和“修改”文字锚点,成功进入地址编辑页。
  • 随后安全失败:PURCHASE_ADDRESS_UPDATE_FAILED:没有找到唯一的详细地址输入框,未创建订单。无 PDD 订单号、无 irreversible_at,未创建订单、未支付。
  • 脱敏结构确认编辑页有 3 个启用输入框(收货人、手机号、详细地址),且“详细地址”标签与目标输入框具有唯一的同行空间关系。原实现错误地要求页面只能有一个非空输入框。
  • 已改为以“详细地址”标签为结构锚点,只接受与标签纵向相交且位于右侧的唯一输入框;不按总数或顺序猜测。
  • 三输入框单元测试、Android 全量测试和 Debug APK 构建通过;最新 APK 已安装三星,设备在线、无障碍开启。

提交:553dc46
长期 Wiki revision:9bfa80734dd6ce68d985e4ba1ad17025bc17b28b
任务归档 revision:cda798c3f44c9110b2ae9148faa4e176cc8ae04f

最新详细地址定位修复尚未创建正式任务。按高风险门禁,需要用户再次明确授权后才能继续修改真实地址和点击创建订单;支付始终禁止。

第三次授权真机结果与后续修复: - 创建正式任务 CG-11,目标与前两次一致,指定三星,允许改地址和创建订单,禁止支付。 - CG-11 已通过规格面板定向下拉、地址入口手势和“修改”文字锚点,成功进入地址编辑页。 - 随后安全失败:`PURCHASE_ADDRESS_UPDATE_FAILED:没有找到唯一的详细地址输入框,未创建订单`。无 PDD 订单号、无 `irreversible_at`,未创建订单、未支付。 - 脱敏结构确认编辑页有 3 个启用输入框(收货人、手机号、详细地址),且“详细地址”标签与目标输入框具有唯一的同行空间关系。原实现错误地要求页面只能有一个非空输入框。 - 已改为以“详细地址”标签为结构锚点,只接受与标签纵向相交且位于右侧的唯一输入框;不按总数或顺序猜测。 - 三输入框单元测试、Android 全量测试和 Debug APK 构建通过;最新 APK 已安装三星,设备在线、无障碍开启。 提交:`553dc46` 长期 Wiki revision:`9bfa80734dd6ce68d985e4ba1ad17025bc17b28b` 任务归档 revision:`cda798c3f44c9110b2ae9148faa4e176cc8ae04f` 最新详细地址定位修复尚未创建正式任务。按高风险门禁,需要用户再次明确授权后才能继续修改真实地址和点击创建订单;支付始终禁止。
Author
Owner

第四次授权真机结果:

  • 创建正式任务 CG-12,目标与前次一致,指定三星,允许改地址和创建订单,禁止支付。
  • 地址链路已完整通过:规格面板定向下拉、地址入口、修改入口、三输入框中的详细地址定位、地址后缀写入、保存回读及最终商品/规格/数量/价格复核均成功。
  • 任务于 2026-08-22 10:03:43.027 进入 order_submit_started,创建订单按钮只点击一次。
  • 随后设备停留在 Android 系统 ChooserActivity;Agent 未取得唯一 PDD 订单号和下单时间,任务进入 order_result_unknown。数据库无订单号、无下单时间;全程未支付。
  • 按不可逆门禁,禁止自动重试、再次点击创建订单或自动解除未知结果。必须人工返回 PDD 检查待付款订单。

结论:#65 的地址入口恢复与地址修改链路已获得真机证据。Android 系统选择器导致只读核单失败属于相邻新缺陷,应独立建单处理,不能继续混入 #65。

任务归档 revision:393d3aa247774d0cb8d8d134392fb841d6af0a83

第四次授权真机结果: - 创建正式任务 CG-12,目标与前次一致,指定三星,允许改地址和创建订单,禁止支付。 - 地址链路已完整通过:规格面板定向下拉、地址入口、修改入口、三输入框中的详细地址定位、地址后缀写入、保存回读及最终商品/规格/数量/价格复核均成功。 - 任务于 `2026-08-22 10:03:43.027` 进入 `order_submit_started`,创建订单按钮只点击一次。 - 随后设备停留在 Android 系统 `ChooserActivity`;Agent 未取得唯一 PDD 订单号和下单时间,任务进入 `order_result_unknown`。数据库无订单号、无下单时间;全程未支付。 - 按不可逆门禁,禁止自动重试、再次点击创建订单或自动解除未知结果。必须人工返回 PDD 检查待付款订单。 结论:#65 的地址入口恢复与地址修改链路已获得真机证据。Android 系统选择器导致只读核单失败属于相邻新缺陷,应独立建单处理,不能继续混入 #65。 任务归档 revision:`393d3aa247774d0cb8d8d134392fb841d6af0a83`
Author
Owner

用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。

用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。
ila closed this issue 2026-08-29 20:43:35 +08: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#65