Files
ai/INTEGRATION_README.md
2025-07-08 00:52:10 +08:00

152 lines
3.5 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.

# Pandora 前后端集成说明
## 🚀 快速启动
### 1. 启动后端服务
```bash
cd backend
npm install
npm run dev
```
后端服务将在 `http://localhost:3001` 启动
### 2. 启动前端服务
```bash
cd frontend
npm install
npm run dev
```
前端服务将在 `http://localhost:3000` 启动
## 🔧 配置说明
### 后端配置
后端使用 SQLite 数据库,无需额外配置。主要配置项在 `backend/.env` 文件中:
- `DATABASE_URL`: SQLite 数据库路径
- `JWT_SECRET`: JWT 密钥
- `PORT`: 服务端口 (默认 3001)
### 前端配置
前端 API 基础 URL 配置在 `frontend/src/utils/api.ts` 中:
```typescript
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:3001/api'
```
## 🧪 测试集成
### 1. API 测试页面
访问 `http://localhost:3000/test` 可以测试各种 API 功能:
- 获取路径列表
- 用户注册
- 用户登录
- 获取用户信息
### 2. 功能测试
1. **用户注册**: 访问首页,切换到注册模式,填写信息并注册
2. **用户登录**: 使用注册的邮箱和密码登录
3. **路径权限**: 登录后查看仪表板中的路径权限
4. **账号管理**: 查看分配的网站账号
## 📋 已实现的功能
### 后端 API
- ✅ 用户注册 (`POST /api/auth/register`)
- ✅ 用户登录 (`POST /api/auth/login`)
- ✅ 邮箱验证 (`POST /api/auth/verify-email`)
- ✅ 密码重置 (`POST /api/auth/forgot-password`, `POST /api/auth/reset-password`)
- ✅ TOTP 二步验证 (`POST /api/auth/verify-totp`)
- ✅ 用户信息管理 (`GET /api/auth/profile`, `PUT /api/auth/profile`)
- ✅ 路径权限管理 (`GET /api/paths`, `GET /api/paths/user`)
- ✅ 账号管理 (`GET /api/accounts/user`)
- ✅ 管理员功能 (`/api/admin/*`)
### 前端功能
- ✅ 用户认证状态管理 (Pinia Store)
- ✅ API 服务层 (Axios)
- ✅ 路由守卫
- ✅ 登录/注册界面
- ✅ 用户仪表板
- ✅ 路径权限显示
- ✅ 账号列表显示
- ✅ Toast 通知
- ✅ 响应式设计
## 🔐 认证流程
1. **注册**: 用户填写信息 → 后端创建用户 → 发送验证邮件
2. **登录**: 用户输入邮箱密码 → 后端验证 → 返回 JWT Token
3. **权限验证**: 前端请求携带 Token → 后端验证权限 → 返回数据
4. **路径选择**: 用户选择登录路径 → 验证路径权限 → 进入系统
## 🛠️ 开发工具
### 后端开发
```bash
# 数据库迁移
npm run db:migrate
# 生成 Prisma 客户端
npm run db:generate
# 查看数据库
npm run db:studio
```
### 前端开发
```bash
# 代码检查
npm run lint
# 类型检查
npm run type-check
# 构建生产版本
npm run build
```
## 🐛 常见问题
### 1. CORS 错误
确保后端 CORS 配置正确,允许前端域名访问。
### 2. 数据库连接错误
检查 SQLite 数据库文件是否存在,确保有写入权限。
### 3. API 请求失败
检查后端服务是否正常运行API 地址是否正确。
### 4. 认证失败
检查 JWT Token 是否正确传递Token 是否过期。
## 📝 下一步开发
1. **完善管理后台**: 实现用户管理、权限管理、账号管理界面
2. **添加更多安全功能**: API 限流、IP 白名单、审计日志
3. **优化用户体验**: 添加加载状态、错误处理、表单验证
4. **性能优化**: 数据库查询优化、前端代码分割、缓存策略
5. **测试覆盖**: 单元测试、集成测试、端到端测试
## 🔗 相关文档
- [后端 API 文档](./backend/README.md)
- [前端开发文档](./frontend/README.md)
- [数据库设计文档](./TODO.md)