# 组件 UI 重新设计示例 本文档展示如何将现有组件中的 emoji 替换为 SVG 图标,并应用更专业的设计风格。 ## 示例 1: GlobalSidebar.vue ### Before ```vue ``` ### After ```vue ``` ## 示例 2: DocumentsPanel.vue ### Before ```vue ``` ### After ```vue ``` ## 示例 3: MainContent.vue 工具栏 ### Before ```vue ``` ### After ```vue ``` ## 示例 4: 状态指示器 ### Before ```vue ``` ### After ```vue ``` ## 示例 5: 空状态提示 ### Before ```vue ``` ### After ```vue ``` ## 设计原则总结 ### 1. 一致的间距系统 - 使用 `gap` 属性设置图标和文字的间距 - 推荐间距:`var(--space-2)` (8px) ### 2. 语义化颜色 - 主要操作:`var(--accent-primary)` - 成功状态:`var(--accent-success)` - 警告状态:`var(--accent-warning)` - 危险操作:`var(--accent-danger)` ### 3. 交互反馈 - 所有可点击元素添加 `transition` - hover 状态使用 `var(--bg-elevated)` 背景变化 - 添加适当的 `border-radius` ### 4. 图标尺寸规范 - 按钮内图标:16px - 标题/标签图标:18-20px - 大型展示图标:24-48px ### 5. 对齐方式 - 使用 `display: flex` - `align-items: center` 确保垂直居中 - 图标添加 `flex-shrink: 0` 防止被压缩 ## 迁移检查清单 在完成每个组件的迁移后,请确认: - [ ] 移除所有 emoji 字符 - [ ] 导入 `IconLibrary` 组件 - [ ] 图标名称符合语义 - [ ] 图标尺寸合适 - [ ] 图标和文字正确对齐 - [ ] hover 状态有视觉反馈 - [ ] 颜色使用设计令牌 - [ ] 间距符合设计系统 - [ ] 添加必要的 `aria-label` - [ ] 测试响应式布局