
场景一:理事长老周的为难。 堂弟在家族群里说了一句「咱们家该修谱了」,老周去问了两家做软件的,报价三万起,做出来还得每年交维护费,数据存在人家服务器上。老周算了一下:族里凑得出这个钱,但心里不踏实。
场景二:谱师老陈的流水账。 接了修谱的单子,族人资料靠微信一条条发、Excel 一张张收;有人报了"曾祖父那一辈",得人肉去数世代;排错了,整本重排。忙半年,赚的是辛苦钱。
场景三:建站公司的小张。 客户要一个家谱系统。小张评估了一圈:族谱得画拓扑图、得支持认领审核、得能导入导出 Excel……光那个"世系图"就得从头写一个渲染引擎。他想,这单不划算。
这三个场景,其实指向同一件事:家谱系统不该每次都从零做。
这套源码给的是什么
家族家谱系统 v1.6.0——一套可以直接部署到宝塔面板 / 虚拟主机上的完整系统:
- 技术栈:PHP 7.0+(原生,无框架)· MySQL 5.6+ / MariaDB 10.1+ · 原生 JavaScript
- 零构建:没有 npm、没有 webpack、没有 composer,上传即用
- 零依赖:世系拓扑图引擎是自己写的 SVG 实现,Excel 导出是自己手写的 OOXML,不引任何第三方库
- 零外部 CDN:所有静态资源本地化,内网 / 离线环境也能跑
换句话说:客户那边环境再简陋、没有命令行、没有外网,也能装起来。
一、让族人自己上谱,理事会只管审核
这是整套系统最省人力的一块。
- 族人用本人手机号自助登录(初始密码 123456,首次登录强制改密);
- 后台支持按手机号批量生成族人账号——不用一个个建;
- 族人自助提交:认领族人、补录子女、绑定父母、补录配偶、修改本人资料;
- 全部走「提交申请 → 管理员审核 → 落库」,审核权牢牢在理事会手里,谁也改不了、加不了;
- 全站图谱默认仅登录族人可见:未登录连族人数量、世代数、始祖、字辈都不显示(这条可在后台关掉)。
对宗亲会来说,这条的分量很重——资料不外泄,同时不用一个人加班录入几百号人。
二、谱要看得见:自研 SVG 世系拓扑图
- 支持缩放、拖动,几百人的家族也不卡;
- 输入名字直接定位到图上那个人,不用一层层点开;
- 点选任一族人查看完整详情;
- 一键显示「从始祖到本人」的世系路径——族里老人最吃这一套。
这个引擎是自己写的,没有引第三方库——所以它不会因为 CDN 挂了、库停维护了而坏掉。
三、修谱人的省力工具
- 世代自动推算:后台选父/母新建子嗣,世代自动算,不用人肉数;
- 19 列批量导入:籍贯与现居地各占「省/市/区/详细地址」四列,配偶按姓名自动关联(谱内同名记为配偶,外姓记为姻亲);
- 老模板照旧能用:13 列、10 列的老模板直接导入,不会错位;
- 没有表头也能导:按表内最宽的一行推断列数(这个坑我们踩过——只看第一行会把手号当成简介吞掉);
- 一键导出真 .xlsx:22 列、冻结首行 + 自动筛选,不是伪装成 Excel 的 CSV;
- 籍贯 / 现居地细分到区县:内置全国 34 个省级、393 个地级、3220 个区县,三级联动下拉,纯内置数据、不联网;
- 前台按省 / 市 / 区跨谱检索:选到哪一级就列出该地区全部族人,跨本站所有家谱,转谱迁居的族亲一次找齐。
四、能"成书",也能"上手机"(插件)
📖 家谱电子书插件 一键把族谱排版成一本中式电子书:封面(谱名 / 堂号)→ 目录 → 谱序 → 世系篇 → 传记篇 → 婚姻篇 → 后记。 可在线翻阅、可下载单文件(一个 HTML,离线也能打开)、可打印 / 存为 PDF。 产物放在网站根目录之外,游客猜到文件名也下不到。
📱 微信小程序插件
后台填 AppID / AppSecret,一键完成「上传代码 → 提交审核 → 发布上线」,并可同步 H5 端站点参数;小程序与网站共用同一套家谱数据。
微信返回的错误码会被翻成"下一步该做什么"(例如 40164 直接提示去开放平台加 IP 白名单)。
五、城市家谱(v1.3.0 插件):从"一个家族一个站"到"一城一谱"
- 每个城市独立管理自己的家谱,族谱按城市归属;
- 城市之间可以互相关联,但必须凭「亲属链接」——两侧各选一位真实族员(其族谱须分别归属两城)并注明关系(通婚 / 过继 / 血缘),没有亲属事实就建不出关联;
- 新增「城市管理员」角色,只管本城家谱,权限收得住。
六、作为"要长期交付的产品",这几件事做得很关键
🔐 授权:正规商业授权,客户零配置 授权由厂商统一授权中心按域名签发(绑定域名 + 有效期,到期日 ≥ 2099 视为终身)。 客户后台点一下「从授权中心同步」即自动取码生效,站点里没有任何公钥 / 私钥 / 证书文件;授权码存在单文件里、不依赖数据库(数据库挂了也读得到授权)。 未授权 / 被撤销时接口返回 HTTP 423 并写明原因与下一步。
🔄 在线更新:客户后台一键升级
更新包由授权方发布 → 客户后台「检查更新 → 立即更新」:整包 sha256 校验 → 自动备份 → 逐文件写入并回读 sha256 → 自动执行数据库升级脚本 → 任一步失败自动整批回滚(还原覆盖 + 删掉新增)。
全量包任意旧版本一次直升最新版;安全上拒绝绝对路径 / .. / 空字节,永不允许覆盖 config/config.php 与 backups/,且不用整包解压(从根上断掉 zip-slip)。
数据库升级脚本后台一键执行(自动替换表前缀占位符,专治 #1146 这种报错)。
💾 数据备份:纯 PHP 实现,不依赖 mysqldump
虚拟主机普遍禁用 exec,且版本不匹配会直接失败——所以备份是纯 PHP 写的:每 500 行一条批量 INSERT,大表也不吃内存;有 zlib 输出 .sql.gz,没有则输出 .sql,两者都能被 phpMyAdmin 直接导入;恢复前自动先备份当前库兜底。
📋 更新日志 分两块——① 各版本「新增 / 修复」内容(后台直接展示);② 本站升级记录(每次升级含失败都写入,可查时间 / 版本变化 / 操作人)。
七、接手成本很低
- 没有框架:PHP 原生 + 原生 JS,会 PHP 的都能接;
- 目录分得清:业务类都在
app/下且在站点根之外、不可被直接访问;接口单入口?route=xxx;
- 三步安装向导 +
check.php运行自检(环境 / 文件 / 权限 / 版本 / 授权 / 数据表一次体检);
- 文档齐全:部署文档、目录结构说明、更新说明、README(含功能地图与全部修复记录);
- 权限三级:总管理员 / 族谱管理员 / 普通族员 / 游客,边界清楚。
谁适合买这套源码
- 宗亲会 / 家族理事会:一次投入,自己部署、数据在自己服务器上,不用每年交维护费;
- 谱师 / 修谱工作室:把资料收集、世代推算、成书排版这几段最耗人的活交给系统,接单能力直接翻倍;
- 建站公司 / 同行:客户要家谱系统,不用再开一个新项目,一套源码反复交付;
- 想收藏或二次开发的人:无框架、无第三方依赖,改起来清爽。
最后
修谱这件事,讲究的是"传下去"。
一款要传下去的系统,不能依赖 CDN、不能依赖第三方库、不能依赖某家公司的服务器还开着——所以这套源码把能自己写的都自己写了,能本地化的都本地化了。
零构建、零依赖、零外部 CDN,不是技术洁癖,是为了让它十年后还能跑起来。
【此处接品牌介绍:上海创缘网络科技有限公司 / 联系人 张天慈 / 已服务 XXX 家客户 / 支持二次开发】
【咨询电话 / 微信:150 0026 1114】 【二维码占位】 【源码授权方式与报价,请私信】
