<title>智剧通 - 工作流保存与加载</title>

> 本文档抓取自官方文档中心（2026-10-10 快照），具体功能以实际产品为准。

# 工作流保存与加载

## 概述

工作流是视频项目的完整状态，包含所有节点、连接线、画风设置等。系统支持手动保存、自动恢复和撤销操作。

## 保存工作流

### 手动保存

- 点击画布顶部「保存」按钮
- 快捷键：`Ctrl + S`
- 保存内容包括：

  - 所有节点的位置和数据
  - 节点之间的连接关系
  - 画风设置（名称、参考图、构图倾向）
  - 视频比例设置
  - 选择的世界 ID
  - 视频提示词后缀

### 自动恢复

- 每次打开工作流时，自动加载上次保存的状态
- 如果页面意外关闭，重新打开会恢复到上次保存点

### 多人协作冲突（409）

多个会话 / 浏览器标签页同时编辑同一工作流时，服务端用内容哈希 + 版本号做乐观锁检测并发。保存时若本地修改与服务端最新版本不一致，保存会提示冲突（HTTP 409）：

- **保存按钮**：变黄显示「⚠ 保存冲突」，保存过程中有加载态
- **冲突对话框**：只给二选一（无关闭 / 取消入口）

  - **使用服务器版本**：加载对方最新内容，丢弃本地未保存修改
  - **用本地版本覆盖**：以当前画布内容强制覆盖服务端（服务端最新更新将丢失）
- **数据安全**：出现冲突后，自动保存会静默暂停，直到你做出选择；选择前你的本地修改已自动写入浏览器本地存储（IndexedDB），不会丢失

## 加载工作流

### 从列表进入

1. 访问工作流列表页面
2. 点击某个工作流卡片
3. 自动加载该工作流的完整状态

### URL 参数

- 工作流页面支持通过 URL 参数指定加载哪个工作流
- 格式：`/video-workflow?id={workflow_id}`

## 撤销/重做

| 操作 | 快捷键 | 说明 |
|-|-|-|
| 撤销 | `Ctrl + Z` | 回退到上一步操作 |
| 重做 | `Ctrl + Y` | 恢复被撤销的操作 |

- 撤销历史保存在内存中，页面刷新后清空
- 支持撤销的操作：添加/删除/移动节点、修改节点数据、添加/删除连接

## 工作流数据结构

工作流保存为 JSON 格式，主要包含：

```
{
  "nodes": [...],          // 节点列表
  "connections": [...],    // 连接线列表
  "style": {...},          // 画风设置
  "ratio": "16:9",        // 视频比例
  "defaultWorldId": 123,   // 默认世界 ID
  "videoPromptSuffix": ""  // 视频提示词后缀
}
```

## 注意事项

- 保存操作会覆盖之前的状态，建议重要内容及时导出
- 删除节点后保存，该节点数据将永久丢失
- 切换工作流前请确保已保存当前修改
