import{_ as i,o as a,c as t,a2 as e}from"./chunks/framework.BbmSSMjL.js";const o=JSON.parse('{"title":"6.14 文件模板管理","description":"","frontmatter":{},"headers":[],"relativePath":"zh/modules/filetemplate.md","filePath":"zh/modules/filetemplate.md"}'),l={name:"zh/modules/filetemplate.md"};function h(n,s,k,p,d,r){return a(),t("div",null,[...s[0]||(s[0]=[e(`

6.14 文件模板管理 ​

概述

文件模板管理用于维护系统中使用的文件模板(如导出模板、协议文本等),支持按编码查询模板。FileTemplateService 继承 BaseService(系统共享,不隔离)。

模块特点 ​

特性说明
基类BaseService(系统共享,不隔离)
Trait 组合HasCrudOperations, HasFileProcessing, HasQueryScopes, HasUniqueCheck
文件字段file_path(模板文件路径),读取时补全域名
唯一校验code 全局唯一
模糊搜索name、code
特殊接口getTemplateByCode 按编码查询模板

API 接口 ​

方法路径权限码说明
GET/api/file/template/pagesys:fileTemplate:page分页列表
GET/api/file/template/detail/{id}sys:fileTemplate:detail详情
POST/api/file/template/addsys:fileTemplate:add新增
PUT/api/file/template/updatesys:fileTemplate:update修改
DELETE/api/file/template/delete/{id}sys:fileTemplate:delete删除
DELETE/api/file/template/batchDeletesys:fileTemplate:batchDelete批量删除
GET/api/file/template/getTemplateByCode/{code}—按编码查询模板

路径风格

本模块路由为二级路径 file/template/*(2026-10 起由驼峰 fileTemplate/* 调整),前端 API 模块 URL 需与之一致。

Service 配置(来自项目实际代码) ​

php
class FileTemplateService extends BaseService
{
    use HasCrudOperations, HasFileProcessing, HasQueryScopes, HasUniqueCheck;

    protected string $modelClass = FileTemplate::class;

    // 单文件字段:模板文件路径保存时迁移、读取时补全域名
    protected array $fileFields = ['file_path'];
    protected string $fileSaveDir = 'file_template';

    protected array $pageLikeFields = ['name', 'code'];
    protected array $pageEqFields = [];

    // code 全局唯一
    protected array $uniqueFields = ['code'];

    // 按编码查询模板(getTemplateByCode 接口使用)
    public function getTemplateByCode(string $code): ?array { /* ... */ }
}

Controller(getTemplateByCode) ​

php
// app/Http/Controllers/Api/FileTemplateController.php(来自项目实际代码)

public function getTemplateByCode(string $code): JsonResponse
{
    $result = $this->fileTemplateService->getTemplateByCode($code);
    if (! $result) {
        return $this->fail('模板不存在');
    }

    return $this->success($result);
}

按编码查询

getTemplateByCode 接口未配置 #[Permission] 注解,所有已登录用户均可访问——常用于前端按编码读取模板配置的场景(如打印模板、协议文本动态加载)。

使用场景 ​

场景编码示例说明
导出模板export_user前端按编码取模板定义渲染导出字段
协议/合同文本agreement_v1动态加载富文本模板
通知文案notice_welcome统一维护文案,改库即生效
`,14)])])}const y=i(l,[["render",h]]);export{o as __pageData,y as default};