4.1 KiB
4.1 KiB
华夏谱 (HuaXiaPu) - 系统完善计划
本计划旨在将当前的“华夏谱”原型系统转化为一个功能完备、数据安全、体验优秀的家族树管理应用。
阶段一:数据持久化与基础可用性 (Data Persistence & Usability)
优先级:最高 (P0) 目标:解决刷新页面导致数据丢失的问题,确保用户录入的数据能够安全保存。
-
本地存储 (Local Storage) 集成
- 机制:利用浏览器的
localStorageAPI。 - 实现:
- 修改
FamilyContext,在应用启动时优先从localStorage读取数据。 - 在
addMember,updateMember,deleteMember等所有写操作后,自动同步最新状态到localStorage。 - 使用
useEffect监听数据变化并防抖保存。
- 修改
- 重置功能:在设置页添加“清除本地缓存”按钮,用于恢复默认演示数据。
- 机制:利用浏览器的
-
数据备份增强
- 优化 JSON 导出:确保导出的 JSON 文件包含完整的时间戳、版本号和元数据。
- 智能导入:导入时进行数据格式校验,防止坏数据崩坏页面;提供“合并”或“覆盖”选项。
阶段二:核心功能增强 (Core Feature Enhancement)
优先级:高 (P1) 目标:补充家谱管理中必不可少的多媒体和标准格式支持。
-
多媒体支持 (Media Support)
- 头像上传:
- 方案 A (纯前端):实现图片裁剪并转换为 Base64 字符串存储(注意控制大小)。
- 方案 B (云存储):集成 AWS S3 或类似对象存储服务(需后端支持)。
- 相册功能:允许为每个成员添加多张生活照。
- 头像上传:
-
GEDCOM 标准支持
- 导入:引入 GEDCOM 解析库 (e.g.,
read-gedcom),支持从其他软件(如 Ancestry, MyHeritage)迁移数据。 - 导出:将内部数据结构转换为标准
.ged格式,确保数据可迁移性。
- 导入:引入 GEDCOM 解析库 (e.g.,
-
族谱可视化升级
- 导出图片:集成
html2canvas或类似库,允许用户将当前的家谱树导出为高清 PNG/JPG 图片,方便打印。 - 视图切换:增加“垂直视图”(传统吊线图)和“水平视图”的切换。
- 折叠/展开:支持点击节点折叠子分支,优化在大数据量下的查看体验。
- 导出图片:集成
阶段三:逻辑校验与体验优化 (Logic & UX)
优先级:中 (P2) 目标:提升数据的准确性,防止逻辑错误的录入。
-
逻辑校验规则
- 时间校验:出生日期 < 逝世日期;子女出生日期 > 父母出生日期 + X 年。
- 关系校验:防止循环引用(自己不能是自己的祖先)。
- 完整性提示:提示缺失信息的成员(如缺失配偶、缺失生卒年)。
-
搜索与筛选增强
- 高级搜索:支持按字辈、籍贯、标签、生卒年份范围进行组合筛选。
- 快速定位:搜索结果点击后,在族谱图中自动居中并高亮显示该成员。
-
界面细节打磨
- 移动端适配:优化移动端的触摸拖拽和缩放体验。
- 暗色模式:完善 Dark Mode 的配色细节。
- 多语言:支持 简体中文 / 繁体中文 切换。
阶段四:后端集成与协作(远期规划)
优先级:低 (P3) 目标:支持多用户在线协作修谱。
- 用户系统:集成 NextAuth.js,支持邮箱/手机号登录。
- 云端数据库:迁移至 PostgreSQL + Prisma,实现数据的云端永久存储。
- 权限管理:
- 管理员:可编辑所有信息。
- 编辑者:仅可编辑特定分支。
- 浏览者:仅查看,不可编辑。
- 操作日志:记录谁在什么时候修改了哪条记录(修谱记录)。
建议执行路径
- 立即执行:完成 阶段一,使应用具备基本的实用价值。
- 随后:根据用户反馈,选择性实施 阶段二 中的“导出图片”和“GEDCOM支持”。