真机任务 PUR-e2bee5f724a3b40a 显示一次 app_current() 约耗时 10.641 秒。采购服务在商品校验、选规格前后、设数量前后和最终确认阶段多次调用 read_state(),而当前 read_state() 每次都无条件执行 app_current(),造成:
PUR-e2bee5f724a3b40a
app_current()
read_state()
采集流程已在页面轮询中使用控件树优先策略,采购状态读取尚未完整应用同类优化。
最新任务没有点击下单的直接原因是价格门禁:PDD 识别价格 470 分超过 Admin 上限 370 分。该行为正确,本工单不得修改或绕过价格门禁。
client/src/pdd_u2_purchase_adapter.py
dump_hierarchy()
PDD_PACKAGE_NAME
U2PddLivePurchaseAdapter.submit_order_once()
TaskPerformanceTrace
purchase_read_state
purchase_select_color
purchase_select_size
client/test/test_pdd_u2_purchase_adapter.py
docs/client/06-quality-security.md
预计修改文件:
docs/task/<工单号>-减少采购重复前台查询并补充分段耗时.md
从 client 目录执行:
client
C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_u2_purchase_adapter.py" C:/Python310/python.exe -m unittest discover -s test -p "test_purchase_task_service.py" C:/Python310/python.exe -m unittest discover -s test -p "test_*.py"
真机验收由用户执行:记录商品页出现到规格面板点击、颜���到尺码选择的时间,并检查 client/data/logs/task_performance.jsonl 中新增分段耗时。价格超过上限的任务仍应停止,不点击下单。
client/data/logs/task_performance.jsonl
状态:进行中。保持价格门禁和最终提交前台核验不变,先实现普通状态读取的控件树优先策略,再补颜色/尺码分段耗时与回归测试。
实现完成,状态:待验收。
实现提交:59de08b
59de08b
完成内容:
submit_order_once()
验证:
py_compile
git diff --check
未执行真机下单或支付。下一次真机任务可通过性能日志直接比较三个新增阶段耗时。
本地归档已提交:
docs/task/120-减少采购重复前台查询并补充分段耗时.md
352d861
工单保持打开,等待用户真机耗时和价格门禁验收;通过后再关闭并更新父工单 #1。
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
真机任务
PUR-e2bee5f724a3b40a显示一次app_current()约耗时 10.641 秒。采购服务在商品校验、选规格前后、设数量前后和最终确认阶段多次调用read_state(),而当前read_state()每次都无条件执行app_current(),造成:采集流程已在页面轮询中使用控件树优先策略,采购状态读取尚未完整应用同类优化。
最新任务没有点击下单的直接原因是价格门禁:PDD 识别价格 470 分超过 Admin 上限 370 分。该行为正确,本工单不得修改或绕过价格门禁。
做什么 / 不做什么
做什么
read_state()先读取最新无障碍控件树。app_current()。app_current()兜底。不做什么
已确认的实现方案
client/src/pdd_u2_purchase_adapter.py增加控件树包名判断辅助函数。read_state()调整为先dump_hierarchy()和解析 XML;PDD 包节点达到页面分类器同等可靠阈值时使用PDD_PACKAGE_NAME,否则调用app_current()。U2PddLivePurchaseAdapter.submit_order_once()保持显式app_current(),保证最终高风险点击前仍核验实际前台。TaskPerformanceTrace:purchase_read_state记录一次状态读取耗时;purchase_select_color记录指定颜色选择耗时;purchase_select_size记录指定尺码选择耗时。client/test/test_pdd_u2_purchase_adapter.py增加调用次数和耗时记录回归测试。docs/client/06-quality-security.md。预计修改文件:
client/src/pdd_u2_purchase_adapter.pyclient/test/test_pdd_u2_purchase_adapter.pydocs/client/06-quality-security.mddocs/task/<工单号>-减少采购重复前台查询并补充分段耗时.md验收标准
read_state()不调用app_current()。app_current()兜底。app_current()。验证方式
从
client目录执行:真机验收由用户执行:记录商品页出现到规格面板点击、颜���到尺码选择的时间,并检查
client/data/logs/task_performance.jsonl中新增分段耗时。价格超过上限的任务仍应停止,不点击下单。风险和回退
read_state()无条件前台查询;最终提交安全逻辑无需回退。状态:进行中。保持价格门禁和最终提交前台核验不变,先实现普通状态读取的控件树优先策略,再补颜色/尺码分段耗时与回归测试。
实现完成,状态:待验收。
实现提交:
59de08b完成内容:
read_state()改为先读取控件树;至少 3 个 PDD 包节点时直接确认 PDD,不再重复调用慢速app_current()。app_current()兜底。submit_order_once()保留独立前台查询,提交安全门禁未削弱。purchase_read_state、purchase_select_color、purchase_select_size。验证:
py_compile、git diff --check通过。未执行真机下单或支付。下一次真机任务可通过性能日志直接比较三个新增阶段耗时。
本地归档已提交:
docs/task/120-减少采购重复前台查询并补充分段耗时.md352d861工单保持打开,等待用户真机耗时和价格门禁验收;通过后再关闭并更新父工单 #1。
用户已于 2026-08-11 明确验收通过。
eca9289