feat(media): 作品保存恢复 - 按原任务重试交付并避免重复生成计费
This commit is contained in:
@@ -184,6 +184,7 @@ function LoadingContent({ node, theme, onOpenTaskDetails }: Pick<CanvasNodeConte
|
||||
provider: node.metadata?.taskProvider,
|
||||
status: (node.metadata?.taskStatus || "running") as GenerationTask["status"],
|
||||
stage: node.metadata?.taskStage,
|
||||
mediaStage: node.metadata?.taskMediaStage,
|
||||
officialStatus: node.metadata?.taskOfficialStatus,
|
||||
errorCode: node.metadata?.taskErrorCode,
|
||||
};
|
||||
@@ -245,6 +246,7 @@ function ErrorContent({ node, theme, onRetry, onReloadResource }: Pick<CanvasNod
|
||||
provider: node.metadata?.taskProvider,
|
||||
status: (node.metadata?.taskStatus || "failed") as GenerationTask["status"],
|
||||
stage: node.metadata?.taskStage,
|
||||
mediaStage: node.metadata?.taskMediaStage,
|
||||
officialStatus: node.metadata?.taskOfficialStatus,
|
||||
errorCode: node.metadata?.taskErrorCode,
|
||||
};
|
||||
@@ -295,7 +297,7 @@ function ErrorContent({ node, theme, onRetry, onReloadResource }: Pick<CanvasNod
|
||||
onMouseDown={(event) => event.stopPropagation()}
|
||||
>
|
||||
<RefreshCw className="size-3.5" />
|
||||
{node.metadata?.isBatchRoot ? "重新生成失败项" : "重新生成"}
|
||||
{node.metadata?.taskCanRecoverMedia ? "重试保存(不重新生成)" : node.metadata?.isBatchRoot ? "重新生成失败项" : "重新生成"}
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -453,7 +453,7 @@ export const CanvasNode = React.memo(function CanvasNode({
|
||||
<BatchChildActionButton theme={theme} label={batchPrimary ? "当前主图" : "设为主图"} icon={<Star className={`size-3.5 ${batchPrimary ? "fill-current" : ""}`} style={{ color: theme.accent.primary }} />} onClick={() => onSetBatchPrimary?.(data)} />
|
||||
) : null}
|
||||
{data.metadata?.status === "error" && data.metadata.resourceReloadAvailable ? <BatchChildActionButton theme={theme} label="重新加载资源" icon={<Download className="size-3.5" />} onClick={() => onReloadResource?.(data)} /> : null}
|
||||
{data.metadata?.status === "error" ? <BatchChildActionButton theme={theme} label="重新生成" icon={<RefreshCw className="size-3.5" />} onClick={() => onRetry?.(data)} /> : null}
|
||||
{data.metadata?.status === "error" ? <BatchChildActionButton theme={theme} label={data.metadata?.taskCanRecoverMedia ? "重试保存" : "重新生成"} icon={<RefreshCw className="size-3.5" />} onClick={() => onRetry?.(data)} /> : null}
|
||||
{data.metadata?.status === "error" ? <BatchChildActionButton theme={theme} label="删除" icon={<Trash2 className="size-3.5" />} danger onClick={() => deleteNode?.(data)} /> : null}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user