完善 AI 设计资产预览与视频首帧选择

需求:生成图片需要支持大图查看和本地下载;制作视频时需要从当前项目作品选择首帧,或上传本地图片。

实现:新增首帧选择弹窗、JPEG/PNG/WebP 有界上传、附件 Asset ID 透传、Main 到服务端 multipart 转发,并保留上传失败重试与私有图片下载链路。

验证:相关 57 项单测、TypeScript 类型检查、目标 ESLint 和 Vite 生产构建全部通过。
This commit is contained in:
2026-08-06 11:31:47 +08:00
parent 2a3c9850d1
commit 15b17775cb
11 changed files with 1149 additions and 31 deletions

View File

@@ -70,6 +70,19 @@ export type DesignAsset = {
contentPath: string;
};
export type DesignAssetSaveResult = {
status: 'saved' | 'cancelled';
};
export type DesignImageUploadMimeType = 'image/jpeg' | 'image/png' | 'image/webp';
export type DesignAssetUploadInput = {
workspaceId: string;
fileName: string;
mimeType: DesignImageUploadMimeType;
bytes: Uint8Array;
};
export type DesignGenerationTask = {
taskId: string;
workspaceId: string;
@@ -150,3 +163,7 @@ export type DesignConfirmGenerationInput = {
export function designAssetContentPath(workspaceId: string, assetId: string): string {
return `${IMAGE_WORKSPACE_API_PATH}/workspaces/${encodeURIComponent(workspaceId)}/assets/${encodeURIComponent(assetId)}/content`;
}
export function designAssetDownloadPath(workspaceId: string, assetId: string): string {
return `${IMAGE_WORKSPACE_API_PATH}/workspaces/${encodeURIComponent(workspaceId)}/assets/${encodeURIComponent(assetId)}/download`;
}