设置页“当前设备”和“Android 设备”的状态提示目前各自占用卡片底部一行,信息与对应标题分离。“无线地址”输入和“连接”按钮目前只发出事件,没有正式 ADB 连接实现。已选择的 Android 设备也没有检查拼多多 App 是否安装,可能保存一台不能执行后续任务的设备。
com.xunmeng.pinduoduo
QObject + moveToThread
AndroidDeviceService
adb shell pm path com.xunmeng.pinduoduo
settings_ui.py
QHBoxLayout
settings_ui_event.py
预计修改文件:
client/src/settings_ui.py
client/src/settings_ui_event.py
client/src/android_device_service.py
client/test/test_android_device_service.py
client/test/test_settings_ui_event.py
从 client/ 目录执行:
client/
C:/Python310/python.exe -m pytest test/test_android_device_service.py test/test_settings_ui_event.py -q C:/Python310/python.exe -m py_compile src/settings_ui.py src/settings_ui_event.py src/android_device_service.py $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -c "from src.ui_main import MainWindow; from PyQt5.QtWidgets import QApplication; app=QApplication([]); w=MainWindow(); print('OK'); app.quit()" Remove-Item Env:QT_QPA_PLATFORM
真机验证:连接一台安装 PDD 的设备和一台未安装 PDD 的设备,分别搜索、勾选和保存,核对状态及保存拦截行为;不启动 PDD,不执行采集或采购。
代码已完成并进入待验收:
CaptionLabel
验证结果:Client 全量 102 passed;语法检查、离屏主窗口启动/退出、git diff --check 均通过。真机安装/未安装两种状态仍需验收。
102 passed
git diff --check
代码提交:6d863a1 feat: 检测 Android 设备 PDD 安装状态 (#29)
6d863a1
feat: 检测 Android 设备 PDD 安装状态 (#29)
本地任务归档已提交:
docs/task/29-设置页显示-pdd-安装状态并调整设备提示布局.md
52f11ee
docs: 归档任务 #29
工单保持“待验收”和打开状态;用户验收后再关闭并更新父工单。
用户于 2026-08-07 确认验收通过。工单已关闭,父工单 #1、#2 已同步勾选。验收记录提交:d2decc7。
d2decc7
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
设置页“当前设备”和“Android 设备”的状态提示目前各自占用卡片底部一行,信息与对应标题分离。“无线地址”输入和“连接”按钮目前只发出事件,没有正式 ADB 连接实现。已选择的 Android 设备也没有检查拼多多 App 是否安装,可能保存一台不能执行后续任务的设备。
做什么 / 不做什么
com.xunmeng.pinduoduo是否安装;QObject + moveToThread后台模型中执行,并忽略设备切换后的过期结果;怎么做
AndroidDeviceService增加按设备号执行adb shell pm path com.xunmeng.pinduoduo的查询方法,返回明确的已安装/未安装结果,ADB 错误继续使用可读异常。settings_ui.py使用标题行QHBoxLayout放置 SubtitleLabel、弹性空白和原 CaptionLabel;新增只读 PDD 应用状态标签,移除无线地址相关控件。settings_ui_event.py增加独立 PDD 检测 Worker。搜索完成且已有勾选设备时检测;勾选变化时检测;点击保存时重新检测,只有当前选中设备检测为已安装才进入原保存流程。预计修改文件:
client/src/settings_ui.pyclient/src/settings_ui_event.pyclient/src/android_device_service.pyclient/test/test_android_device_service.pyclient/test/test_settings_ui_event.py验收标准
com.xunmeng.pinduoduo,不遍历完整 App 列表。怎么验证
从
client/目录执行:真机验证:连接一台安装 PDD 的设备和一台未安装 PDD 的设备,分别搜索、勾选和保存,核对状态及保存拦截行为;不启动 PDD,不执行采集或采购。
风险和回退
实施记录(2026-08-07)
代码已完成并进入待验收:
CaptionLabel字号;com.xunmeng.pinduoduo;验证结果:Client 全量
102 passed;语法检查、离屏主窗口启动/退出、git diff --check均通过。真机安装/未安装两种状态仍需验收。代码提交:
6d863a1feat: 检测 Android 设备 PDD 安装状态 (#29)本地任务归档已提交:
docs/task/29-设置页显示-pdd-安装状态并调整设备提示布局.md52f11eedocs: 归档任务 #29工单保持“待验收”和打开状态;用户验收后再关闭并更新父工单。
用户于 2026-08-07 确认验收通过。工单已关闭,父工单 #1、#2 已同步勾选。验收记录提交:
d2decc7。