client/src 当前只有 demo1 下直接连接 uiautomator2 的实验脚本,以及 util 下等待商品页、解析控件树、定位规格面板等零散函数。正式 Client 尚无统一的设备连接边界和 collect(task) -> CollectResult 商品采集服务,应用层不能安全、稳定地调用现有实验代码。
client/src
demo1
util
collect(task) -> CollectResult
dimensions
client/src/pdd_device_service.py
client/src/pdd_collect_service.py
client/src/util/loaded_pdd.py
client/test/
QObject + moveToThread
预计修改文件:
client/test/test_pdd_device_service.py
client/test/test_pdd_collect_service.py
client/test/fixtures/
client/src/demo1
从仓库根目录执行:
C:/Python310/python.exe -m pytest client/test/test_pdd_device_service.py client/test/test_pdd_collect_service.py -q C:/Python310/python.exe -m compileall client/src
真机验证�����使用设置页已保存且已授权的 Android 设备,运行采集测试入口打开一个测试商品,核对标题、店铺、数量、规格组合和价格;确认流程不会进入采购或下单步骤。真机 XML、截图和日志必须脱敏,不得提交账号、Cookie、Token 或支付信息。
代码已完成并进入待验收:
pdd_data
验证结果:Client 全量 116 passed;compileall 和 git diff --check 通过。现有用户 XML 仅用于本地只读兼容性检查,未加入提交。真机商品采集尚未执行,最后一项验收保持未勾选。
116 passed
compileall
git diff --check
实现提交:4aff22c feat: 实现 PDD 商品采集基础服务 (#28)
4aff22c
feat: 实现 PDD 商品采集基础服务 (#28)
提交前增加了商品链接安全校验:只接受 PDD 域名,商品编号必须为数字;任务自带 goods_id 时必须与 URL 一致,避免打开错误商品。
goods_id
最终验证:Client 全量 118 passed,其中 #28 新增 16 项;compileall 与任务文件 git diff --check 通过。
118 passed
提交:
f1c2700
0044442
77ec0d9
107366f
归档:docs/task/28-实现-uiautomator2-设备连接与-pdd-商品采集基础服务.md
docs/task/28-实现-uiautomator2-设备连接与-pdd-商品采集基础服务.md
真机完整采集仍未执行,工单保持打开和待验收;不会在本工单中接任务按钮或执行采购、下单。
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
client/src当前只有demo1下直接连接 uiautomator2 的实验脚本,以及util下等待商品页、解析控件树、定位规格面板等零散函数。正式 Client 尚无统一的设备连接边界和collect(task) -> CollectResult商品采集服务,应用层不能安全、稳定地调用现有实验代码。做什么 / 不做什么
dimensions和 SKU 组合,不写死只有颜色、尺码两个字段;util工具,但正式流程不得导入demo1;怎么做
client/src/pdd_device_service.py,只负责连接已选设备、检查连接状态和约束 uiautomator2 Device 的生命周期;Device 只能由一个调用线程持有,不跨线程共享。client/src/pdd_collect_service.py,提供清晰的正式采集入口,并把页面操作、XML 解析和结果组装分成容易测试的小函数。client/src/util/loaded_pdd.py等工具只在职责合适时复用;需要调整时保持接口简单,不引入复杂继承。client/test/增加对应测试,使用脱敏 XML 固件或最小模拟对象覆盖解析、等待、异常和结果结构。QObject + moveToThread接线由后续独立工单完成。预计修改文件:
client/src/pdd_device_service.pyclient/src/pdd_collect_service.pyclient/src/util/loaded_pdd.py(仅在需要���)client/test/test_pdd_device_service.pyclient/test/test_pdd_collect_service.pyclient/test/fixtures/下必要的脱敏 XML 固件验收标准
client/src/demo1,实验脚本不会进入正式调用链。怎么验证
从仓库根目录执行:
真机验证�����使用设置页已保存且已授权的 Android 设备,运行采集测试入口打开一个测试商品,核对标题、店铺、数量、规格组合和价格;确认流程不会进入采购或下单步骤。真机 XML、截图和日志必须脱敏,不得提交账号、Cookie、Token 或支付信息。
风险和回退
实施记录(2026-08-07)
代码已完成并进入待验收:
collect(task) -> CollectResult,输出pdd_datav1;demo1,未接 Qt、数据库、Admin、采购或下单;验证结果:Client 全量
116 passed;compileall和git diff --check通过。现有用户 XML 仅用于本地只读兼容性检查,未加入提交。真机商品采集尚未执行,最后一项验收保持未勾选。实现提交:
4aff22cfeat: 实现 PDD 商品采集基础服务 (#28)待验收补充
提交前增加了商品链接安全校验:只接受 PDD 域名,商品编号必须为数字;任务自带
goods_id时必须与 URL 一致,避免打开错误商品。最终验证:Client 全量
118 passed,其中 #28 新增 16 项;compileall与任务文件git diff --check通过。提交:
4aff22c基础采集服务f1c2700商品链接与编号一致性校验0044442、77ec0d9、107366f本地任务归档及补充归档:
docs/task/28-实现-uiautomator2-设备连接与-pdd-商品采集基础服务.md真机完整采集仍未执行,工单保持打开和待验收;不会在本工单中接任务按钮或执行采购、下单。
用户已于 2026-08-11 明确验收通过。
eca9289