feat: add remote channels and richer notes
This commit is contained in:
@@ -91,16 +91,22 @@
|
||||
|
||||
### 3.3 字体令牌
|
||||
|
||||
界面字体使用系统无衬线字体栈,代码、标识符和原始日志使用等宽字体栈。
|
||||
界面默认使用随客户端本地打包的 `Inter Variable` 与 `Noto Sans SC Variable`:英文、数字优先使用 Inter,简体中文由 Noto Sans SC 覆盖。系统无衬线字体仅作为启动和缺失字形回退;代码、标识符和原始日志使用等宽字体栈。字体不得通过运行时网络请求加载。
|
||||
|
||||
| 令牌 | 字号 / 行高 | 字重 | 用途 |
|
||||
| --- | --- | --- | --- |
|
||||
| `--font-caption` | `10px` | 时间、短标签和紧凑元数据 |
|
||||
| `--font-body` | `12px` | 默认界面正文 |
|
||||
| `--font-caption` | `11px` | 时间、短标签和紧凑元数据 |
|
||||
| `--font-body` | `13px` | 默认界面正文 |
|
||||
| `--font-section-title` | `14px` | 卡片和区块标题 |
|
||||
| `--font-page-title` | `24px` | 一级页面标题 |
|
||||
|
||||
连续阅读内容使用 `13px` 至 `14px`,持久辅助信息不得小于 `10px`。页面内不得通过同时放大字号、加粗和使用强调色制造多个同级主标题。
|
||||
使用规则:
|
||||
|
||||
- 业务组件通过 `--font-family-ui` 与字体尺寸令牌继承字体,不创建页面专属字体栈。
|
||||
- 表单按钮、输入框、选择框和文本域必须继承界面字体,避免回退为原生控件字体。
|
||||
- 连续阅读内容使用 `14px`,持久辅助信息不得小于 `11px`。
|
||||
- 本地字体资源必须随生产包交付,并同时包含 Inter 与 Noto Sans SC 的 OFL 许可证。
|
||||
- 页面内不得通过同时放大字号、加粗和使用强调色制造多个同级主标题。
|
||||
|
||||
### 3.4 圆角、阴影与层级
|
||||
|
||||
@@ -182,6 +188,8 @@
|
||||
- 一级页面之间的导航由应用主导航承担,不复用 `PageTabs`。
|
||||
- 标签保持短名词,不显示句号,不用页签承载开关或过滤条件。
|
||||
- 项目过多时优先重组信息架构,不把一级页签做成多行。
|
||||
- `PageTabs` 可使用默认视觉或共享的 `segmented` 视觉变体。紧凑主从工作台中的 2 至 4 个同级面板可使用与模型设置一致的分段外观,但不得因此改用按钮组语义。
|
||||
- 视觉变体不改变组件含义:分段外观的 `PageTabs` 仍使用页签语义、单一激活面板、游标焦点和方向键切换,不复制页面专属样式。
|
||||
|
||||
### 6.2 SegmentedControl
|
||||
|
||||
@@ -268,6 +276,17 @@
|
||||
- 窄窗口下优先压缩状态标签并保留图标按钮,不隐藏窗口控制、当前范围或进行中的风险状态。
|
||||
- 菜单使用 `menu`、`menuitem` 语义,支持上下方向键、Home、End 和 Escape,关闭后焦点返回触发按钮。
|
||||
|
||||
### 6.9 应用通知与就地反馈
|
||||
|
||||
应用级通知统一进入全局通知视口,页面不得自行复制通知卡片或在内容流中长期堆放短期消息。
|
||||
|
||||
- 异步操作成功、无需立即处理的信息,以及不属于某个字段的异步失败,使用应用级 `success`、`info` 或 `error` 通知。
|
||||
- 成功和信息通知默认在约 4.5 秒后自动消失;错误通知保持可见,直到用户关闭或同一去重键的更新替换它。
|
||||
- 同一语义和文案的重复通知应去重。通知正文必须有长度上限,不包含凭据、私人内容或未脱敏的提供商响应。
|
||||
- 字段校验、破坏性确认、操作进度、阻塞整个页面的状态,以及需要就地重试或修正的错误保留在相关控件附近。
|
||||
- 就地错误必须与对应字段或操作建立程序化关联;全局错误使用 `alert` 和 assertive 实时区域,成功与信息使用 `status` 和 polite 实时区域。
|
||||
- 一个事件只能选择一种主要反馈位置,不得同时显示页内横幅和全局通知。失败时不得因通知切换而清空用户输入、筛选或未提交草稿。
|
||||
|
||||
## 7. 交互状态
|
||||
|
||||
所有可交互组件必须实现:
|
||||
@@ -279,9 +298,9 @@
|
||||
- 选中:同时使用背景、边框、图标或字重中的至少两种信号。
|
||||
- 禁用:降低强调度,同时保留可读标签,并通过说明或工具提示解释原因。
|
||||
- 加载:防止重复提交,保留原按钮宽度并显示进行中标签。
|
||||
- 错误:就近显示可执行的错误说明,不只弹出短暂通知。
|
||||
- 错误:字段或局部操作错误就近显示可执行说明;非局部异步错误使用不会自动消失的应用级错误通知。
|
||||
|
||||
异步提交成功后更新内容并提供明确反馈。失败时保留用户输入和筛选上下文。
|
||||
异步提交成功后更新内容并通过统一应用通知提供明确反馈。失败时保留用户输入和筛选上下文。
|
||||
|
||||
## 8. 范围与数据语义
|
||||
|
||||
@@ -440,6 +459,13 @@ GoodBuddy 是可调整窗口大小的桌面应用。响应式设计优先保证
|
||||
- 活动记录保留审计字段和范围,支持独立容器横向滚动。
|
||||
- 批量停止、删除和清空历史遵循破坏性操作政策。
|
||||
|
||||
### 13.6 魔法笔记
|
||||
|
||||
- “笔记 / 待办”属于同一工作台内的同级内容面板,使用 `PageTabs` 的 `segmented` 视觉变体,与模型设置的分段控件保持同一外观。
|
||||
- 页签切换保留 `tablist`、`tab` 和 `tabpanel` 语义;待办状态仍使用独立的 `SegmentedControl`,不得与内容页签合并。
|
||||
- 创建、保存、更新、删除和 AI 评论完成等短期结果进入应用级通知,不在编辑区或列表上方堆放页内通知。
|
||||
- 标题或正文校验、删除确认、同步进度和可就地恢复的错误仍靠近对应编辑器或操作呈现。
|
||||
|
||||
## 14. 文案规则
|
||||
|
||||
- 使用简体中文,动词直接、对象明确。
|
||||
@@ -470,7 +496,9 @@ GoodBuddy 是可调整窗口大小的桌面应用。响应式设计优先保证
|
||||
- [ ] 实现并迁移 `PageHeader`。
|
||||
- [ ] 使用 `PageTabs` 统一同级页面导航。
|
||||
- [ ] 使用 `SegmentedControl` 统一少量互斥视图和状态切换。
|
||||
- [ ] 需要分段外观的同级面板使用 `PageTabs` 的共享 `segmented` 变体,不复制控件样式。
|
||||
- [ ] 建立统一筛选工具栏,移除以页签样式伪装的筛选。
|
||||
- [ ] 将短期成功、信息和非局部异步错误接入应用通知视口,移除页面专属通知横幅。
|
||||
- [ ] 实现 `ScopeBadge` 并覆盖全局、项目、失效和可切换状态。
|
||||
- [ ] 实现 `EmptyState` 的首次为空、无结果、失败和只读变体。
|
||||
- [ ] 实现 `danger-ghost`、`danger-solid` 和 `danger-zone`。
|
||||
|
||||
Reference in New Issue
Block a user