feat(export): add server-side AI export
This commit is contained in:
+17
@@ -211,6 +211,23 @@ SSE 事件流。事件数据模型:
|
||||
| `ring_width` | `1` | 环线宽 |
|
||||
| `ring_spacing` | `8` | 环间距 |
|
||||
|
||||
### POST `/api/exports/ai`
|
||||
|
||||
将应用生成的 SVG 转换为 Illustrator 5 兼容的 `.ai` 文件。该接口仅转发到 Compose 内部的 `ai-converter` 服务,不暴露转换容器端口。
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"svg": "<svg ...>...</svg>",
|
||||
"filename": "wordcloud.ai"
|
||||
}
|
||||
```
|
||||
|
||||
- 最大 SVG 大小:25 MB。
|
||||
- 当前支持路径、`rect`、`circle`、`ellipse`、`line`、纯色填充/描边和仿射变换。
|
||||
- 不支持图片、普通文字、SVG 图案/裁剪/透明效果时会返回 `422`,不会产生可能失真的 AI 文件。
|
||||
|
||||
## Templates
|
||||
|
||||
### GET `/api/templates`
|
||||
|
||||
+10
-2
@@ -57,7 +57,7 @@ TemplateHome(首页)
|
||||
- **层级调整**:上移、下移
|
||||
- **删除**:删除元素
|
||||
- 右侧面板支持修改画布宽高、背景色
|
||||
- 支持导出总图 SVG、清空画布
|
||||
- 支持导出总图 SVG、AI(受支持元素)、清空画布
|
||||
- **图层管理**:支持图层可见性、锁定、文件夹分组
|
||||
- **吸附对齐**:元素拖拽时自动吸附到附近元素边缘
|
||||
- **缩放**:编辑视图可缩放(不影响导出尺寸)
|
||||
@@ -73,6 +73,14 @@ TemplateHome(首页)
|
||||
- 基础形状输出为原生 SVG 的 `<rect>`、`<ellipse>`、`<line>`
|
||||
- 元素的位移和旋转写入 SVG `transform`,透明度写入 `opacity`
|
||||
|
||||
## AI 导出
|
||||
|
||||
"导出总图 AI"先按同一画布模型生成 SVG,再提交到后端 `/api/exports/ai`,由 Docker Compose 内部的 `ai-converter` 转换为 Illustrator 5 兼容 `.ai` 文件。
|
||||
|
||||
- 支持路径、矩形、椭圆、圆、线条、纯色填充/描边和仿射变换。
|
||||
- 图片贴纸、普通文字、透明度、SVG pattern/clipPath 等不保证保真的特性会明确失败,不会静默生成错误文件。
|
||||
- 词云本体由后端输出为路径,适合作为 AI 导出主场景。
|
||||
|
||||
## ZIP 导出
|
||||
|
||||
支持导出含以下内容的 ZIP 包:
|
||||
@@ -98,5 +106,5 @@ TemplateHome(首页)
|
||||
- 当前没有服务端素材库、项目文件格式或协作编辑接口(Projects 接口存在但服务层级较浅)
|
||||
- SVG 导入按用户信任文件处理;编辑器预览使用图片方式加载,不在页面中直接执行 SVG 内容
|
||||
- 当前缩放只影响编辑视图,不改变导出尺寸
|
||||
- 当前导出目标是 SVG;没有在画布页实现 PNG/JPG 总图导出
|
||||
- 画布页总图支持 SVG 和受支持元素的 AI;没有实现 PNG/JPG 总图导出
|
||||
- 线距分析结果显示在元素属性面板中,辅助激光加工参数设定
|
||||
|
||||
Reference in New Issue
Block a user