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