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

2.8 KiB

首页"近期修谱动态"详细变更显示

功能已完成

首页的"近期修谱动态"现在可以显示详细的变更信息,不再只显示"编辑了成员信息"。

📍 查看位置

首页近期修谱动态标签页

🎯 显示效果

之前(旧版本)

编辑虞晓东
11-24 13:16
编辑了成员信息

现在(新版本)

编辑虞国华
11-24 13:18
• 修改了简介
• 修改了邮箱
等 4 项变更

📊 功能特性

  1. 智能摘要:只显示前2个变更字段,避免信息过载
  2. 总数提示:如果变更超过2项,显示总变更数
  3. 中文标签:所有字段都用中文显示
  4. 向后兼容:旧日志仍显示通用描述

🔧 技术实现

修改文件

  • app/page.tsx
    • 添加 changes 字段到 ActivityLog 接口
    • 实现智能变更摘要显示
    • 支持 26 个字段的中文标签

显示逻辑

// 如果有详细变更信息
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. 实时更新:新的修改立即显示详细信息

🧪 测试

创建测试更新:

npx tsx scripts/create-real-update.ts

然后访问首页查看"近期修谱动态"。

📌 注意事项

  • 旧的操作日志(功能上线前)仍显示通用描述
  • 新的操作日志(功能上线后)会显示详细变更
  • 首页只显示前2个变更,完整信息在设置页查看