内容模型:区块与文档
为什么内容表不需要改结构,以及回退机制。
两层结构
首页 = 10 个区块(site / hero / stats / … / cta)
说明文档 = 篇 → 章(正文为 Markdown)
区块是怎么存的
每块一行记录,内容存成 JSON:
| 字段 | 说明 |
|---|---|
bkey | 区块标识,如 hero |
label | 后台显示的名字 |
seq | 排序 |
enabled | 是否启用 |
data | JSON 内容 |
好处是表结构永远不用改。以后想加一个新模块,只要在代码里注册一个区块定义 + 一段渲染函数,数据库不用动。
数据库不可用时会怎样
前台会自动回退到代码里的默认内容(种子),页面照常显示,不会白屏。后台会明确提示连接失败。这样即使数据库临时挂了,访客看到的还是完整站点。
重建种子
后台「系统设置 → 重建种子」会用代码里的默认值覆盖内容表。
这会清空你在后台做过的所有内容编辑。执行前系统会自动导出一份 JSON 备份到 data/ 目录。
导出 / 导入
「系统设置」里可以导出全部内容为 JSON,用于:
- 迁移到另一台服务器
- 改乱了想回滚
- 作为版本控制的对象