Files
chinese-family-tree-2/MEMBER_VERSION_HISTORY_FEATURE.md
T
freedakgmail 3d075c6076 0.0.8.5
2025-11-24 14:02:34 +08:00

172 lines
4.4 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.
# 成员详情页版本历史功能
## ✅ 功能已完成
成员详情页现在显示版本历史,可以查看成员信息的所有修改记录。
## 📍 页面布局
### 新布局(左右分栏)
**左侧(2/3宽度)**
1. 详细信息(出生日期、年龄、逝世日期等)
2. 联系方式(手机、电话、邮箱、地址)
3. 生平事迹
4. 照片墙
5. 家族故事
6. 家族关系(父母、配偶、子女)
**右侧(1/3宽度)**
- 版本历史列表
## 🎯 版本历史功能
### 显示内容
- ✅ 版本号
- ✅ 操作类型(创建/更新/删除)
- ✅ 修改时间
- ✅ 修改人
- ✅ 变更摘要(前3个字段)
### 交互功能
- ✅ 点击版本高亮显示
- ✅ 滚动查看所有历史
- ✅ 自动选中最新版本
### 显示示例
```
┌─────────────────────────────┐
│ 版本历史 │
│ 共 5 个版本 │
├─────────────────────────────┤
│ [更新] 版本 5 ▶ │
│ 2025-11-24 13:18:32 │
│ 虞女士 │
│ • 简介 │
│ • 邮箱 │
│ 等 4 项 │
├─────────────────────────────┤
│ [更新] 版本 4 │
│ 2025-11-24 12:20:57 │
│ 虞女士 │
│ • 手机 │
│ • 地址 │
├─────────────────────────────┤
│ [创建] 版本 1 │
│ 2025-11-23 10:00:00 │
│ 虞女士 │
└─────────────────────────────┘
```
## 🔧 技术实现
### 新增文件
#### 1. 版本历史组件
**文件:** `components/members/member-version-history.tsx`
**功能:**
- 获取并显示成员的所有历史版本
- 支持点击选择版本
- 显示变更摘要
- 自动关联用户信息
#### 2. API 端点
**文件:** `app/api/trees/[treeId]/members/[memberId]/history/route.ts`
**功能:**
- 获取成员的历史记录
- 批量查询用户信息
- 按版本号倒序排列
### 修改文件
#### 成员详情页
**文件:** `app/members/[id]/page.tsx`
**修改:**
- 导入版本历史组件
- 重新组织布局(左右分栏)
- 将详细信息和联系方式移到左侧
- 右侧显示版本历史
## 📊 数据流
```
用户访问成员详情页
加载成员基本信息
调用 API 获取版本历史
/api/trees/[treeId]/members/[memberId]/history
查询 MemberHistory 表
批量查询 User 表(获取修改人信息)
组合数据并返回
前端显示版本历史列表
用户点击版本(未来可查看详情)
```
## 🎨 UI 设计
### 颜色标识
- **创建**:绿色 (bg-green-100 text-green-700)
- **更新**:蓝色 (bg-blue-100 text-blue-700)
- **删除**:红色 (bg-red-100 text-red-700)
### 选中状态
- 边框:`border-primary`
- 背景:`bg-primary/5`
- 阴影:`shadow-sm`
- 指示器:右侧箭头图标
### 响应式设计
- 桌面:左右分栏(2:1
- 移动:上下堆叠
## 🔮 未来功能
### 第一阶段(已完成)
- ✅ 显示版本历史列表
- ✅ 显示变更摘要
- ✅ 支持版本选择
### 第二阶段(计划中)
- [ ] 点击版本查看完整快照
- [ ] 版本对比功能
- [ ] 版本回滚功能
- [ ] 导出版本历史
## 💡 使用说明
1. **查看版本历史**
- 访问任意成员详情页
- 右侧自动显示版本历史
- 最新版本默认选中
2. **查看变更详情**
- 每个版本显示前3个变更字段
- 超过3个显示总数提示
3. **查看修改人**
- 每个版本显示修改人姓名或邮箱
- 显示修改时间
## 📝 注意事项
1. **权限**:所有有权访问成员的用户都能查看版本历史
2. **性能**:历史记录按需加载,不影响页面性能
3. **存储**:每个版本保存完整快照,占用一定存储空间
## ✨ 优势
1. **完整追溯**:可以查看成员信息的完整修改历史
2. **责任明确**:记录每次修改的操作人
3. **数据安全**:支持未来的版本回滚功能
4. **审计友好**:满足数据审计需求