This commit is contained in:
freedakgmail
2025-11-24 14:02:34 +08:00
parent b7a8c9ee6e
commit 3d075c6076
941 changed files with 25613 additions and 27641 deletions
+135
View File
@@ -0,0 +1,135 @@
# 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 响应
- 具体的错误信息