新增 生成过程中可以中断;

新增 生成结果上传到OSS;
新增 历史记录使用上传后的图片;
This commit is contained in:
yuantao
2025-09-15 18:30:50 +08:00
parent e325d0fc8d
commit bda049fcd1
7 changed files with 443 additions and 149 deletions

View File

@@ -1,6 +1,6 @@
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
import { Project, Generation, Edit, SegmentationMask, BrushStroke } from '../types';
import { Project, Generation, Edit, SegmentationMask, BrushStroke, UploadResult } from '../types';
import { generateId } from '../utils/imageUtils';
// 定义不包含图像数据的轻量级项目结构
@@ -25,6 +25,7 @@ interface LightweightProject {
outputAssetsBlobUrls: string[];
modelVersion: string;
timestamp: number;
uploadResults?: UploadResult[];
}>;
edits: Array<{
id: string;
@@ -36,6 +37,7 @@ interface LightweightProject {
// 存储输出资产的Blob URL
outputAssetsBlobUrls: string[];
timestamp: number;
uploadResults?: UploadResult[];
}>;
createdAt: number;
updatedAt: number;
@@ -281,7 +283,8 @@ export const useAppStore = create<AppState>()(
sourceAssets,
outputAssetsBlobUrls,
modelVersion: generation.modelVersion,
timestamp: generation.timestamp
timestamp: generation.timestamp,
uploadResults: generation.uploadResults
};
const updatedProject = state.currentProject ? {
@@ -368,7 +371,8 @@ export const useAppStore = create<AppState>()(
maskReferenceAssetBlobUrl,
instruction: edit.instruction,
outputAssetsBlobUrls,
timestamp: edit.timestamp
timestamp: edit.timestamp,
uploadResults: edit.uploadResults
};
if (!state.currentProject) return {};