Files
aurora-admin/PLAN.md
T

167 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Aurora Admin 组件文档体系 — 规划 / 路线图
> 项目:`C:\Users\12914\Desktop\组件规范第一套`
> 当前版本:1.0.0 · 品牌:Aurora Admin(主色 #2F54EB)
> 规划目标:在已有 79 个组件 × 5 端实现 的基础上,补齐「完整内容模块 / 日志 / 搜索 / 测试 / 路线图」五大体系,让这套组件库成为可对外交付、可被审计、可被检索、可被回归的产品级文档。
---
## 1. 现状盘点(2026-09-07 评估)
| 模块 | 已存在 | 评价 | 是否需要补 |
|---|---|---|---|
| README.md / SKILL.md | ✅ | 品牌叙事 + Agent 入口齐备 | 否 |
| colors_and_type.css / css.json / components.css | ✅ | 设计令牌 100% 覆盖 | 否 |
| components/index.json + 6 个核心契约 | ✅ | 79 项实现已登记,6 核心含契约 | 否(扩展契约待补) |
| frameworks/ × 5 端 | ✅ | 79×5=395 文件 | 否 |
| site/index.html + style.css + app.js | ✅ | Element 风格三栏 + Ctrl+K 搜索 + 主题定制 | **搜索增强、错误日志**待补 |
| site/dev-server.js | ✅ | 单文件 75 行 HTTP 服务 | 否 |
| build-site.ps1 | ✅ | 生成 site/data.js | **日志开关**待补 |
| 组件测试页 | ❌ | 仅 6 个核心组件有 preview/*.html;73 个扩展无独立测试 | **必补** |
| 变更日志 CHANGELOG.md | ❌ | 没有 | **必补** |
| 路线图 / 计划 | ❌ | 没有(本文档填补) | **必补** |
| 测试入口 / 测试计划 | ❌ | 没有 | **必补** |
| 贡献指南 CONTRIBUTING.md | ❌ | 没有 | **必补** |
| 系统日志(构建/搜索/渲染) | ❌ | console 散落 | **必补** |
---
## 2. 内容模块(Content Modules)— 完整组件文档应包含的 10 项
| # | 模块 | 落地位置 | 内容要点 | 状态 |
|---|---|---|---|---|
| 1 | 品牌与原则 | `.design_library/aurora-admin/README.md` | 品牌叙事 / 设计原则 / Content Fundamentals | ✅ |
| 2 | 设计令牌 | `colors_and_type.css` + `css.json` | 色彩/字体/间距/圆角/阴影/控件高度 | ✅ |
| 3 | 核心组件契约 | `.design_library/aurora-admin/components/*.json` | 变体维度 / 代表变体 / 使用要点 / 结构 / 解剖 / 不发明 / 未明示 | ✅ 6 项;**73 项扩展契约待补**(计划 1.1) |
| 4 | 规格批次映射 | `.design_library/aurora-admin/components/index.json` | slug ↔ 规范文件 ↔ 实现前缀 | ✅ |
| 5 | 全量预览 | `frameworks/<Name>.html` | 5 端展示 | ✅ |
| 6 | 文档站首页/总览/快速开始/设计规范 | `site/app.js` + `site/style.css` | Element 风格布局 + 锚点目录 | ✅ |
| 7 | 全局搜索 | `Ctrl+K` 弹窗 (`bindSearch`) | 中/英/slug 模糊匹配 | ✅;**搜索日志**待补(计划 2.1) |
| 8 | 主题定制器 | 悬浮工具 (theme-panel) | 4 键覆盖 + 复制 CSS | ✅ |
| 9 | **每个组件的测试页** | `tests/<slug>.html` | 交互断言 / 键盘可达 / 焦点环 / 状态矩阵 | ❌ → **本轮补齐** |
| 10 | **变更日志 / Roadmap** | `CHANGELOG.md` / `PLAN.md` | 版本化记录 + 计划 | ❌ → **本轮补齐** |
---
## 3. 日志系统(Logging)— 应收集的四类事件
| 类别 | 来源 | 落盘 | 用途 |
|---|---|---|---|
| **构建日志** | `build-site.ps1` | `site/data.js` 首行 + `logs/build.log` | 缺失文件 / 无分类组件告警 |
| **渲染日志** | `site/app.js` | `localStorage[aa-render-log]` + 可选下载 | 首页/总览/详情/搜索加载耗时、缺失 iframe、脚本错误 |
| **搜索日志** | `bindSearch()` | `localStorage[aa-search-log]` | 关键词、命中数、点击目标 |
| **测试日志** | `tests/<slug>.html`(本轮新增) | `localStorage[aa-test-log]` | 每组件测试结果、失败项、堆栈 |
所有日志默认本地落盘(避免隐私问题),提供「导出」按钮 → 复制 JSON,方便提交 issue。
---
## 4. 搜索系统(Search)— 现有 + 增强
### 4.1 现有
- 触发:`Ctrl+K` / 顶栏按钮
- 字段:组件中文名 / 英文名 / slug
- 上限:20 条
- 排序:原顺序
### 4.2 本轮增强
| 能力 | 描述 |
|---|---|
| 分类过滤 | Ctrl+K 弹窗内 chip 行,可只看某一类(如只看「反馈」类) |
| 关键词高亮 | 命中字符 `<mark>` 包裹 |
| 模糊容错 | 子串匹配 + 大小写不敏感;支持中英文混输 |
| 搜索日志 | 记录每次 query、点击目标、毫秒级耗时 |
| 全局快捷键 | `Ctrl+/` 在页面内任意位置直接聚焦搜索(已 Ctrl+K 仍可用) |
---
## 5. 测试系统(Per-Component Tests)— 范围与原则
### 5.1 原则
- **零依赖**:纯 HTML + 原生 JS + design tokens,可直接在浏览器打开
- **可视化**:每个组件独立 `tests/<slug>.html`,含三段:① 渲染快照 ② 交互用例 ③ 断言结果表
- **可机器读取**:每条断言在 DOM 上加 `data-assert="<id>"` 与 `data-status="pass|fail"`,便于 Playwright/Selenium 回归
### 5.2 通用测试矩阵(每个组件都跑这 8 项)
1. **默认态渲染** —— 快照含核心节点
2. **尺寸/类型变体** —— 大/中/小 / 主/次/危险…
3. **状态覆盖** —— hover / active / focus / disabled / loading
4. **键盘可达** —— Tab 进入、Space/Enter 触发、Esc 关闭
5. **焦点环可视** —— focus-visible 不被覆盖
6. **ARIA 属性正确** —— role / aria-disabled / aria-expanded
7. **对比度 ≥ 4.5:1**(正文) / 3:1(大字号)
8. **token 一致性** —— 所有颜色取自 `--au-*`,不硬编码
### 5.3 本轮落地
- 79 个组件全部生成 `tests/<slug>.html`(脚本批量)
- 顶部总入口 `tests/index.html` —— 79 个测试页的导航 + 通过率
- `run-tests.ps1` —— 本地一键构建测试目录(可扩展到 headless 跑通)
---
## 6. 路线图(Roadmap)
### 6.1 v1.0.0(当前)— 文档骨架就绪
- ✅ 79 个组件 × 5 端实现
- ✅ 设计令牌 100%
- ✅ Element 风格文档站
- ✅ Ctrl+K 搜索
### 6.2 v1.1.0(**本轮**)— 文档可被审计、可被回归
- 🆕 `tests/<slug>.html` × 79
- 🆕 `tests/index.html` 总览
- 🆕 `CHANGELOG.md` v1.1.0
- 🆕 `CONTRIBUTING.md`
- 🆕 `TESTING.md`
- 🆕 `site/logger.js`(构建/搜索/渲染日志)
- 🆕 `site/test-logger.js`(测试日志)
- 🆕 搜索增强:分类过滤 / 高亮 / 模糊容错
- 🆕 `run-tests.ps1` 构建脚本
### 6.3 v1.2.0(未来)— 进阶能力
- 给 73 个扩展组件补齐 `components/<slug>.json` 契约
- 提供 `site/data.json`(无 JS 注入的纯 JSON,供爬虫/SSR)
- 接入 Playwright headless 跑测试,输出 JUnit XML
- 国际化 i18n:EN/JP 双语
- 暗色主题 dark variant
- 接入 Storybook 作为开发环境(可选)
---
## 7. 验收标准(本轮完成定义)
- ✅ 每个组件有 `tests/<slug>.html`
- ✅ `tests/index.html` 能列出全部 79 项并给出通过率
- ✅ 文档站支持 Ctrl+K 搜索 + 分类过滤 + 高亮
- ✅ `CHANGELOG.md` 记录 v1.1.0
- ✅ `PLAN.md`(本文件)记录路线图
- ✅ `CONTRIBUTING.md` 写明如何加新组件
- ✅ `TESTING.md` 写明测试矩阵与执行方式
- ✅ `site/app.js` 内置日志收集,可在控制台 `aaLogger.export()` 导出
- ✅ 现有 `site/dev-server.js` 不破坏,原样保留
- ✅ 不修改 `site/data.js`(自动生成物)、不改 `build-site.ps1` 主流程
---
## 8. 不在本轮范围(显式排除)
- ❌ 不写 React 单元测试(Jest/Vitest),保持零依赖
- ❌ 不引入 npm 依赖
- ❌ 不改 git
- ❌ 不改 `site/dev-server.js`(已工作良好)
- ❌ 不动 `frameworks/` 下的源码(只读引用)
- ❌ 不重构 `site/app.js` 主体,只追加新文件 / 追加 hook
- ❌ 不改 DSH harness settings / memory
---
## 9. 风险与对策
| 风险 | 对策 |
|---|---|
| 79 个测试页太大、构建慢 | 生成器脚本一次写完;后续增删组件只需重跑 |
| 测试页与展示页视觉脱节 | 复用 `colors_and_type.css` + `components.css`,保持同源 |
| 文档站日志带来隐私顾虑 | 仅落 localStorage,提供导出按钮,不发任何远程 |
| 搜索增强改动影响现有 Ctrl+K | 走增量 hook,老逻辑保留 |
| 与 build-site.ps1 冲突 | 新增独立脚本 `run-tests.ps1`,不动 build 流程 |