This commit is contained in:
2025-12-30 18:22:59 +08:00
parent 01e21b2398
commit a2e60bb944
5 changed files with 68 additions and 19 deletions

View File

@@ -77,14 +77,32 @@ export const chatApi = {
eventSource.addEventListener('message', (event) => {
try {
// 解析JSON字符串处理Unicode转义
const data = JSON.parse(event.data);
fullMessage += data;
callback?.onMessage?.(data);
let data = JSON.parse(event.data);
// 过滤掉SSE格式残留的data:前缀、空行和思考标签
if (typeof data === 'string') {
data = data
.replace(/^data:/gm, '')
.replace(/^\s*[\r\n]/gm, '')
.replace(/<\/?think>/gi, '');
}
if (data && data.trim()) {
fullMessage += data;
callback?.onMessage?.(data);
}
} catch (e) {
// 如果不是JSON直接使用原始数据
const data = event.data;
fullMessage += data;
callback?.onMessage?.(data);
let data = event.data;
// 过滤掉SSE格式残留的data:前缀、空行和思考标签
if (typeof data === 'string') {
data = data
.replace(/^data:/gm, '')
.replace(/^\s*[\r\n]/gm, '')
.replace(/<\/?think>/gi, '');
}
if (data && data.trim()) {
fullMessage += data;
callback?.onMessage?.(data);
}
}
});
@@ -345,14 +363,32 @@ export const chatApi = {
eventSource.addEventListener('message', (event) => {
try {
// 解析JSON字符串处理Unicode转义
const data = JSON.parse(event.data);
fullMessage += data;
callback?.onMessage?.(data);
let data = JSON.parse(event.data);
// 过滤掉SSE格式残留的data:前缀、空行和思考标签
if (typeof data === 'string') {
data = data
.replace(/^data:/gm, '')
.replace(/^\s*[\r\n]/gm, '')
.replace(/<\/?think>/gi, '');
}
if (data && data.trim()) {
fullMessage += data;
callback?.onMessage?.(data);
}
} catch (e) {
// 如果不是JSON直接使用原始数据
const data = event.data;
fullMessage += data;
callback?.onMessage?.(data);
let data = event.data;
// 过滤掉SSE格式残留的data:前缀、空行和思考标签
if (typeof data === 'string') {
data = data
.replace(/^data:/gm, '')
.replace(/^\s*[\r\n]/gm, '')
.replace(/<\/?think>/gi, '');
}
if (data && data.trim()) {
fullMessage += data;
callback?.onMessage?.(data);
}
}
});