From 5d1a19fdf4d1d7059798c6e91d305045ca1fa68e Mon Sep 17 00:00:00 2001 From: ddCat Date: Mon, 27 Jul 2026 10:56:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(media):=20=E5=AA=92=E4=BD=93=E8=B5=84?= =?UTF-8?q?=E4=BA=A7=20-=20=E4=BF=AE=E5=A4=8D=E9=9F=B3=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E6=8C=81=E4=B9=85=E5=8C=96=E6=81=A2=E5=A4=8D=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84=20Web=20=E6=9E=84=E5=BB=BA=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/stores/use-asset-store.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/web/src/stores/use-asset-store.ts b/web/src/stores/use-asset-store.ts index a90c1a73b..f4b2572bd 100644 --- a/web/src/stores/use-asset-store.ts +++ b/web/src/stores/use-asset-store.ts @@ -59,7 +59,9 @@ const assetStorage: PersistStorage = { const parsed = JSON.parse(value) as StorageValue; parsed.state.assets = await Promise.all( parsed.state.assets.map(async (asset) => { - if ((asset.kind === "video" || asset.kind === "audio") && asset.data.storageKey) return { ...asset, data: { ...asset.data, url: await resolveMediaUrl(asset.data.storageKey, asset.data.url) } }; + // 视频和音频的数据结构不同,分别缩窄以保持 Asset 判别联合关系。 + if (asset.kind === "video" && asset.data.storageKey) return { ...asset, data: { ...asset.data, url: await resolveMediaUrl(asset.data.storageKey, asset.data.url) } }; + if (asset.kind === "audio" && asset.data.storageKey) return { ...asset, data: { ...asset.data, url: await resolveMediaUrl(asset.data.storageKey, asset.data.url) } }; if (asset.kind === "model" && asset.data.storageKey) return { ...asset, data: { ...asset.data, url: await resolveMediaUrl(asset.data.storageKey, asset.data.url) } }; if (asset.kind !== "image") return asset; if (asset.data.storageKey)