\App\Http\Controllers\AdminTemplateEngineController

模板引擎控制器

职责:模板类型/列表/CRUD、发布工作流(发布/版本/回滚)与导入导出的 HTTP 入口, 校验入参、编排服务、组装统一响应,业务下沉 TemplateEngineService。

┌────────────────── 分区导航(按此顺序阅读)──────────────────┐ 分区 1 · 类型与场景 types / scenes 分区 2 · 模板管理 index / store / update / destroy 分区 3 · 发布工作流 publish / versions / rollback 分区 4 · 导入导出 exportTemplates / importTemplates └────────────────────────────────────────────────────────────┘

Summary

Methods
Properties
Constants
__construct()
types()
scenes()
index()
store()
update()
destroy()
publish()
versions()
rollback()
exportTemplates()
importTemplates()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
$templateService
N/A

Properties

$templateService

$templateService : \App\Services\Admin\TemplateEngineService

Type

TemplateEngineService

Methods

__construct()

__construct(\App\Services\Admin\TemplateEngineService  $templateService) : mixed

Parameters

\App\Services\Admin\TemplateEngineService $templateService

Returns

mixed —

types()

types() : \Illuminate\Http\JsonResponse

模板类型注册表

下发全部类型声明:editor/escape/has_subject/meta_schema, 管理页表单与工作区按声明渲染,新增类型注册表加声明即自动感知,页面零改动。 展示名优先取 template_type 字典维护值,字典不可用或未登记时回落代码声明名; 编辑与渲染契约始终以注册表为准。

Returns

\Illuminate\Http\JsonResponse —

scenes()

scenes() : \Illuminate\Http\JsonResponse

发送场景清单

模板引擎场景绑定页数据源:MailScene 注册表全部场景、各场景当前 绑定模板与该渠道可选启用模板。保存绑定走配置接口, configs PUT 写 mail.scene.*。

Returns

\Illuminate\Http\JsonResponse —

index()

index() : \Illuminate\Http\JsonResponse

模板列表

返回全部模板:含当前线上版本号与最后发布时间,编辑态草稿不惊动线上。

Returns

\Illuminate\Http\JsonResponse —

store()

store(\App\Http\Requests\Admin\TemplateEngineRequest  $request) : \Illuminate\Http\JsonResponse

创建模板

新建模板档案与初始内容:code 同类型下场景唯一, 邮件模板必填主题,正文支持 {{变量}} 占位。

Parameters

\App\Http\Requests\Admin\TemplateEngineRequest $request

Returns

\Illuminate\Http\JsonResponse —

update()

update(\App\Http\Requests\Admin\TemplateEngineRequest  $request, int  $id) : \Illuminate\Http\JsonResponse

更新模板

只更新档案字段:name/category/sort/status/remark; 正文、主题与变量不在此更新,改线上内容须走发布接口。

Parameters

\App\Http\Requests\Admin\TemplateEngineRequest $request
int $id

Returns

\Illuminate\Http\JsonResponse —

destroy()

destroy(int  $id) : \Illuminate\Http\JsonResponse

删除模板

删除模板及其全部版本历史;内置模板锁定,防误删。

Parameters

int $id

Returns

\Illuminate\Http\JsonResponse —

publish()

publish(\App\Http\Requests\Admin\TemplatePublishRequest  $request, int  $id) : \Illuminate\Http\JsonResponse

发布

版本工作流核心:提交完整内容 subject/content/vars, 线上内容更新、版本号加一、生成版本快照。 发布是唯一改线上内容的入口;编辑态在前端工作区,不惊动线上。

Parameters

\App\Http\Requests\Admin\TemplatePublishRequest $request
int $id

Returns

\Illuminate\Http\JsonResponse —

versions()

versions(int  $id) : \Illuminate\Http\JsonResponse

版本历史

按版本倒序返回该模板全部发布快照,含发布人与发布时间。

Parameters

int $id

Returns

\Illuminate\Http\JsonResponse —

rollback()

rollback(\App\Http\Requests\Admin\TemplateRollbackRequest  $request, int  $id) : \Illuminate\Http\JsonResponse

回滚

将指定历史快照发布为新版本:历史永不失联,回滚即发布,版本号继续加一。

Parameters

\App\Http\Requests\Admin\TemplateRollbackRequest $request
int $id

Returns

\Illuminate\Http\JsonResponse —

exportTemplates()

exportTemplates() : \Symfony\Component\HttpFoundation\StreamedResponse

导出全部模板

环境迁移与模板分享用:全部模板导出为 JSON 文件下载,不含版本历史。

Returns

\Symfony\Component\HttpFoundation\StreamedResponse —

importTemplates()

importTemplates(\App\Http\Requests\Admin\TemplateImportRequest  $request) : \Illuminate\Http\JsonResponse

导入模板

导入 JSON 模板文件:逐条校验,code 已存在时跳过且不覆盖线上, 返回导入与跳过统计。

Parameters

\App\Http\Requests\Admin\TemplateImportRequest $request

Returns

\Illuminate\Http\JsonResponse —