feat: 建立 DOCX 共享协议与准备服务

This commit is contained in:
SkyJourney
2026-07-30 11:04:18 +08:00
parent fb3ddada39
commit f7d4efeafc
10 changed files with 512 additions and 3 deletions
+7 -1
View File
@@ -77,6 +77,12 @@ Windows ZIP 和 Linux amd64 tarball 的 SHA-256 均已核验;Linux 静态程
复制主题允许继续用于公司内部源码共享、部署和安装包分发,但不受项目
许可证重新授权;公开 GitHub 前必须移除、替换或取得公开分发授权。
`v0.6.0` 阶段 3 已完成 DOCX 共享协议:`packages/core` 统一定义请求
Schema、资源、Pandoc capability、错误码、结果、诊断、耗时、MIME 和
安全文件名;`packages/application` 新增 `prepareDocxExport()`,复用
现有主题、图片和 Markdown 安全渲染能力,为后续 Server 与 Desktop DOCX
引擎返回同一种准备结果。本阶段未新增 HTTP 路由、IPC 或 Pandoc 调用。
## 2. 已完成
### 2.1 项目骨架
@@ -955,7 +961,7 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
- 阶段 1:已冻结架构、能力边界和 Word/WPS 验收门禁;
- 阶段 2:已冻结 Pandoc `3.9.0.2`、许可证、Docker 与 Desktop
分发方式;
- 阶段 3:实现 DOCX 共享模型和跨端导出协议;
- 阶段 3实现 DOCX 共享模型和跨端导出协议;
- 阶段 4:实现 CodeMirror 6 与可扩展基础 Markdown 工具栏;
- 阶段 5~8:依次实现资源预处理、动态 reference.docx、Pandoc 转换服务
以及 Web/Desktop 导出交互;
+14 -1
View File
@@ -1,6 +1,6 @@
# v0.6.0 DOCX 导出与 Markdown 工具栏设计
状态:阶段 1 架构已冻结;阶段 2 Pandoc 运行时与许可证方案已冻结。
状态:阶段 13 已完成,DOCX 架构、Pandoc 分发及共享协议已经冻结。
## 1. 版本目标
@@ -136,6 +136,19 @@ apps/web/
`packages/docx-engine` 不依赖 Fastify、Electron 或浏览器 UI。Server 和
Desktop 只提供平台运行时、传输与保存能力。
阶段 3 已在 `packages/core/src/docx.ts` 建立以下跨端协议:
- DOCX 请求及 Zod Schema
- 源图片资源;
- 固定 Pandoc 版本和运行时 capability
- HTTP/IPC 共用错误码与错误响应;
- DOCX 结果、媒体诊断和分阶段耗时;
- MIME、扩展名和安全输出文件名。
`packages/application` 提供 `prepareDocxExport()`,统一完成请求校验、
主题查找、图片解析和 Markdown 安全渲染,并返回 DOCX 引擎需要的源请求、
渲染文档、主题清单及 CSS。该方法不调用 Pandoc。
### 4.2 转换流程
1. 校验 Markdown、主题和导出配置;