# 6.14 文件模板管理 :::tip 概述 文件模板模块(goframe_file_template,平台级表)在线管理文件/代码片段模板:code 全局唯一、按编码查询(getTemplateByCode)。注意与代码生成器的磁盘模板(templates/*.tpl)是两套互不相干的体系。 ::: ## 接口清单 ```text 七件套:sys:fileTemplate:{page|list|detail|add|update|delete|batchDelete} GET /api/file/template/getTemplateByCode/:code 登录即可 按编码查模板 ``` ## 模块特征 | 特征 | 实现 | |------|------| | 唯一性 | code 全局唯一(uk_code);Add 走 CheckUnique 预检 | | 平台级 | 无租户隔离(全局模板库) | | 快捷查询 | getTemplateByCode(登录即可,供业务按编码取模板内容) | | 内容形态 | 模板正文(文本/HTML/代码片段) | ## 易混淆点:两套"模板" ::: warning 两套模板互不相干 | | templates/*.tpl(磁盘目录) | goframe_file_template 表 | |--|--|--| | 定位 | **代码生成器的渲染模板** | 业务功能(在线管理文件/代码片段模板) | | 消费方 | generator.go 直接读取渲染 | /api/file/template 模块 + getTemplateByCode | | 版本管理 | 随仓库版本管理 | 数据库数据 | | 修改影响 | 改变生成产物风格 | 影响业务取到的模板内容 | 修改生成产物改 `templates/*.tpl`;不要到 file_template 表里找生成器模板。两者无调用关系。 ::: ## 使用场景 ```text * 系统内需要下发"格式文本"的场景:导出模板、打印模板、消息模板、代码片段 * 业务按编码取模板:GET /api/file/template/getTemplateByCode/{code} * 在线编辑维护:模板管理页 CRUD(无需发版) ``` ## 管理建议 + code 命名语义化(如 export_header / print_invoice),全局唯一 + 模板内容变更即时生效(无缓存层,按编码实时查询) + 平台级模块——租户差异化模板需扩展(或按 code 前缀约定租户命名空间)