# API 数据验证指南 ## 问题诊断 王氏家族始祖在数据库中正确设置了 `isFounder: true`,但前端可能没有显示。 ### 数据库验证 ✅ ``` 王德厚 isFounder: true generation: 1 tags: 教书先生 ``` 数据库中的数据是正确的。 ## 可能的原因 ### 1. 浏览器缓存 **解决方法**: - 按 `Cmd + Shift + R` (Mac) 或 `Ctrl + Shift + R` (Windows) 强制刷新 - 或清除浏览器缓存 ### 2. 开发服务器需要重启 **解决方法**: ```bash # 停止当前服务器 (Ctrl + C) # 重新启动 pnpm dev ``` ### 3. TypeScript 类型缓存 **解决方法**: 在 VS Code 中: 1. 按 `Cmd + Shift + P` (Mac) 或 `Ctrl + Shift + P` (Windows) 2. 输入 "TypeScript: Restart TS Server" 3. 回车 ### 4. 前端状态未更新 **解决方法**: - 退出登录 - 重新登录 - 查看成员列表 ## 验证步骤 ### 1. 检查 API 响应 打开浏览器开发者工具: 1. 按 `F12` 打开开发者工具 2. 切换到 `Network` 标签 3. 刷新页面 4. 找到 `/api/trees/[treeId]/members` 请求 5. 查看响应数据中是否包含 `isFounder` 字段 ### 2. 检查控制台 在浏览器控制台中运行: ```javascript // 查看当前加载的成员数据 console.log(treeData.members) // 查找始祖成员 Object.values(treeData.members).filter(m => m.isFounder) ``` ### 3. 检查成员列表页面 访问成员列表页面,查看: - 王德厚的名字前是否有 👑 图标 - 是否显示"家族始祖"标签(金色) ## 快速修复 ### 方法一:清除所有缓存并重启 ```bash # 1. 停止开发服务器 # 2. 清除 Next.js 缓存 rm -rf .next # 3. 重新启动 pnpm dev ``` ### 方法二:重新填充数据库 ```bash npx prisma db seed ``` 这会清空并重新创建所有数据,确保 `isFounder` 字段正确。 ## 预期效果 正确显示时,王德厚应该: 1. **成员列表页** - 名字前有 👑 图标(金色) - 显示"家族始祖"标签(金色加粗) - 在第1代成员中排在最前面 2. **成员详情页** - 显示始祖相关信息 3. **族谱图** - 作为根节点显示 ## 调试信息 如果问题仍然存在,请检查: 1. **浏览器控制台错误** - 是否有 JavaScript 错误 - 是否有 API 请求失败 2. **Network 请求** - API 是否返回了 `isFounder` 字段 - 数据格式是否正确 3. **React DevTools** - 检查组件的 props 和 state - 确认 `member.isFounder` 的值 ## 联系支持 如果以上方法都无效,请提供: - 浏览器控制台截图 - Network 标签中的 API 响应 - 具体的错误信息