设置页当前设备号、设备名、软件更新账号和密码分别占用独立行,纵向空间利用率较低;Client 虽已读取 admin.base_url,界面却没有可编辑入口。若只把新地址写入 SQLite,已创建的 Admin Gateway 仍可能继续使用旧地址,造成设备登记与任务领取/提交访问不同服务器。
admin.base_url
client/src/settings_ui.py
QGridLayout
adminBaseUrlInput
client/src/settings_ui_event.py
client/src/pdd_ui_event.py
client/src/ui_main.py
client/test/test_settings_ui_event.py
client/test/test_pdd_ui_event.py
docs/client/05-ui-specification.md
从 client/ 执行:
client/
C:/Python310/python.exe -m py_compile src/settings_ui.py src/settings_ui_event.py src/pdd_ui_event.py src/ui_main.py $env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m unittest discover -s test -p "test_settings_ui_event.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_update_ui_event.py" -v C:/Python310/python.exe -m unittest discover -s test -p "test_*.py" 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
人工检查常规窗口、最小窗口及 100%、150%、200% 缩放下的排列、Tab 顺序和密码隐藏。使用 Mock Gateway 验证地址切换,不访问真实 Admin。
实施中:已完成设置页紧凑布局、管理端地址校验与原子保存、设备登记 Gateway 切换,以及 PDD 持久 Worker 后续请求 Gateway 切换。额外按凭据红线拒绝 URL 中的账号、密码、查询参数和片段。专项测试与 Client 全量 359 项测试通过;最小 820×560 离屏测得账号/密码输入宽度约 244/299,符合约 45:55。正在整理提交和归档。
实现完成,状态更新为待验收。
cd2889d
a31c367
docs/task/130-设置页紧凑布局与管理端地址切换.md
工单保持开启,等待用户验收。
最终回归补跑结果:新增 URL 凭据校验测试后,Client 全量为 360 项,全部通过。归档中的测试数量已由补充提交 f9dc221 修正;此前评论中的 359 项为补测前数量。
f9dc221
用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:ad44f83。现关闭工单。
ad44f83
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
设置页当前设备号、设备名、软件更新账号和密码分别占用独立行,纵向空间利用率较低;Client 虽已读取
admin.base_url,界面却没有可编辑入口。若只把新地址写入 SQLite,已创建的 Admin Gateway 仍可能继续使用旧地址,造成设备登记与任务领取/提交访问不同服务器。做什么 / 不做什么
admin.base_url。怎么做
client/src/settings_ui.py:使用QGridLayout/布局伸缩重排两组表单,新增adminBaseUrlInput;管理端地址独占第二行,软件更新账号与密码按 45:55 分配。client/src/settings_ui_event.py:读取并显示admin.base_url;保存前统一校验,保存配置后用新地址创建 Gateway 并登记 Client;发出地址变更信号。client/src/pdd_ui_event.py与client/src/ui_main.py:接收地址变更,只对后续请求切换 Gateway;正在执行的请求不被强制中断。client/test/test_settings_ui_event.py、client/test/test_pdd_ui_event.py:覆盖布局字段、地址读取/验证/保存、登记和后续任务请求统一切换。docs/client/05-ui-specification.md:同步最终布局和保存行为。验收标准
admin.base_url,没有保存值时显示现有默认地址。怎么验证
从
client/执行:人工检查常规窗口、最小窗口及 100%、150%、200% 缩放下的排列、Tab 顺序和密码隐藏。使用 Mock Gateway 验证地址切换,不访问真实 Admin。
风险和回退
admin.base_url的行为,不涉及数据库迁移。实施中:已完成设置页紧凑布局、管理端地址校验与原子保存、设备登记 Gateway 切换,以及 PDD 持久 Worker 后续请求 Gateway 切换。额外按凭据红线拒绝 URL 中的账号、密码、查询参数和片段。专项测试与 Client 全量 359 项测试通过;最小 820×560 离屏测得账号/密码输入宽度约 244/299,符合约 45:55。正在整理提交和归档。
实现完成,状态更新为待验收。
cd2889da31c367docs/task/130-设置页紧凑布局与管理端地址切换.md工单保持开启,等待用户验收。
最终回归补跑结果:新增 URL 凭据校验测试后,Client 全量为 360 项,全部通过。归档中的测试数量已由补充提交
f9dc221修正;此前评论中的 359 项为补测前数量。用户于 2026-08-13 明确验收通过。本地归档状态已更新,批量验收记录提交:
ad44f83。现关闭工单。