fix(#60): stabilize per-color price capture
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Business-Rules-and-Glossary
|
||||
wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Business-Rules-and-Glossary.-
|
||||
wiki_revision: ca1aefbb4511cfd64d74eb3ba389cd8f944b5b2c
|
||||
synchronized_at: 2026-08-21T07:01:37Z
|
||||
wiki_revision: c3f7561d0b57fd7ec3d1b2bff273f8d7da7b724f
|
||||
synchronized_at: 2026-08-21T07:26:39Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 业务规则与术语
|
||||
@@ -101,6 +101,7 @@ synchronized_at: 2026-08-21T07:01:37Z
|
||||
- PDD 标题、店铺名、销量、评价数量。
|
||||
- 通用规格维度和值,当前重点是颜色和尺码。
|
||||
- 采集时按颜色读取价格;同一颜色下不同尺码默认价格相同。
|
||||
- 逐颜色价格只在精确点击后取得目标选中、已选摘要或规格面板变化证据,并等待候选价格连续稳定后保存;其他颜色残留的选中标记不能阻塞当前颜色。点击无效果时不能沿用旧价格,相同价格允许保存;无法确认选择、找不到价格和价格不稳定只记录结构化原因并按缺失价格提交。
|
||||
- 存储时展开 SKU 组合,将颜色价格复制到该颜色各尺码 SKU。
|
||||
- SKU 不完整仍提交已有结果并标记 `completed_partial`。
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Android-Agent-API-Contract
|
||||
wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Android-Agent-API-Contract.-
|
||||
wiki_revision: 086e1ec0d240c5837f141c26bb50aef02fd83612
|
||||
synchronized_at: 2026-08-21T07:02:01Z
|
||||
wiki_revision: 4530130b77dea4dc0d430307c7c9f57f460b7449
|
||||
synchronized_at: 2026-08-21T07:27:04Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# MVP 共享 API 契约
|
||||
@@ -167,7 +167,7 @@ Android 的 `pddProductDetailV1` 采集器执行以下固定流程:
|
||||
- 入口候选排除评价、评论、晒单和问答上下文,不使用全页面“规格词 + 任意数字”猜测;底部兜底必须命中真实购买/拼单文字及其可点击链路,且排除提交订单与支付语义。
|
||||
- 商品评价页与详情页共用 `NewPageActivity` 时,首次误触允许全局返回、重新验证详情页并重新定位一次;第二次误触停止。点击无变化、误入评价页和面板证据不匹配分别返回 `SPEC_ENTRY_CLICK_NO_EFFECT`、`SPEC_ENTRY_OPENED_REVIEW`、`SPEC_PANEL_EVIDENCE_NOT_MATCHED`。
|
||||
3. 规格面板以有界稳定读取恢复到顶部;横向颜色容器和纵向面板容器必须由已识别规格节点的祖先关系锁定,不能只按屏幕中最大滚动区域猜测。
|
||||
4. 颜色先归左,再按视觉行执行左到右、右到左交替的蛇形遍历;每次点击都在最新无障碍树中重新定位唯一文字控件,确认选中后连续读取相同价格。
|
||||
4. 颜色先归左,再按视觉行执行左到右、右到左交替的蛇形遍历;每次点击都在最新无障碍树中重新定位唯一文字控件。点击后必须取得目标选中、已选摘要或规格面板选中状态/价格变化证据,等待短暂刷新后连续读取相同价格;其他颜色残留选中标记不能阻塞当前颜色,同价合法,但动作无效果时不能沿用点击前旧价格。结构化轨迹只记录短颜色标签、点击结果、证据类型、价格采样和 `selection_not_confirmed`、`price_not_found`、`price_not_stable` 原因。
|
||||
5. 滚动优先调用目标容器的无障碍前进/后退动作;回退坐标手势时必须等待系统完成回调。视口签名包含规格文字和 bounds,连续稳定后才确认到边。
|
||||
6. 尺码仅通过有限次纵向滑动读取,不点击尺码;首次定位后保存容器和选项结构,标题滚出屏幕后仍可续页。颜色价格展开到该颜色下的可用尺码 SKU。
|
||||
7. 缺失颜色价格、尺码、第三规格维度或超过 SKU 上限时提交有界的 `completed_partial`;不猜测缺失值。采集期间离开商品页或出现验证码、登录、风控时明确失败。
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: OnePlus-Real-Device-Acceptance
|
||||
wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/OnePlus-Real-Device-Acceptance.-
|
||||
wiki_revision: c7cae738f3ce5758d23cae20fb26fa7bfe5afc3c
|
||||
synchronized_at: 2026-08-21T07:14:36Z
|
||||
wiki_revision: 183b6a636705fb4a3cd222692e0eae83c7cd279a
|
||||
synchronized_at: 2026-08-21T07:27:14Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 一加真机验收记录
|
||||
@@ -55,6 +55,7 @@ T17 只验证 PDD 商品采集最小闭环:Agent 注册与心跳、任务串
|
||||
- 浏览器点击返回值不可靠时,以离开浏览器后的最终 PDD 包名和 `NewPageActivity` 为页面事实,不把已成功跳转误报为动作失败。
|
||||
- 规格入口使用右下方“价格 + 购买/拼单语义 + 最近可点击容器”强证据,只用于打开规格面板。
|
||||
- 2026-08-21 三星 SM-G9700、PDD 7.95.0、商品 `172119352488` 的任务 42 暴露规格入口误触评价页:评价卡片包含规格词和数字,被旧兜底误判;评价页又与详情页共用 `NewPageActivity`。#59 收紧为明确选择语义或底部真实购买文字,排除评价上下文,并增加一次安全返回重试与分级错误。安装新 APK 并通过正式接口重置任务后,真机日志记录 `spec-entry source=bottom_purchase`、标签“快要抢光 免拼购买”、点击结果 `SUCCESS`,未进入商品评价页;规格面板采到 2 个颜色和 8 个尺码,任务以 `completed_partial` 提交,仅缺少颜色 `9031#长裤` 的价格。该缺失属于既有价格采集问题,不阻塞本次误触修复验收。
|
||||
- #60 针对上述颜色价格缺失增加点击生效证据、300ms 刷新保护、连续稳定读取和分级诊断。三星覆盖安装新 APK 后再次重置任务 42,结果为 `completed`、缺失清单为空:颜色 `8913#长裤` 与 `9031#长裤` 均取得 3112 分价格,8 个尺码完整;两个颜色的日志均显示 `target_state` 证据和连续 2 次稳定价格读取。
|
||||
- 图片型颜色卡片优先点击 `TextView` 颜色文字,排除 `ImageView`、“打开大图”和“查看大图”;真机不再进入 `SkuPhotoBrowseActivity`。
|
||||
- 任务 20 采到 4 个颜色,四个颜色价格均为 2690 分,并生成 4 个可用、完整的单维 SKU;标题和“已拼299件”已提交。
|
||||
- 管理端任务详情 API 返回 1 个规格维度、4 个颜色价格、4 个 SKU 和缺失清单,且没有原始控件树或截图字段。
|
||||
|
||||
Reference in New Issue
Block a user