fix(h5): 修复H5 SSE流完成信号兼容和页面onShow时序
- sendHttpStream 兼容 data.event === 'done' 和嵌套 data.data 格式 - index.vue onShow 用 确保 ref 就绪后加载历史 - 组件 mounted 兜底调用 loadHistoryIfNeeded - 历史消息映射添加 type:'text',兼容 msg.content 字段 - 去掉所有有帮助/没帮助按钮
This commit is contained in:
@@ -344,15 +344,21 @@ export default {
|
||||
if (jsonStr && jsonStr !== '[DONE]') {
|
||||
const data = JSON.parse(jsonStr);
|
||||
if (data.event === 'message') {
|
||||
const text = data.answer || data.text || '';
|
||||
var text = data.answer || data.text || '';
|
||||
// 兼容嵌套 data.data 格式
|
||||
if (!text && data.data) {
|
||||
text = data.data.content || data.data.answer || '';
|
||||
}
|
||||
content += text;
|
||||
if (onChunk) onChunk(text);
|
||||
}
|
||||
if (data.conversation_id) {
|
||||
conversationId = data.conversation_id;
|
||||
// 兼容两种层级:conversation_id 可能在顶层或 data.data 中
|
||||
var cid = data.conversation_id || (data.data && data.data.conversation_id) || '';
|
||||
if (cid) {
|
||||
conversationId = cid;
|
||||
}
|
||||
if (data.event === 'message_end') {
|
||||
// 可提前结束
|
||||
if (data.event === 'message_end' || data.event === 'done') {
|
||||
console.log('[AI SSE] 收到完成信号:', data.event, 'conversationId:', cid);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -369,12 +375,16 @@ export default {
|
||||
if (jsonStr) {
|
||||
const data = JSON.parse(jsonStr);
|
||||
if (data.event === 'message') {
|
||||
const text = data.answer || '';
|
||||
var text = data.answer || data.text || '';
|
||||
if (!text && data.data) {
|
||||
text = data.data.content || data.data.answer || '';
|
||||
}
|
||||
content += text;
|
||||
if (onChunk) onChunk(text);
|
||||
}
|
||||
if (data.conversation_id) {
|
||||
conversationId = data.conversation_id;
|
||||
var cid = data.conversation_id || (data.data && data.data.conversation_id) || '';
|
||||
if (cid) {
|
||||
conversationId = cid;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -382,6 +392,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('[AI SSE] 流完成, conversationId:', conversationId, 'content长度:', content.length);
|
||||
if (onComplete) {
|
||||
onComplete({ content, conversation_id: conversationId });
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user