diff --git a/frontend/src/pages/front/ChatPage.tsx b/frontend/src/pages/front/ChatPage.tsx index 41f9f49..b2a8da2 100644 --- a/frontend/src/pages/front/ChatPage.tsx +++ b/frontend/src/pages/front/ChatPage.tsx @@ -557,6 +557,12 @@ const ChatPage: React.FC = () => { createdAt: m.createdAt || m.created_at || new Date().toISOString(), })); setMessages(mapped); + // 页面刷新时若仍有「⏳」占位的媒体消息,继续轮询后端回写结果 + mapped.forEach((m) => { + if (m.role === 'assistant' && typeof m.content === 'string' && m.content.startsWith('⏳')) { + startMediaPolling(id, m.id); + } + }); } catch (err) { console.error('加载消息失败', err); setMessages([]); @@ -565,13 +571,6 @@ const ChatPage: React.FC = () => { } }; loadMessages(); - - // 页面刷新时若仍有「⏳」占位的媒体消息,继续轮询后端回写结果 - mapped.forEach((m) => { - if (m.role === 'assistant' && typeof m.content === 'string' && m.content.startsWith('⏳')) { - startMediaPolling(id, m.id); - } - }); }, [id]); // 媒体(图像/视频)异步生成轮询:后端先返回「⏳」占位,前端定时拉取该消息最新内容并回写