初始化项目版本
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# OneOS V2 复杂台账列个性化设计说明
|
||||
|
||||
日期:2026-07-26
|
||||
状态:已完成产品需求与设计方案确认
|
||||
|
||||
## 1. 背景与目标
|
||||
|
||||
车辆资产页已经具备表格列宽调整、显示列选择和显示顺序调整能力,但 OneOS V2 设计规范尚未覆盖这些交互。本次将三项能力上升为所有复杂台账页面的通用规则,并以车辆资产页作为标准示例。
|
||||
|
||||
目标用户包括使用 OneOS V2 复杂台账的 PC/Web 用户,以及按规范设计、开发和验收台账页面的团队。用户的核心任务是根据当前工作内容调整列宽、选择显示列、排列列顺序,并在需要时恢复默认配置。
|
||||
|
||||
## 2. 范围
|
||||
|
||||
### 2.1 包含
|
||||
|
||||
- PC/Web 复杂台账表格的列宽拖拽调整。
|
||||
- 可选业务列的显示与隐藏。
|
||||
- 可选业务列的显示顺序调整。
|
||||
- 单列宽度恢复和完整配置恢复默认。
|
||||
- 按“用户 + 台账页面”保存和恢复配置。
|
||||
- 鼠标、键盘和读屏操作规则。
|
||||
- 配置加载、保存失败及表格字段变更时的兼容处理。
|
||||
- 浅色和暗色主题下的状态表现。
|
||||
|
||||
### 2.2 不包含
|
||||
|
||||
- 不新增或改变车辆资产页的业务字段。
|
||||
- 不改变复杂台账的筛选、分页、导入、导出或行内操作逻辑。
|
||||
- H5 单列卡片列表不提供列宽、列显隐和列排序操作。
|
||||
- 不跨台账复用列配置,也不在不同账号之间共享配置。
|
||||
|
||||
## 3. 规范组织
|
||||
|
||||
采用“分章主规则 + 总览摘要 + 交叉引用”的组织方式:
|
||||
|
||||
- `src/resources/design-system/DESIGN.md`:增加强制原则摘要,声明复杂台账必须提供列宽、列显隐、列排序和恢复默认能力。
|
||||
- `src/resources/design-system/chapters/03-components.md`:承载完整组件与交互规则。
|
||||
- `src/resources/design-system/chapters/06-accessibility.md`:承载焦点、键盘替代、读屏播报规则。
|
||||
- `src/resources/design-system/chapters/02-layout.md`:说明 PC/Web 表格适用范围、H5 卡片排除规则及表格横向滚动关系。
|
||||
- 车辆资产页作为标准实现示例被引用,本次不修改其业务功能。
|
||||
|
||||
## 4. 信息架构与组件关系
|
||||
|
||||
列个性化由两类入口组成:
|
||||
|
||||
1. 表头分隔线上的列宽调节把手,负责单列宽度调整和单列宽度恢复。
|
||||
2. 台账工具栏中的“列设置”按钮,打开设置弹层,集中处理列显隐、列顺序和完整恢复默认。
|
||||
|
||||
列设置弹层包含标题、恢复默认入口、列项目列表、取消和确认操作。每个可选业务列包含显隐复选框、拖拽把手及键盘上移/下移操作;固定列显示固定标识和限制说明。
|
||||
|
||||
## 5. 列宽调整
|
||||
|
||||
- 表头分隔线提供约 `12px` 的可操作命中区。默认仅显示细分隔线,悬停、聚焦或拖动时用主题主色增强。
|
||||
- 拖动过程实时预览列宽,鼠标释放时结束调整并触发保存。
|
||||
- 普通业务列宽度限制为 `90–480px`。
|
||||
- 首个核心识别列建议限制为 `120–360px`;具体默认宽度由字段内容决定。
|
||||
- 达到最小或最大边界后停止变化,不允许列宽无限缩小或撑宽。
|
||||
- 双击调节把手只恢复当前列的默认宽度。
|
||||
- 末尾操作列不提供调节把手,宽度由设计者依据操作组件规范固定。
|
||||
- 表格容器仍遵守局部横向滚动规则,列宽个性化不得造成整页横向滚动。
|
||||
|
||||
## 6. 列显隐与列顺序
|
||||
|
||||
- “列设置”位于复杂台账工具栏,使用图标按钮并提供文字提示和无障碍名称。
|
||||
- 设置弹层内,复选框控制列显隐,拖拽把手控制列顺序。
|
||||
- 设置弹层中的修改先保存在临时状态;点击“确认”后一次应用并保存,点击“取消”不改变当前列表。
|
||||
- “全选/全不选”只影响可选业务列,不影响固定列。
|
||||
- 首个核心识别列必须显示、不可换序,但允许在规定范围内调宽。
|
||||
- 末尾操作列必须显示、不可换序、不可调宽。
|
||||
- 其他业务列可以显示或隐藏、调整顺序和调整列宽。
|
||||
- 可选业务列只能在两端固定列之间排序,不能越过固定列。
|
||||
|
||||
## 7. 恢复默认
|
||||
|
||||
- 双击表头调节把手恢复当前列的默认宽度。
|
||||
- 列设置弹层中的“恢复默认”同时恢复列宽、显隐和顺序。
|
||||
- 完整恢复不使用危险确认弹窗。用户触发后先在弹层中预览默认布局,点击“确认”后应用并保存;点击“取消”保留原配置。
|
||||
|
||||
## 8. 保存、加载与兼容
|
||||
|
||||
- 保存范围为“用户 + 台账页面”,建议存储键包含 `userId + ledgerId + schemaVersion`。
|
||||
- 配置至少包含 `columnWidths`、`visibleColumns` 和 `columnOrder`。
|
||||
- 列宽在拖动结束后保存;列显隐和列顺序在弹层确认后保存。
|
||||
- 保存过程不得阻塞台账浏览和操作。
|
||||
- 再次进入同一台账时自动恢复该用户的配置。
|
||||
- 初始化时先建立规范默认配置,再合并已保存配置,降低加载期间的布局跳动。
|
||||
- 新增字段按设计者定义的默认显隐状态和默认位置插入。
|
||||
- 已删除字段自动忽略,不能导致整份用户配置失效。
|
||||
- 配置损坏、版本不兼容或加载失败时回退默认配置并轻提示,不阻塞台账数据加载。
|
||||
- 保存失败时保留当前会话内的配置,并提示“当前设置暂未同步,下次进入可能恢复默认”。
|
||||
- H5 卡片列表忽略 PC 列配置,但不得删除已经保存的 PC 配置。
|
||||
|
||||
## 9. 无障碍与键盘
|
||||
|
||||
- “列设置”按钮提供明确的 `aria-label`、展开状态和弹层关联。
|
||||
- 打开弹层后焦点进入弹层,关闭后回到触发按钮;按 `Esc` 可关闭。
|
||||
- 列宽调节把手可聚焦。方向键每次调整 `8px`,`Shift + 方向键` 每次调整 `24px`,`Home` 恢复当前列默认宽度。
|
||||
- 读屏实时播报列名和当前宽度。
|
||||
- 列排序除拖拽外,必须提供“上移/下移”按钮;到达边界或属于固定列时禁用并说明原因。
|
||||
- 显隐复选框必须与列名关联。固定列控件禁用,并以文字说明不可隐藏。
|
||||
- 拖动、排序、恢复默认、保存成功和保存失败均通过 `aria-live="polite"` 播报,不能只依赖颜色传达状态。
|
||||
- 所有可聚焦控件使用主题 Focus Token;视觉分隔线可以为 `2–3px`,但操作命中区不得随之缩小。
|
||||
|
||||
## 10. 视觉与主题
|
||||
|
||||
- 列宽把手、焦点、选中和拖拽目标状态全部消费 OneOS V2 主题 Token,不使用硬编码品牌色。
|
||||
- 浅色和暗色主题均需保持表头分隔线、焦点和拖拽状态的可辨识度。
|
||||
- 固定列通过文字或图标加文字说明,不只使用灰色或禁用色表达限制。
|
||||
- 列设置弹层沿用 OneOS V2 Web 浮层、复选框、按钮和间距规范,不新增独立视觉体系。
|
||||
|
||||
## 11. 验收标准
|
||||
|
||||
- 鼠标可在边界内实时调整所有允许调宽的列。
|
||||
- 键盘可完成等价调宽,并能恢复单列默认宽度。
|
||||
- 用户可显示或隐藏所有可选业务列。
|
||||
- 用户可通过拖拽以及上移/下移按钮调整所有可选业务列顺序。
|
||||
- 两类固定列始终遵守显示、换序和调宽限制。
|
||||
- 取消设置不改变当前列表;确认后一次应用并保存。
|
||||
- 双击把手只恢复当前列;“恢复默认”恢复列宽、显隐和顺序。
|
||||
- 同一用户重新进入同一台账时恢复配置,不同用户或不同台账之间互不影响。
|
||||
- 新增或删除字段后,历史配置仍可正常合并和使用。
|
||||
- 配置加载或保存失败时台账仍可操作,并给出符合规范的轻提示。
|
||||
- H5 卡片列表不出现任何列控制入口,且不会清除 PC 配置。
|
||||
- 浅色、暗色主题以及键盘焦点、读屏播报均通过验收。
|
||||
|
||||
## 12. 标准示例
|
||||
|
||||
`src/prototypes/vehicle-management/components/ListView.tsx` 中的车辆资产台账作为交互参考,已经展示表头调宽把手、双击恢复、列设置入口、列显隐和列拖拽排序。规范落地时以本文确认的通用边界为准,尤其需要补足持久化、键盘替代、最大宽度和保存失败处理等通用要求。
|
||||
@@ -0,0 +1,113 @@
|
||||
# OneOS V2 全局列表操作列调整设计
|
||||
|
||||
## 背景
|
||||
|
||||
车辆资产列表当前把全部行操作收进自建“更多”菜单,不符合 OneOS V2 使用公共 `OperationActions` 的要求。现行全局规范又将“查看详情”定义为低频浏览动作,默认收入“更多”,与本次确认的“双外置”方向不一致。
|
||||
|
||||
本次调整同时修正规范与车辆资产页:将“查看 / 详情”定义为稳定的首要入口,与常用工作流动作共同外置;低频管理、历史与危险操作保留在“更多”菜单。
|
||||
|
||||
## 目标与范围
|
||||
|
||||
### 目标用户
|
||||
|
||||
使用 OneOS V2 台账的运营人员、业务经办人和管理员。
|
||||
|
||||
### 核心任务
|
||||
|
||||
用户在扫描列表时,可以直接进入详情或执行最常用的工作流动作,不必先打开菜单。
|
||||
|
||||
### 本次范围
|
||||
|
||||
- 更新 OneOS V2 全局 `OperationActions` 规范。
|
||||
- 同步公共组件说明、组件行为和相关设计系统引用。
|
||||
- 将车辆资产列表迁移到公共 `OperationActions`。
|
||||
- 保留车辆资产页现有的查看详情、编辑和设置运维负责人能力。
|
||||
|
||||
### 不在范围内
|
||||
|
||||
- 不修改车辆资产的信息架构、筛选、列结构和详情页。
|
||||
- 不新增业务权限或后端接口。
|
||||
- 不批量迁移所有历史台账;全局规则用于后续迁移和新页面。
|
||||
|
||||
## 全局操作分级
|
||||
|
||||
操作列外置动作最多两个,固定按下列顺序显示:
|
||||
|
||||
1. 查看类入口:`查看`、`详情`或`查看详情`。
|
||||
2. 一个常用工作流动作:`编辑`、`处理`或`处置`。
|
||||
|
||||
其余动作进入“更多”菜单:
|
||||
|
||||
- 低频管理:设置或修改负责人、转交等。
|
||||
- 留痕与历史:查看记录、操作记录、历史日志等。
|
||||
- 高风险操作:撤回、终止、删除等。
|
||||
|
||||
“查看记录”表示历史或留痕查询,继续视为低频动作;它不等同于进入当前业务对象的“查看详情”。
|
||||
|
||||
## 显示规则
|
||||
|
||||
```text
|
||||
[查看/详情] [编辑/处理/处置] [⋮ 更多]
|
||||
固定首位 最多一个 按需显示
|
||||
```
|
||||
|
||||
- 只读台账仅外置“查看 / 详情”。
|
||||
- 没有查看入口时,可外置最多两个常用工作流动作。
|
||||
- 没有更多动作时,不显示省略号按钮。
|
||||
- 没有任何可用操作时显示 `-`。
|
||||
- 权限过滤在布局分配前完成,避免空菜单或占位按钮。
|
||||
- 操作列不换行,PC 建议宽度为 `148–184px`,按外置文案长度在页面级固定。
|
||||
- H5 继续遵循 44×44px 最小触控热区。
|
||||
|
||||
## 车辆资产页落地
|
||||
|
||||
车辆资产列表每行使用:
|
||||
|
||||
- 外置一:`查看`,进入车辆详情页。
|
||||
- 外置二:`编辑`,打开现有车辆编辑流程。
|
||||
- 更多:`设置运维负责人`。
|
||||
|
||||
操作顺序在所有行保持一致。无运维管理权限时,“更多”菜单不显示;若编辑权限也不可用,则只保留“查看”。
|
||||
|
||||
车辆页删除自建 `ActionsMoreMenu` 及其专属菜单皮肤,改用 `src/common/OperationActions.tsx` 和 `src/common/vm-operation-actions.css`。业务回调保持不变。
|
||||
|
||||
## 组件与文档同步
|
||||
|
||||
需要保持下列内容一致:
|
||||
|
||||
- `src/resources/design-system/DESIGN.md` §3.16
|
||||
- `src/resources/design-system/chapters/03-components.md`
|
||||
- `src/prototypes/vm-shared/DESIGN.md`
|
||||
- `src/common/operation-actions-spec.md`
|
||||
- `src/common/OperationActions.tsx`
|
||||
- `src/common/vm-operation-actions.css`
|
||||
|
||||
公共组件应把详情类 `view` 动作放到外侧首位,把“查看记录 / 操作记录”等历史型动作分入更多菜单。`splitOperationActions` 需区分详情入口与历史记录,不能再把两者合并为同一低频类别。
|
||||
|
||||
## 交互与无障碍
|
||||
|
||||
- “更多”触发器使用 `MoreHorizontal` 图标,`aria-label="更多操作"`。
|
||||
- 菜单支持点击外部和 `Escape` 关闭,并沿用公共组件的键盘与焦点行为。
|
||||
- 外置操作具有可见的悬停和键盘焦点状态。
|
||||
- 冻结操作列中的菜单不得被表格行、滚动容器或相邻单元格遮挡。
|
||||
- 危险操作需要保留公共组件的危险态表达,不与普通动作混排。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 全局主规范、章节规范、共享规范和公共组件说明不存在冲突表述。
|
||||
- 公共组件默认按“查看在前、工作流动作在后、更多按需”渲染。
|
||||
- 车辆资产页显示“查看、编辑、更多”,顺序和样式符合全局规范。
|
||||
- 查看详情、编辑、设置运维负责人沿用原有业务行为。
|
||||
- 权限受限时不显示未授权动作,也不出现空“更多”按钮。
|
||||
- 操作列在桌面端不换行,菜单不被表格遮挡。
|
||||
- 键盘可以聚焦并触发所有可见操作,`Escape` 可以关闭菜单。
|
||||
- 相关自动化测试、类型检查和构建通过;通过浏览器检查桌面宽度及窄视口表现。
|
||||
|
||||
## 测试策略
|
||||
|
||||
- 为公共 `OperationActions` 补充或更新渲染顺序、只读状态、无更多动作和权限过滤测试。
|
||||
- 为 `splitOperationActions` 覆盖详情类与历史记录类的分类差异。
|
||||
- 为车辆资产列表覆盖三个动作的存在性和回调触发。
|
||||
- 运行项目现有测试、类型检查和构建。
|
||||
- 在本地浏览器验证操作列宽度、冻结层级、菜单遮挡、悬停与键盘焦点。
|
||||
|
||||
49
docs/superpowers/specs/2026-07-28-wangmian-twin-design.md
Normal file
49
docs/superpowers/specs/2026-07-28-wangmian-twin-design.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 王冕数字分身 + 分身大脑 设计
|
||||
|
||||
- 日期:2026-07-28(初稿)/ 2026-07-29(双 Skill 落地)
|
||||
- 状态:**已落地**
|
||||
- 形态:两个个人 Cursor Skill
|
||||
|
||||
| Skill | 目录 | 中文名 |
|
||||
|-------|------|--------|
|
||||
| `wangmian-brain` | `~/.cursor/skills/wangmian-brain/` | 王冕的分身大脑 |
|
||||
| `wangmian-twin` | `~/.cursor/skills/wangmian-twin/` | 王冕的数字分身 |
|
||||
|
||||
## 目标
|
||||
|
||||
本尊使用分身与大脑时,按用户习惯(UI/UX 审美、访谈与总结、工具、上下文)**自动产出需求**;业务真相来自 OneOS 知识库,不靠聊天流水账硬记。
|
||||
|
||||
## 决策摘要
|
||||
|
||||
| 项 | 选择 |
|
||||
|----|------|
|
||||
| 自动档位 | B 突击型 |
|
||||
| 云效 | Y2(本地完再问) |
|
||||
| 触发 | T1 口令;分身内嵌可调大脑 |
|
||||
| 称呼 | 我的本尊 |
|
||||
| 分身口吻 | 产品日常;禁李云龙 |
|
||||
| KB | `src/resources/oneos-knowledge-base/`(可回落 oneos-v2 绝对路径) |
|
||||
|
||||
## 文件
|
||||
|
||||
```text
|
||||
wangmian-brain/
|
||||
SKILL.md · retrieval.md · voice.md
|
||||
|
||||
wangmian-twin/
|
||||
SKILL.md · persona.md · profile.md · habits.md · playbook.md
|
||||
```
|
||||
|
||||
自我介绍:以 `profile.md` 为准(工作画像 + 话术模板)。
|
||||
|
||||
## 口令
|
||||
|
||||
- 大脑:`@王冕分身大脑` / `$wangmian-brain` / 「分身大脑」
|
||||
- 分身:`@王冕分身` / `$wangmian-twin` / 「王冕的数字分身」
|
||||
|
||||
## 冒烟
|
||||
|
||||
新开对话(工作区建议 oneos-v2):
|
||||
|
||||
1. `$wangmian-brain` 问一条业财门禁 → 应出大脑答复包
|
||||
2. `$wangmian-twin` 扔一条小需求 → 应称「我的本尊」、引用大脑、无李云龙腔、末尾问云效
|
||||
Reference in New Issue
Block a user