跳到正文

ADR-0106:可选 HTML 模板设计器 ​

  • 状态:接受;前端构建及坐标编辑范围由 ADR-0107扩展
  • 日期:2026-10-29

背景 ​

模板编译和资源 ZIP 已有独立库 API,需要提供实际可用的可视化编辑、预览、保存重开和导出流程,同时维持模型、布局和后端职责。绑定后的文档无法表达原始变量、条件和循环,不能用反向保存模型代替模板源码编辑。

决策 ​

新增可选 export4j-designer 应用,位于既有库的下游,核心不反向依赖它。采用本地 HTML 界面和 JDK 回环 HTTP 服务,不引入前端构建工具或新模板格式。应用从源码或安装分发包运行,不加入 Maven 库发布、BOM、库 SBOM 和库 API 基线;其运行依赖及字体许可随应用包保留。

工作区保存不可变 XML/资源包和独立 JSON 数据。结构编辑操作安全 DOM,编译候选成功后才替换当前快照;保留模板表达式与未编辑资源,最多 8 步撤销。绑定及排版在预览/导出执行,显示实际诊断。浏览器文本框的换行规范化不视为源码编辑。

所有文档字体显式提供,预览由既有布局和 Raster 后端生成。PDF/DOCX/HTML/Markdown 使用既有转换目标;SVG/PNG 通过同一布局逐页输出,静态目标丢弃交互对象时明确报损。导出先实际编码并返回预检,再下载同一结果;动作和处理方式独立,IGNORE 仍保留实际损失。浏览器不承担文档排版或打印转换。

本地服务不提供文件系统路径 API。上传/下载由浏览器文件选择完成,服务校验回环 Host、同源 Origin 和启动令牌,修改请求携带工作区版本,避免标签间静默覆盖。输入、解析、历史、预览、超时及输出分别有预算;取消独立于工作区锁接收。

结果与边界 ​

四套业务模板共用界面与无界面验收入口,检查保存重开、实际编辑、六格式输出、成本及失败原子性。设计器编辑已有 XML 模板,布局仍是语义流,不承诺自由坐标编辑、任意 PDF/Word 可视化修改或多人服务器。有限浏览器实测不替代 GAP-14.2 的完整平台/阅读器矩阵。详见指南和阶段一百零八。