Mass-Deploy UX 聚焦于“并行设备开通”的桌面工具交互设计,目标是在同时对数十至上千台物理设备执行配置或开通操作时,避免运行部署的技术人员被信息淹没。资料将其定位为交互设计层技能,并说明可与 pyside6-desktop(Qt 控件模式)和 network-device-discovery(底层并行部署引擎)配合使用。
核心设计原则:技术人员在运行 120 台设备的开通任务时往往焦虑、可能面临期限压力,无法在脑中同时记住 120 个设备状态。UI 应做到:把状态收拢进状态分栏,不展示 120 条同等重要的平铺列表;只呈现可操作的信息,原始堆栈信息并不等于有用信息;状态持久化到磁盘,以支持跨班次和崩溃恢复;单台设备失败不中止整体运行;始终显示后续进度、吞吐、数量汇总与 ETA。
文档给出 10 个具体模式:
- 状态分栏排序网格与单项进度:每台设备一行,列包括名称/ID、状态、进度条、ETA、最后错误;按状态排序,使失败项浮到顶部。提示用 QTimer 以 500ms 批量刷新,避免每个进度 tick 全表重绘。
- 基于吞吐量的 ETA(滚动窗口):用 5 分钟滚动窗口计算每分钟完成设备数,显示绝对时间而非剩余秒数;完成数少于 3 个或历史不足 30 秒时不应显示 ETA。
- 错误处理面板(非阻塞、分类):失败设备进入右侧 QDockWidget 列表,显示设备标识、分类错误(Network/Auth/Config/Timeout/Hardware)、最后 5–10 行日志、单设备重试与“全部重试失败项”按钮;错误分类在部署引擎层完成,不向技术人员展示原始 traceback。
- 持久化工作清单状态(原子、可恢复):每次状态变更后原子写入 JSON(临时文件加重命名),加载时把“running”重置为“queued”并增加尝试次数;不用 pickle 或定时写入。
- 物理到逻辑的设备识别(LED 定位):对支持 LED 的设备提供 blink/locate 命令,1Hz 持续 30 秒,并在延时后询问技术人员是否看到闪烁以确认。
- 紧凑网格热力图:12 列彩色网格按机架/主机名排列,每格约 60×60px,用颜色加形状/符号表示状态,作为表格之外的补充视图而非替代。
- 升级给用户前的优雅回退:为已知失败模式预设恢复策略(如 HTTPS 被拒时重试 HTTP、认证失败时重试出厂凭据、IP 变更后轮询新 IP),并记录每次回退,最多 3 次后升级。
- 可搜索/过滤的处理侧栏:支持按名称/IP/MAC 模糊搜索(300ms 防抖)、状态过滤、分组切换、逐行上下文菜单,并显示“Filtered: 12/120”。
- 批量操作前的预演/预览:对影响超过 5 台设备的批量操作显示模态预览列表(上限 20 行),并提供“手动挑选”选项。
- 吸顶状态头与中止按钮:常驻显示部署名与时间戳、带符号的数量汇总、滚动 ETA 和“Stop”按钮(需确认),每 500ms 刷新。
适用场景为需要桌面端并行管理大量物理设备的部署/开通工具。限制与缺失:资料未提供该技能的安装命令、版本、收费与平台支持信息,相关事实暂未提供;文档中的代码为 PySide6 实现提示与示例,属于交互设计参考。