M29 交互规范
1. 三层导航
- 全局功能轨只切换一级模块:概览、查询、数据、事务、Studio、监控、备份、工具、设置。
- 资源浏览器只管理连接、数据库和八模型对象,不重复一级模块。
- 工作区页签保存用户上下文;同一对象默认复用页签,按修饰键可另开。
对象页签记录模型、连接、数据库、对象名、二级页签、过滤器、滚动位置和检查器状态。连接失效时页签不关闭,而显示离线标记并保留最后结果。
2. Explorer
- 顶部搜索同时过滤名称和模型类型;
/ 聚焦搜索。
- 分组行显示加载、部分失败和对象数;错误只影响当前分组。
- 单击选中并预览,双击/Enter 固定打开页签。
- 右键菜单只保留与对象相关的动作;危险动作不直接执行。
- 工具栏固定、树独立滚动、底部数据库健康条固定。
- 收起后变成 40px 对象类型栏;再次展开恢复宽度和滚动位置。
3. 工作台二级页签
二级页签只表达当前模型内部任务:关系的“数据/设计器/索引/导入导出/ER/DDL”,MQ 的“概览/消息/消费者组/配置”等。二级页签不进入全局 URL 主层级,但需要可深链接到 query 参数并支持浏览器前进/后退。
4. 检查器
- Inspector 跟随当前选中行、命中、消息、文档、key 或对象。
- 右侧默认宽 384px;没有选中项时显示明确的选择提示。
- Header/metadata 与内容预览分区;内容支持 Text/JSON/Hex/Base64 等模型适用格式。
- Inspector 不是编辑表单集合。复杂编辑进入专用页签或审批前草稿区。
- 1100-1439px 作为覆盖层打开;表格和 Inspector 不允许互相挤到不可读。
5. 结果抽屉
- 从底部打开,包含 Table、Raw、JSON、Chart;时空数据可增加 Map。
- 工具栏包含复制、CSV/JSON 导出、固定和关闭。
- 新结果到达时更新未读标记,不强制抢焦点或自动展开。
- 错误和无行结果仍保留语句、耗时、连接与数据库上下文。
6. 历史抽屉
- 从右侧覆盖打开,默认 420px。
- 可按模型、状态、连接和时间筛选;每项显示动作、对象、耗时和状态。
- “恢复”只恢复上下文与输入,不自动重放写操作。
- 历史清除是本地低风险动作,但仍需要轻量确认。
7. 写审批
所有写、删除、导入、rebuild 和治理变更遵循:
编辑草稿 → 暂存预览 → 风险/影响范围 → 可选 dry-run → 人工确认 → 执行 → 结果与审计
- 审批层显示连接、数据库、对象、动作、影响数量、参数化 SQL/请求摘要和不可逆说明。
- 普通写使用主操作色;删除、前缀删除、drop、abort、legal hold 变更使用危险色。
- 确认按钮文案必须描述动作,例如“确认删除 24 个 key”,禁止只写“确定”。
- 执行失败后保留草稿和预览;成功后提供查看结果、审计和受影响对象。
8. 导入导出
- 导入分为选择文件、映射、预检、执行、报告五步,不能把全部设置铺在一屏。
- Web 使用浏览器文件能力;Studio 探测到 native bridge 后替换为原生文件对话框,页面几何不变。
- 导出直接提供格式和范围菜单;大结果显示后台进度、取消和最终保存位置。
9. Studio 桥
顶部连接菜单展示 Managed Local 状态、data root、Server 版本、Health、Start/Stop 和最近检查时间。Bridge 不可用时静默退化为 Web 能力,只在用户调用原生功能时解释差异。
10. VS Code 子集
- 保持 Remote-first:连接 profile 在
globalState,token 在 SecretStorage。
- Explorer 只读浏览 schema、KV、MQ、向量和全文;对象桶不在 M29 范围。
- SQL 结果只提供 Table/Raw/Chart。
- Copilot 默认 read-only;切换 read-write 必须先弹出 VS Code 原生确认。
- 不复制 Web Admin 的治理页、批量编辑、文件导入或复杂 Inspector。
11. 动效
- 页面切换:140ms opacity + 4px translate,减少上下文跳跃。
- Drawer:180ms,使用同一 easing;分隔条调整无动画以保持直接反馈。
- 新数据:只在行左侧显示 900ms 淡入标记,不闪烁整行。
prefers-reduced-motion 下取消位移和自动滚动。