114 lines
2.8 KiB
Markdown
114 lines
2.8 KiB
Markdown
# 首页"近期修谱动态"详细变更显示
|
|
|
|
## ✅ 功能已完成
|
|
|
|
首页的"近期修谱动态"现在可以显示详细的变更信息,不再只显示"编辑了成员信息"。
|
|
|
|
## 📍 查看位置
|
|
|
|
**首页** → **近期修谱动态**标签页
|
|
|
|
## 🎯 显示效果
|
|
|
|
### 之前(旧版本)
|
|
```
|
|
编辑虞晓东
|
|
11-24 13:16
|
|
编辑了成员信息
|
|
```
|
|
|
|
### 现在(新版本)
|
|
```
|
|
编辑虞国华
|
|
11-24 13:18
|
|
• 修改了简介
|
|
• 修改了邮箱
|
|
等 4 项变更
|
|
```
|
|
|
|
## 📊 功能特性
|
|
|
|
1. **智能摘要**:只显示前2个变更字段,避免信息过载
|
|
2. **总数提示**:如果变更超过2项,显示总变更数
|
|
3. **中文标签**:所有字段都用中文显示
|
|
4. **向后兼容**:旧日志仍显示通用描述
|
|
|
|
## 🔧 技术实现
|
|
|
|
### 修改文件
|
|
- `app/page.tsx`
|
|
- 添加 `changes` 字段到 `ActivityLog` 接口
|
|
- 实现智能变更摘要显示
|
|
- 支持 26 个字段的中文标签
|
|
|
|
### 显示逻辑
|
|
```typescript
|
|
// 如果有详细变更信息
|
|
if (activity.action === 'UPDATE' && activity.changes) {
|
|
// 显示前2个变更字段
|
|
• 修改了姓名
|
|
• 修改了手机
|
|
等 4 项变更 // 如果超过2项
|
|
}
|
|
// 否则显示通用描述
|
|
else {
|
|
编辑了成员信息
|
|
}
|
|
```
|
|
|
|
## 📝 支持的字段
|
|
|
|
与设置页面的操作日志相同,支持 26 个字段:
|
|
- 基本信息、日期、地点、联系方式
|
|
- 家族信息、关系、其他
|
|
|
|
## 🎨 设计考虑
|
|
|
|
1. **简洁性**:首页只显示摘要,避免信息过载
|
|
2. **可点击**:成员名称可点击跳转到详情页
|
|
3. **时间格式**:使用简洁的 MM-dd HH:mm 格式
|
|
4. **视觉层次**:使用不同字体大小和颜色区分信息
|
|
|
|
## 💡 使用场景
|
|
|
|
### 首页快速浏览
|
|
- 查看最近的修谱活动
|
|
- 了解修改了哪些字段
|
|
- 点击成员名称查看详情
|
|
|
|
### 设置页面详细查看
|
|
- 查看完整的变更历史
|
|
- 查看修改前后的具体值
|
|
- 筛选特定家族树的日志
|
|
|
|
## 🔄 数据流
|
|
|
|
1. **用户编辑成员** → 前端提交更新
|
|
2. **API 处理** → 调用 `recordMemberHistory()`
|
|
3. **保存历史** → MemberHistory 表记录详细变更
|
|
4. **创建日志** → ActivityLog 保存变更信息
|
|
5. **首页显示** → 读取并显示变更摘要
|
|
6. **设置页显示** → 读取并显示完整变更
|
|
|
|
## ✨ 优势
|
|
|
|
1. **信息丰富**:一眼看出修改了什么
|
|
2. **不占空间**:只显示摘要,保持界面整洁
|
|
3. **可追溯**:点击可查看完整历史
|
|
4. **实时更新**:新的修改立即显示详细信息
|
|
|
|
## 🧪 测试
|
|
|
|
创建测试更新:
|
|
```bash
|
|
npx tsx scripts/create-real-update.ts
|
|
```
|
|
|
|
然后访问首页查看"近期修谱动态"。
|
|
|
|
## 📌 注意事项
|
|
|
|
- 旧的操作日志(功能上线前)仍显示通用描述
|
|
- 新的操作日志(功能上线后)会显示详细变更
|
|
- 首页只显示前2个变更,完整信息在设置页查看
|