From 870d723eafc50382987062e52a531d33e990b6fe Mon Sep 17 00:00:00 2001 From: kdletters Date: Fri, 19 Jun 2026 15:11:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=BB=E6=9D=BF?= =?UTF-8?q?=E9=9F=B3=E8=A7=86=E9=A2=91=E7=B4=A0=E6=9D=90=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 生成视频持久化到 OSS 并回传 objectKey 与 assetObjectId 生成音频透传 OSS 对象身份并支持保存到素材库 普通素材上传支持 MP3 和 MP4 直传 OSS 后确认资产对象 素材库和画布恢复音频视频媒体类型与图层播放 更新画板音视频素材保存相关文档与测试 --- ...】生成类面板Lovart统一改造方案-2026-06-17.md | 2 +- ...编辑器】画板音乐生成入口设计-2026-06-18.md | 8 +- .../src/character_animation_assets.rs | 76 +++++++++- .../generation.rs | 4 + .../vector_engine_audio_generation/persist.rs | 2 + .../vector_engine_audio_generation/publish.rs | 2 + .../crates/shared-contracts/src/assets.rs | 22 +++ .../shared-contracts/src/creation_audio.rs | 2 + .../ImageCanvasAssetRowView.test.tsx | 16 ++ .../image-editor/ImageCanvasAssetRowView.tsx | 26 +++- ...mageCanvasEditorAssetsIntegration.test.tsx | 101 ++++++++++++- .../ImageCanvasEditorModel.test.ts | 92 +++++++++--- .../image-editor/ImageCanvasEditorModel.ts | 74 +++++++--- .../ImageCanvasEditorView.test-utils.ts | 3 + .../image-editor/ImageCanvasEditorView.tsx | 3 + .../image-editor/ImageCanvasFileModel.ts | 36 ++++- .../ImageCanvasGenerationLayerModel.test.ts | 38 +++++ .../ImageCanvasGenerationLayerModel.ts | 4 + .../image-editor/ImageCanvasUploadModel.ts | 67 +++++++-- .../image-editor/ImageCanvasWorldView.tsx | 39 +++-- ...ImageCanvasGenerationSubmissionWorkflow.ts | 6 +- .../useImageCanvasUploadWorkflow.test.tsx | 13 ++ .../useImageCanvasUploadWorkflow.ts | 31 +++- src/index.css | 10 ++ .../editorMediaAssetUploadClient.test.ts | 120 +++++++++++++++ .../editorMediaAssetUploadClient.ts | 139 ++++++++++++++++++ .../image-editor/editorProjectClient.ts | 4 + 27 files changed, 853 insertions(+), 87 deletions(-) create mode 100644 src/services/image-editor/editorMediaAssetUploadClient.test.ts create mode 100644 src/services/image-editor/editorMediaAssetUploadClient.ts diff --git a/docs/【编辑器】生成类面板Lovart统一改造方案-2026-06-17.md b/docs/【编辑器】生成类面板Lovart统一改造方案-2026-06-17.md index a0ab7c533..d79e93e55 100644 --- a/docs/【编辑器】生成类面板Lovart统一改造方案-2026-06-17.md +++ b/docs/【编辑器】生成类面板Lovart统一改造方案-2026-06-17.md @@ -109,7 +109,7 @@ - 生成占位图和生成器对话框不是临时浮层,必须作为画布布局数据保存。 - 保存时在现有画布布局数组中追加 `itemType: "generation-dialog"` 项,记录生成器 ID、模式、提示词、参数、参考图、状态、占位框位置和 `generatedLayerId`。 - 生成成功后仍保留生成器快照;画布渲染优先用 `generatedLayerId` 锚定到成品图层,不再重复显示灰色占位框。 -- 图片类生成结果还要写入账号级素材库;视频结果先只作为画布资源和视频图层保存。 +- 图片、视频和音频生成结果都要写入账号级素材库;视频 / 音频结果由后端持久化到 OSS 并回传 `objectKey` / `assetObjectId`,前端保存素材库时一并记录,后续预览和再次加入画布走统一换签链路。 - 刷新项目后,画布需要同时恢复图层、生成器快照和生成输入框跟随关系。 ## 第一版计费配置 diff --git a/docs/【编辑器】画板音乐生成入口设计-2026-06-18.md b/docs/【编辑器】画板音乐生成入口设计-2026-06-18.md index 777ba88f0..ff315b39f 100644 --- a/docs/【编辑器】画板音乐生成入口设计-2026-06-18.md +++ b/docs/【编辑器】画板音乐生成入口设计-2026-06-18.md @@ -42,7 +42,8 @@ - 新增素材类型: - `assetKind="sound-effect"` - `assetKind="background-music"` -- 音频结果以小型音频卡加入画布,卡片底部使用 `