fix: 每个视频独立指示牌,不合并——_videos 数组逐个渲染

This commit is contained in:
thzxx
2026-06-18 13:30:36 +08:00
parent 0b2d8414a6
commit 5e043e5fbb
3 changed files with 9 additions and 9 deletions
+6 -4
View File
@@ -183,11 +183,13 @@ export function appendMessageDOM(msg: ChatMessage, index: number): void {
contentHtml += '</div>';
}
if ((msg as any)._videoFrames && (msg as any)._videoFrames.length > 0) {
if ((msg as any)._videos && (msg as any)._videos.length > 0) {
for (const v of (msg as any)._videos) {
contentHtml += `<div class="msg-video-indicator">🎬 ${v.fileName} · ${v.frameCount} 帧 · 1fps</div>`;
}
} else if ((msg as any)._videoFrames && (msg as any)._videoFrames.length > 0) {
const n = (msg as any)._videoFrames.length;
const name = (msg as any)._videoMeta?.fileName || '';
const label = name ? `${name} · ` : '';
contentHtml += `<div class="msg-video-indicator">🎬 ${label}${n} 帧 · 1fps</div>`;
contentHtml += `<div class="msg-video-indicator">🎬 ${n} 帧 · 1fps</div>`;
}
if (msg.files && msg.files.length > 0) {
+1 -5
View File
@@ -1032,11 +1032,7 @@ async function sendMessageWithAgentLoop(text: string, currentSession: ChatSessio
if (allVids.length > 0) {
const totalFrames = allVids.flatMap(v => v.frames);
msg._videoFrames = totalFrames;
msg._videoMeta = {
fileName: allVids.length === 1 ? allVids[0].name : `${allVids.length}个视频`,
duration: allVids[0].dur,
frameCount: totalFrames.length
};
msg._videos = allVids.map(v => ({ fileName: v.name, frameCount: v.count, duration: v.dur }));
}
if (userFiles.length > 0) {
msg.files = userFiles;