第 18 章

内容模型:区块与文档

为什么内容表不需要改结构,以及回退机制。

两层结构

首页       = 10 个区块(site / hero / stats / … / cta)
说明文档   = 篇 → 章(正文为 Markdown)

区块是怎么存的

每块一行记录,内容存成 JSON:

字段说明
bkey区块标识,如 hero
label后台显示的名字
seq排序
enabled是否启用
dataJSON 内容

好处是表结构永远不用改。以后想加一个新模块,只要在代码里注册一个区块定义 + 一段渲染函数,数据库不用动。

数据库不可用时会怎样

前台会自动回退到代码里的默认内容(种子),页面照常显示,不会白屏。后台会明确提示连接失败。这样即使数据库临时挂了,访客看到的还是完整站点。

重建种子

后台「系统设置 → 重建种子」会用代码里的默认值覆盖内容表。

这会清空你在后台做过的所有内容编辑。执行前系统会自动导出一份 JSON 备份到 data/ 目录。

导出 / 导入

「系统设置」里可以导出全部内容为 JSON,用于:

  • 迁移到另一台服务器
  • 改乱了想回滚
  • 作为版本控制的对象