Client 开始自动采集/采购或手动重新采集前,目前只判断是否保存了 Android 设备号,没有确认对应 USB/Wi-Fi 设备仍在 ADB 列表中且状态为 device。设备断开时,任务可能先被领取或改为待执行,直到 uiautomator2 真正连接时才失败。
device
pdd_data
client/src/android_device_service.py
require_connected(serial)
adb devices -l
client/src/task_dispatcher.py
client/src/pdd_ui_event.py
prepare_collect_rerun
InfoBar
docs/client/05-ui-specification.md
从 client/ 执行:
client/
C:/Python310/python.exe -m unittest discover -s test -p "test_android_device_service.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_task_dispatcher.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" C:/Python310/python.exe -m py_compile src/android_device_service.py src/task_dispatcher.py src/pdd_ui_event.py
使用假 ADB 输出覆盖 USB、Wi-Fi、未连接、offline、unauthorized 和命令失败;离屏验证提示按钮和状态。不执行真实采购、下单或付款。
风险:预检查通过后设备仍可能立即断开,因此不能删除运行期连接检查。ADB 预检查超时会中断本轮任务,但不会领取或改变任务状态。若出现回归,可回退本工单提交,恢复由自动化连接阶段发现断线的行为。
已完成代码实现和自动化回归,当前进入提交与归档阶段。
验证:cd client && python -m unittest discover -s test -v,223 项全部通过。真机 USB/Wi-Fi 断连提示与恢复后执行仍待人工验收。
cd client && python -m unittest discover -s test -v
实现与归档已提交:
e7fb06d
fix: 任务执行前检查 Android 设备连接 (#84)
de8c618
docs: 归档任务 #84
docs/task/84-任务执行前检查Android设备连接.md
自动化结果:Client 全量 223 项测试通过。
尚需真机验收:
adb devices
未执行真实采购、下单或付款。工单保持开启,待用户验收后再关闭并同步 #1、#2。
用户澄清:要优化的是采集、采购及重新采集失败后的错误提示。现有提示主要依赖右上角小 ×,不容易点击;此前只重点处理设备未连接提示,范围理解不完整。
×
本次修正:
新增验收:错误提示不再只能点击小 ×;5 秒后自动关闭;关闭按钮使用足够大的标准按钮点击区域;采集/采购错误不会连续堆叠。
已按用户澄清修正采集、采购和重新采集错误提示:
520 × 112
120 × 40
提交:
74198bd
fix: 放大任务错误提示并自动关闭 (#84)
9e38f89
docs: 更新任务 #84 验收修正归档
验证:
C:/Python310/python.exe -m py_compile src/pdd_ui_event.py test/test_pdd_ui_event.py
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py"
C:/Python310/python.exe -m unittest discover -s test -v
未执行真实采购、下单或付款。工单继续保持开启,等待人工确认提示大小和 5 秒关闭体验。
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
Client 开始自动采集/采购或手动重新采集前,目前只判断是否保存了 Android 设备号,没有确认对应 USB/Wi-Fi 设备仍在 ADB 列表中且状态为
device。设备断开时,任务可能先被领取或改为待执行,直到 uiautomator2 真正连接时才失败。做什么 / 不做什么
pdd_data;不自动打开无线调试或自动切换设备;不增加采购“重新执行”入口;不改变真实下单安全开关。怎么做
client/src/android_device_service.py:增加require_connected(serial),通过一次adb devices -l精确匹配已保存设备,并区分未连接、offline、unauthorized 和 ADB 执行失败。client/src/task_dispatcher.py:保留无设备也能补交 Outbox;在只读核对、本地手机任务和 Admin 新任务领取之前执行连接检查。client/src/pdd_ui_event.py:将同一检查器注入自动任务 Worker;手动重新采集在prepare_collect_rerun之前完成检查,失败时不改变任务状态。InfoBar显示“Android 设备未连接,任务未开始”,提供“打开设置”和“关闭提示”,同类新提示替换旧提示;底部同步状态。docs/client/05-ui-specification.md。验收标准
怎么验证
从
client/执行:使用假 ADB 输出覆盖 USB、Wi-Fi、未连接、offline、unauthorized 和命令失败;离屏验证提示按钮和状态。不执行真实采购、下单或付款。
风险和回退
风险:预检查通过后设备仍可能立即断开,因此不能删除运行期连接检查。ADB 预检查超时会中断本轮任务,但不会领取或改变任务状态。若出现回归,可回退本工单提交,恢复由自动化连接阶段发现断线的行为。
实施进度
已完成代码实现和自动化回归,当前进入提交与归档阶段。
device状态。pdd_data,采购仍仅演练且不开放采购重新执行。验证:
cd client && python -m unittest discover -s test -v,223 项全部通过。真机 USB/Wi-Fi 断连提示与恢复后执行仍待人工验收。已完成,等待验收
实现与归档已提交:
e7fb06dfix: 任务执行前检查 Android 设备连接 (#84)de8c618docs: 归档任务 #84docs/task/84-任务执行前检查Android设备连接.md自动化结果:Client 全量 223 项测试通过。
尚需真机验收:
adb devices为device后可继续执行。未执行真实采购、下单或付款。工单保持开启,待用户验收后再关闭并同步 #1、#2。
验收反馈与方案修正
用户澄清:要优化的是采集、采购及重新采集失败后的错误提示。现有提示主要依赖右上角小
×,不容易点击;此前只重点处理设备未连接提示,范围理解不完整。本次修正:
InfoBar。pdd_data。新增验收:错误提示不再只能点击小
×;5 秒后自动关闭;关闭按钮使用足够大的标准按钮点击区域;采集/采购错误不会连续堆叠。验收修正已完成,等待再次验收
已按用户澄清修正采集、采购和重新采集错误提示:
520 × 112,长中文错误更容易阅读。120 × 40,不再要求点击右上角小×。提交:
74198bdfix: 放大任务错误提示并自动关闭 (#84)9e38f89docs: 更新任务 #84 验收修正归档验证:
C:/Python310/python.exe -m py_compile src/pdd_ui_event.py test/test_pdd_ui_event.pyC:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py":32 项通过C:/Python310/python.exe -m unittest discover -s test -v:224 项通过未执行真实采购、下单或付款。工单继续保持开启,等待人工确认提示大小和 5 秒关闭体验。
用户已于 2026-08-11 明确验收通过。
eca9289