Become a sponsor

概述
富文本持久化遵循占位符契约:正文内本站文件地址统一存 [IMG_URL]/{相对路径},读侧唯一还原出口是 ExpandContentFields。换域名、迁移环境时只改配置,正文零改动。
写侧(保存文章时,ContentFields 声明):
正文 HTML 中本站文件 URL → 提取为相对路径 → [IMG_URL]/{相对路径}
引用的 temp 文件 → saveTransform 转正到模块目录
存库:
content 列存占位符形态的 HTML
读侧(Detail/Page 读取):
ExpandContentFields 唯一还原出口:
[IMG_URL]/{相对路径} → file.domainUrl + "/" + 相对路径| 直存完整 URL 的问题 | 占位符契约的解法 |
|---|---|
| 换域名要刷全库正文 | 改 file.domainUrl 即全站生效 |
| 环境迁移(测试→生产)正文带测试域名 | 相对路径随库迁移 |
| 正文引用 temp 未转正文件 | 写侧统一转正 |
// internal/service 各内容模块(以 articleSpec 为例)
ContentFields: []string{"content"}, // 富文本字段名单
FileSaveDir: "article", // 正文内文件转正目录写侧占位符化 + 转正、读侧还原,全部由基座按声明执行——还原逻辑唯一出口是 ExpandContentFields,任何模块不得自行拼接正文 URL。