feat(generate): 生成管线改为异步,前端接入轮询进度

后端:
- POST /api/v1/generate 改为异步模式,立即返回 taskId
- 管线在后台 goroutine 执行,状态通过 GET /tasks/:taskId 轮询
- 任务状态流转: pending → running → saving → completed/failed

前端:
- generation store: submit 后每 2s 轮询 getTask,完成时自动 getAssets
- GeneratePage: 实时显示轮询状态文本 + 进度条
- ResultPage: 挂载时轮询任务,未完成显示骨架屏+进度,完成自动加载素材
- Types: Task.status 增加 submitted / saving 状态
This commit is contained in:
2026-05-25 12:51:49 +08:00
parent c4dc7394b1
commit 322e6aecbb
6 changed files with 230 additions and 118 deletions
+2 -1
View File
@@ -21,6 +21,7 @@ export default function GeneratePage() {
status,
progress,
taskId,
statusText,
submit,
reset: resetGeneration,
} = useGenerationStore()
@@ -91,7 +92,7 @@ export default function GeneratePage() {
{status === 'running' && (
<p style={{ textAlign: 'center', color: 'var(--text-secondary)' }}>
管线执行中,请稍候...
{statusText || '管线执行中,请稍候...'}
</p>
)}