Commit 15b5f869 by zhangxingmin

push

parent 19f1170e
...@@ -323,26 +323,40 @@ export default { ...@@ -323,26 +323,40 @@ export default {
const lines = buffer.split('\n') const lines = buffer.split('\n')
buffer = lines.pop() || '' buffer = lines.pop() || ''
// 在 sendMessage 中,解析 SSE 时增加对 event 的处理
let currentEvent = null;
for (let line of lines) { for (let line of lines) {
line = line.trim() line = line.trim();
if (line === '') continue if (line === '') continue;
let content = '' if (line.startsWith('event:')) {
currentEvent = line.slice(6).trim();
continue;
}
let content = '';
if (line.startsWith('data:')) { if (line.startsWith('data:')) {
content = line.slice(5).trim() content = line.slice(5).trim();
if (content === '[DONE]') continue if (content === '[DONE]') continue;
} else if (line.startsWith('message:')) { } else if (line.startsWith('message:')) {
content = line.slice(8).trim() content = line.slice(8).trim();
} else if (line.startsWith('event:')) {
continue
} else { } else {
content = line content = line;
} }
if (content) { if (content) {
accumulatedContent += content if (currentEvent === 'sensitive_notification') {
this.messages[assistantMessageIndex].content = accumulatedContent // 收到通知敏感词事件,移除刚添加的空消息,展示产品列表
this.scrollToBottom() this.messages.pop();
await this.fetchAndShowProducts(userQuestion);
currentEvent = null;
// 结束流式处理,不再继续
return;
} else {
accumulatedContent += content;
this.messages[assistantMessageIndex].content = accumulatedContent;
this.scrollToBottom();
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment