# Naive UI 重构组件使用指南
## 快速开始
### 安装
```bash
# 通过pnpm安装(推荐)
pnpm add @prompt-optimizer/ui
# 或通过npm安装
npm install @prompt-optimizer/ui
```
### 基础用法
```vue
```
## 主要特性
### 🎯 完整的可访问性支持
- WCAG 2.1 AA/AAA 标准合规
- 完整的键盘导航
- 屏幕阅读器优化
- 高对比度模式支持
### 📱 响应式设计
- 移动端优先
- 自适应布局
- 触摸友好的交互
### ⚡ 性能优化
- 虚拟滚动
- 懒加载
- 防抖节流
- 代码分割
### 🌍 国际化支持
- 多语言切换
- 本地化格式
- RTL语言支持
## 组件概览
| 组件名 | 用途 | 主要特性 |
|--------|------|----------|
| `ContextEditor` | 上下文编辑 | 消息管理、变量处理、工具配置 |
| `ToolCallDisplay` | 工具调用显示 | 折叠面板、状态显示、错误处理 |
| `ScreenReaderSupport` | 屏幕阅读器支持 | 实时通知、键盘快捷键、导航提示 |
## Composables
| 函数名 | 用途 | 返回值 |
|--------|------|--------|
| `useAccessibility` | 可访问性支持 | 键盘导航、ARIA管理、消息通知 |
| `useFocusManager` | 焦点管理 | 焦点陷阱、键盘导航、自动恢复 |
| `useAccessibilityTesting` | 可访问性测试 | WCAG合规检查、问题报告 |
## 最佳实践
### 1. 可访问性优先
```vue
```
### 2. 响应式设计
```vue
```
### 3. 性能优化
```vue
```
## 常见问题
### Q: 如何启用可访问性模式?
A: 使用 `useAccessibility` composable:
```typescript
const { isAccessibilityMode } = useAccessibility()
// 自动检测或手动启用
isAccessibilityMode.value = true
```
### Q: 如何处理大量数据的性能问题?
A: 使用虚拟化和分页:
```vue
```
### Q: 如何自定义主题?
A: 通过CSS变量覆盖默认主题:
```css
:root {
--primary-color: #1890ff;
--border-radius: 4px;
--font-size: 14px;
}
```
### Q: 如何添加国际化支持?
A: 配置i18n实例:
```typescript
import { createI18n } from 'vue-i18n'
const i18n = createI18n({
locale: 'zh-CN',
messages: {
'zh-CN': { /* 中文消息 */ },
'en-US': { /* 英文消息 */ }
}
})
```
## 升级指南
### 从传统组件升级到Naive UI版本
1. **更新导入语句**:
```typescript
// 旧版本
import ContextEditor from './components/ContextEditor.vue'
// 新版本
import { ContextEditor } from '@prompt-optimizer/ui'
```
2. **更新Props**:
```vue
```
3. **添加可访问性支持**:
```vue
```
## 开发工具
### TypeScript支持
完整的TypeScript类型定义:
```typescript
import type {
ContextState,
ToolCall,
AccessibilityFeatures,
FocusManagerOptions
} from '@prompt-optimizer/ui'
```
### 开发时调试
启用调试模式:
```typescript
import { setDebugMode } from '@prompt-optimizer/ui'
// 开发环境下启用
if (process.env.NODE_ENV === 'development') {
setDebugMode(true)
}
```
### 测试工具
使用内置的测试工具:
```typescript
import { useAccessibilityTesting } from '@prompt-optimizer/ui'
const { runTest } = useAccessibilityTesting()
// 运行可访问性测试
const result = await runTest({
wcagLevel: 'AA',
scope: document.body
})
```
## 贡献指南
欢迎贡献代码和改进建议!
1. Fork 项目仓库
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add some amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建Pull Request
## 支持
- 📖 [完整API文档](./COMPONENT_API.md)
- 🐛 [问题反馈](https://github.com/your-repo/issues)
- 💬 [讨论区](https://github.com/your-repo/discussions)
---
*最后更新: 2024年XX月XX日*