# 后端功能测试指南 ## 🚀 启动应用 ```bash # 启动开发服务器 pnpm dev ``` 访问: http://localhost:3000 ## 📝 测试流程 ### 1. 用户注册 1. 访问 http://localhost:3000/auth/register 2. 填写信息: - 姓名:测试用户 - 邮箱:test@example.com - 密码:password123 3. 点击"注册" 4. 应该跳转到登录页面 ### 2. 用户登录 1. 访问 http://localhost:3000/auth/signin 2. 输入: - 邮箱:test@example.com - 密码:password123 3. 点击"登录" 4. 应该跳转到首页 ### 3. 数据迁移 1. 访问 http://localhost:3000/migrate 2. 点击"开始迁移" 3. 等待迁移完成 4. 查看迁移结果 ### 4. API 测试(使用 curl) #### 注册用户 ```bash curl -X POST http://localhost:3000/api/auth/register \ -H "Content-Type: application/json" \ -d '{ "email": "test2@example.com", "password": "password123", "name": "测试用户2" }' ``` #### 创建家族树(需要先登录) ```bash # 登录后获取 session cookie,然后: curl -X POST http://localhost:3000/api/trees \ -H "Content-Type: application/json" \ -H "Cookie: next-auth.session-token=YOUR_SESSION_TOKEN" \ -d '{ "name": "李氏家族", "description": "李氏家族树" }' ``` #### 获取家族树列表 ```bash curl -X GET http://localhost:3000/api/trees \ -H "Cookie: next-auth.session-token=YOUR_SESSION_TOKEN" ``` ## 🔍 验证数据库 ### 查看数据库内容 ```bash # 连接到数据库 psql -d chinese_family_tree # 查看用户 SELECT id, email, name, "createdAt" FROM "User"; # 查看家族树 SELECT id, name, description, "ownerId" FROM "FamilyTree"; # 查看成员 SELECT id, "fullName", gender, generation FROM "FamilyMember" LIMIT 10; # 查看操作日志 SELECT action, "entityType", "entityName", timestamp FROM "ActivityLog" ORDER BY timestamp DESC LIMIT 10; ``` ## ✅ 测试检查清单 - [ ] 用户可以成功注册 - [ ] 用户可以成功登录 - [ ] 登录后可以访问首页 - [ ] 可以创建家族树 - [ ] 可以查看家族树列表 - [ ] 数据迁移功能正常 - [ ] 迁移后数据在数据库中 - [ ] 操作日志正常记录 ## 🐛 常见问题 ### 1. 数据库连接失败 检查 `.env` 文件中的 `DATABASE_URL` 是否正确 ### 2. 登录失败 - 检查邮箱和密码是否正确 - 查看浏览器控制台错误信息 - 检查 NextAuth 配置 ### 3. 迁移失败 - 确保已登录 - 检查 IndexedDB 中是否有数据 - 查看浏览器控制台错误 ## 📊 性能测试 ### 批量创建成员 ```javascript // 在浏览器控制台执行 async function createMembers(count) { for (let i = 0; i < count; i++) { await fetch('/api/trees/YOUR_TREE_ID/members', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ surname: '李', givenName: `测试${i}`, fullName: `李测试${i}`, gender: 'MALE', generation: 1 }) }) } } createMembers(10) ``` ## 🎯 下一步 1. ✅ 基础功能测试通过 2. 🔄 添加更多 API 端点 3. 🎨 完善前端界面 4. 🚀 部署到生产环境