官网 CMS 建站平台 · 产品说明
志睿源(重庆)软件有限公司 · 产品说明 说明日期:2026-09-16 | 状态:已开源(Apache-2.0)
一句话
一套数据驱动的企业官网内容管理系统:站点上的每一段文案、每一个产品、每一项服务、每一条进展,都在后台可视化配置,改一个字段即时生效,不用改代码、不用重新构建。
本官网(tomarking.com/zry)就是由它驱动的 —— 我们不是拿它做演示,而是自己天天在用。
解决什么问题
大多数中小企业的官网是"写死的静态页":想改一句介绍、上一个新产品、更新一条动态,都要找开发改代码、重新部署。
结果是官网常年不更新,访客看到的是两三年前的信息。
这套系统的做法是把内容全部搬进数据库:
| 传统静态站 | 官网 CMS |
|---|---|
| 文案写在 HTML 里 | 文案存在表里,后台表单改 |
| 改内容 = 改代码 + 发版 | 改内容 = 后台点保存 |
| 只有开发能维护 | 非技术人员也能维护 |
| 每次改动都有发布风险 | 改错了改回来即可 |
它长什么样
站点内容分成互不耦合的若干"内容类型",每一种都是一套独立的列表 + 增删改 + 排序:
| 内容类型 | 说明 |
|---|---|
| 站点设置 | 公司信息 / SEO / 联系方式 / 社交账号,按分组渲染成表单 |
| 导航管理 | 导航项增删改与排序 |
| 产品 | 产品详情、亮点、场景、状态、排序 |
| 服务 | 服务项、卖点、交付物、周期 |
| 价格档 | 多档报价与说明 |
| 能力实证 | 脱敏后的历史项目,作为能力背书 |
| 技术方向 | 技术栈与擅长领域 |
| 文章 | Markdown 正文的文章系统 |
| 进展日志 | 时间轴形态的"正在做什么",支持进度、状态、置顶 |
| 关联文档 | 外部 Markdown 文档的锚点管理 |
| 视频号内容 | 内容渠道与系列 |
| 优势条目 | "为什么选我"的主张 · 证据 · 图标 |
一个特性值得单独说:内容与文档解耦
站点上的"进展事件"和"关联文档"是分开的:
- 进展事件记录什么时候发生了什么(日期、标题、状态、进度)
- 关联文档记录详情内容在哪里(指向一份外部 Markdown)
这样有个好处:文档改了,外链不会断。
关联文档在库里存的是稳定短码(code),真正指向的那份 Markdown 由内容哈希决定。
文档内容更新后哈希变化,后台重导一次、短码不变,所有外部链接继续有效。
另外还有三层兜底:保存前校验、前台挂载前二次校验、后台一键体检,避免出现"点了打不开"的死链。
技术构成
| 项 | 情况 |
|---|---|
| 后端 | Node.js + MySQL |
| Web 框架 | 自研(HTTP / HTTPS / WebSocket,路由 / 会话 / JWT / 连接池 / 静态服务全自研) |
| 前端 | 原生 HTML + CSS + JavaScript,零框架、零打包、零构建 |
| 后台 | 原生 SPA,同样零框架 |
| 数据表 | 17 张 |
| 接口 | 74 个(20 个公开 + 54 个 JWT 鉴权) |
| 第三方依赖 | 仅 10 个 |
| 代码规模 | 83 个文件、约 17,000 行、1.2 MB |
| 许可证 | Apache License 2.0 |
为什么坚持零打包:源文件改完刷新浏览器就能看到效果,不需要 npm run build。
对一个要长期自己维护的站点来说,少一层构建工具就少一类故障。
为什么把自研框架一起开源:仓库里直接包含 node/web/ 这个框架目录,克隆下来就能跑,不需要先去别处找依赖。
开源仓库
已在两个平台以 Apache-2.0 协议开源,可自由使用、修改、商用:
仓库内附部署说明(docs/部署说明.md)与环境变量样例(.env.example)。
关于脱敏:开源版已做完整脱敏处理 ——
生产环境的数据库地址、端口、账号、明文口令全部改为环境变量读取;
JWT 签名密钥移除了内置默认值,强制从环境变量注入;
SQL 初始化脚本里的管理员账号改为占位凭据(admin / admin123),联系电话与邮箱改为占位值。
仓库中不含任何可用的生产凭据。
适用对象
- 需要一套能长期自己维护的官网的中小企业
- 内容更新频繁(常上新、常改文案)的站点
- 有投标、备案等场景,需要自主可控、可随时导出内容的官网
- 想拿一套干净底座做垂直行业站的开发者
使用与二次开发
- 想直接部署:按
docs/部署说明.md建库、导入初始化 SQL、配好环境变量、启动即可 - 想二次开发:业务代码集中在
node/zry/(约 6 个文件),接口路由表在node/zry/http.js,
加一个接口就是往路由表里加一条;前端加页面就是加一个 HTML + 一个 JS
- 想换掉前端:后端是纯 JSON 接口,前端可以整体替换成任何技术栈
状态
已上线运行,并已开源。持续迭代中。
志睿源(重庆)软件有限公司 | 中小企业与个人的 AI + 软件技术服务商