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