# 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/.html` | 5 端展示 | ✅ | | 6 | 文档站首页/总览/快速开始/设计规范 | `site/app.js` + `site/style.css` | Element 风格布局 + 锚点目录 | ✅ | | 7 | 全局搜索 | `Ctrl+K` 弹窗 (`bindSearch`) | 中/英/slug 模糊匹配 | ✅;**搜索日志**待补(计划 2.1) | | 8 | 主题定制器 | 悬浮工具 (theme-panel) | 4 键覆盖 + 复制 CSS | ✅ | | 9 | **每个组件的测试页** | `tests/.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/.html`(本轮新增) | `localStorage[aa-test-log]` | 每组件测试结果、失败项、堆栈 | 所有日志默认本地落盘(避免隐私问题),提供「导出」按钮 → 复制 JSON,方便提交 issue。 --- ## 4. 搜索系统(Search)— 现有 + 增强 ### 4.1 现有 - 触发:`Ctrl+K` / 顶栏按钮 - 字段:组件中文名 / 英文名 / slug - 上限:20 条 - 排序:原顺序 ### 4.2 本轮增强 | 能力 | 描述 | |---|---| | 分类过滤 | Ctrl+K 弹窗内 chip 行,可只看某一类(如只看「反馈」类) | | 关键词高亮 | 命中字符 `` 包裹 | | 模糊容错 | 子串匹配 + 大小写不敏感;支持中英文混输 | | 搜索日志 | 记录每次 query、点击目标、毫秒级耗时 | | 全局快捷键 | `Ctrl+/` 在页面内任意位置直接聚焦搜索(已 Ctrl+K 仍可用) | --- ## 5. 测试系统(Per-Component Tests)— 范围与原则 ### 5.1 原则 - **零依赖**:纯 HTML + 原生 JS + design tokens,可直接在浏览器打开 - **可视化**:每个组件独立 `tests/.html`,含三段:① 渲染快照 ② 交互用例 ③ 断言结果表 - **可机器读取**:每条断言在 DOM 上加 `data-assert=""` 与 `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/.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/.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/.json` 契约 - 提供 `site/data.json`(无 JS 注入的纯 JSON,供爬虫/SSR) - 接入 Playwright headless 跑测试,输出 JUnit XML - 国际化 i18n:EN/JP 双语 - 暗色主题 dark variant - 接入 Storybook 作为开发环境(可选) --- ## 7. 验收标准(本轮完成定义) - ✅ 每个组件有 `tests/.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 流程 |