11 KiB
11 KiB
交互清单
| ID | 页面/组件 | 交互 | 状态覆盖 | 优先级 |
|---|---|---|---|---|
| IX-001 | 实例列表 | 新建、启动、刷新、查看详情 | 加载、空、托管运行、外部已关联、外部占用、退出、失败 | P0 |
| IX-002 | 启动表单 | 浏览器类型、路径、user data dir、URL、参数校验 | 默认、校验错误、提交中、成功 | P0 |
| IX-003 | 实例详情 | 优雅关闭、强制终止、重启 | 运行中、关闭中、超时确认、权限错误 | P0 |
| IX-004 | 占用提示 | 查看 PID/来源和关联端口并重试 | 外部已关联、被占用、身份未知、已释放 | P0 |
| IX-005 | 设置 | 默认路径、日志、数据目录和远程调试起始端口 | 保存成功、路径无效、端口无效、权限拒绝 | P1 |
| IX-006 | 本地 CDP 启动 | 从起始端口分配、校验端点、展示实际端口 | 分配中、已关联、端口冲突、端点失效、外部不接管 | P1 |
| IX-007 | 实例刷新与编辑 | F5/刷新、双击/Enter/编辑图标、目录选择、保存/取消/Escape | 空闲、刷新中、部分失败、字段错误、脏表单、只读运行态、保存成功 | P1 |
| IX-008 | 代理设置与选择器 | 完整地址下拉选择、新增/更新、删除确认;创建/编辑实例选择代理 | 空列表、无代理、格式错误、重复地址、删除取消、被引用删除、保存成功 | P1 |
| IX-009 | 实例主启停操作 | 主操作、编辑、删除的固定顺序与间距;启动图标、停止图标、外部重新检测 | 已退出、启动中、托管运行、停止中、失败恢复、外部关联 | P1 |
| IX-010 | 受管浏览器退出提示 | 受管根进程退出后的状态恢复、提示队列和焦点回归 | 意外退出、Chub 请求停止、多个同时退出、过期事件、编辑/确认弹层打开、应用关闭 | P1 |
| IX-011 | 实例首选调试端口 | 新建/编辑端口推荐、列表建议/准备/实际/外部文案、启动回退与保存 | 旧配置迁移、重复/非法端口、外部冲突、启动失败、外部关联、过期结果 | P1 |
| IX-012 | CDP 页面目标查看 | 编辑弹层的“查看标签页”、只读目标列表与关闭 | 无可验证端口、读取中、空列表、读取失败、状态变更、Escape/焦点回归 | P1 |
| IX-013 | Windows 通知区域 | 图标双击/默认显示、原生菜单刷新与退出 | 图标创建失败、Explorer 重启、窗口最小化、菜单关闭、刷新中、应用退出 | P1 |
| IX-014 | 配置启动与迁移 | exe 同级配置解析、legacy 配置迁移和可恢复失败反馈 | 新配置、合法 legacy、目标优先、畸形 legacy、目标目录不可写、重复启动 | P1 |
| IX-015 | 代理名称、默认目录与列表列 | 代理名称/地址保存、下拉回填、实例默认目录、代理名称展示 | 新建、编辑、重名/重复地址、无代理、长名称、窄窗口、目录权限失败 | P1 |
| IX-016 | 设置浏览器 executable 路径 | Chrome/Edge 选择本机 .exe、搜索标准安装位置与取消 |
选择中、用户取消、选择失败、非法结果、搜索中、取消、路径更新、确认当前路径、未找到、切换页面 | P1 |
| IX-017 | 实例删除及数据删除 | 删除配置确认、显式勾选 User Data Dir、后台占用复核和文件删除 | 默认配置删除、已勾选、运行/外部禁用、删除中、用户取消、占用、路径拒绝、权限/I/O 失败、成功、迟到结果 | P1 |
| IX-018 | 便携目录与实例名称 | 程序目录默认模式、自定义目录、实例名称唯一与默认 profile 名称 | 初始默认、自定义、恢复默认、复制 exe、重名、非法/超长名称、安全化冲突、创建目录/日志目录权限失败、编辑改名 | P1 |
通用规则
- 异步操作不阻塞窗口线程,提交中禁用重复按钮。
- 危险操作说明影响范围,默认焦点在取消;Escape 可取消。
- 进程状态同时使用文字、图标和颜色,不只用颜色表达。
- 关闭完成后焦点回到实例行;失败时保留表单和用户输入。
- 验证 960x640、600x500、100%–200% 缩放、键盘、深色和高对比度回退。
- 不依赖悬停或触控手势完成关键任务。
- 实例列表使用外层边框、文字状态和图标区分归属;端口为空时显示“—”,外部关联时操作区不显示关闭或重启。
- 刷新和编辑是独立命令:刷新为只读状态检查,编辑只保存配置;两者均不接管外部实例。F5 与刷新按钮共用一个去重命令。
- 双击不是唯一入口:单击只选择行,Enter 和编辑图标打开对话框。打开后焦点位于名称,关闭后返回调用行;有未保存编辑时 Escape 先请求确认。
- 代理选择器必须提供“无代理”和完整地址项,能用键盘选择;设置页默认输入为空,选择项回填地址。删除前先确认完整地址;有引用时保持当前选择、输入与实例选择不变。
- 代理设置使用显式保存:名称和地址都有可见 Label,名称必填、去首尾空白且不区分大小写唯一;地址仍为无认证端点。选择器以“名称 · 地址”区分项,设置选择会同时回填两项;保存失败时保留两项输入并在对应字段附近显示原因。实例表格的“代理”列只显示名称或“无代理”,位于“用户数据目录”与“调试端口”之间;列宽受限时省略长名称但不挤压操作列,完整值仍可从编辑表单访问。
- 新建表单打开时,User Data Dir 预填
<exe-dir>\\user_data_dirs\\<stable-instance-id>,并说明它是独立 profile。目录选择或手动输入可覆盖默认值;取消/校验失败保留输入。UI 不自行读取 executable 路径、创建目录或检查权限;后台/持久化边界返回权限失败后给出文本恢复建议。新建表单、编辑弹层和列表在 600px 宽度、200% 缩放、长代理名称下保持 Label、字段与行内操作可访问;代理列不改变单击、双击、Enter 或操作图标的既有语义。 - 实例主操作根据归属和状态切换启动、停止、重新检测或禁用,并固定排在编辑和删除之前。停止中禁止重复请求;停止失败恢复原状态并保留焦点。外部关联不显示停止入口;行内图标间距与命中区必须避免误操作。
- 受管浏览器意外退出是当前会话的异步状态提示,不是用户确认决策:状态先更新为“已退出”,再显示可关闭信息弹层;弹层只含“知道了”,Escape/Enter 均可关闭,关闭后焦点回到对应启动入口。多个退出合并到一个提示;已有编辑、未保存确认或删除确认弹层时排队,不能丢弃输入或叠加模态层。Chub 发起停止、外部实例、代次/PID 不匹配和应用退出取消监控时均不提示。
- 调试端口的“建议/准备/实际/外部”必须同时以文字和数值表达,不能将首选端口称为已监听端口。创建和停止实例编辑使用首选端口输入;运行中、启动中、停止中和外部关联实例只读。推荐仅基于 Chub 保存实例,系统端口复检与 CDP 校验只在后台启动任务执行;回退不得使用其他 Chub 实例的逻辑预留端口。
- CDP 页面目标查看是只读、可关闭的临时对话框:入口仅对已有实际已验证端口的“运行中”或“外部已关联”实例可用;打开后焦点位于关闭按钮,Escape 关闭并回到“查看标签页”入口。读取中、空列表和错误均用文字表达,错误不丢失编辑输入;结果只含标题、类型和脱敏 URL,不能把目标 ID、WebSocket URL 或物理窗口 ID当作控制授权。
- 通知区域图标是 Windows 原生的辅助入口,不替代页面内可键盘访问的实例操作。图标默认项为“显示 Chub”,双击同效;右键菜单顺序固定为显示、刷新、分隔线、退出。刷新复用页面刷新命令并在进行中禁用重复项;退出是应用级命令,不能伪装为关闭单个浏览器。Tooltip 使用文字汇总,不含实例名称或敏感字段。菜单关闭不改变状态;图标失效或 Explorer 重启后后台重建,不抢焦点。首版不提供“关闭时隐藏到通知区域”。
- 配置迁移不是用户可编辑表单:应用启动时在 platform 层完成,GUI frame 不读取或写入文件。成功迁移仅以不打扰操作的文本说明来源已更新;失败时保留实例列表输入与当前可见页面,给出“程序目录中的 config.json 无法使用;请检查目录权限或恢复旧配置”的可恢复提示,不能显示完整配置、代理地址或用户路径。无需 HTML 原型,因为不新增可操作控件;需以真实 Windows 文件权限和 CLI/GUI 启动验证。
- 浏览器 executable 路径的“选择”和“搜索”是字段级异步操作:选择中禁止同一字段重复打开,搜索中按钮显示“取消”。每个结果都紧邻其 Chrome/Edge 路径字段显示,不能只写到需滚动才能看见的页面底部。用户取消、系统错误、空结果或不为绝对
.exe的结果均保留原输入;搜索命中当前值时显示明确确认而不是静默完成。两个字段、页面切换和迟到结果彼此隔离;键盘与触控均可触发“选择”和“搜索/取消”。本次是既有控件的局部行为修复,不新增信息架构或视觉模式,因此无需改动 HTML 原型;须以真实 Windows 文件对话框 smoke 验收。 - 实例删除确认框默认焦点在“取消”,Escape/关闭与取消同效。默认“删除实例”只删除配置,并明确 User Data Dir 保留;“同时删除 User Data Dir 中的数据”是默认未选中的业务复选框,不与行选择混淆。勾选后显示完整目录和不可恢复警告,确认按钮使用具体“删除实例及数据”文案;仅“已退出”/“启动失败”可勾选,其他状态禁用且说明原因。数据删除中弹层保持、背景不可用且不提供伪取消;结果通过实例 ID、目录快照和请求代次过滤。成功后焦点回到可预测的相邻实例操作;检查、占用、边界、权限或 I/O 失败时保留当前实例、勾选和弹层,并说明目录与配置均未删除、可先停止浏览器或检查权限后重试。
- 设置页的“默认 User Data Dir”和“日志目录”默认显示“跟随程序目录(chub.exe 所在目录)”解析后的绝对路径,不能称为或使用当前工作目录;每项提供“选择目录”和“恢复程序目录默认”。自定义目录不会移动已有 profile。新建与编辑名称在提交时就地校验:去首尾空白、大小写无关重复、安全化后目录冲突、Windows 非法/保留/超长名称均定位到名称字段,保留用户输入;成功创建的默认目录使用
instance-<安全化名称>-<短ID>,改名不改目录。目录创建/写入预检在后台,提交中禁用重复操作;失败时不启动浏览器、保留表单和路径,并给出“选择可写目录”的恢复路径。验证键盘、中文输入法、200% 缩放、长中文名称、只读程序目录和复制 exe 后的 portable/default-custom 切换。