提交 2117fce3 authored 作者: coderBryanFu's avatar coderBryanFu

update

上级 377f30c9
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</div> </div>
<div class="text">概括页面内容</div> <div class="text">概括页面内容</div>
</div> </div>
<div class="submit"> <div class="submit" @click="sendMessage">
<img src="@/assets/icons/aiBox/submit.png" alt="" /> <img src="@/assets/icons/aiBox/submit.png" alt="" />
</div> </div>
</div> </div>
...@@ -126,78 +126,78 @@ const updateLastAIMessage = content => { ...@@ -126,78 +126,78 @@ const updateLastAIMessage = content => {
}; };
// 使用 fetchEventSource 连接 // 使用 fetchEventSource 连接
// const connectSSE = async question => { const connectSSE = async question => {
// // 添加用户消息 // 添加用户消息
// addMessage("user", question); addMessage("user", question);
// // 添加空的 AI 消息用于流式更新 // 添加空的 AI 消息用于流式更新
// addMessage("ai", ""); addMessage("ai", "");
// isLoading.value = true; isLoading.value = true;
// // 创建 AbortController 用于取消请求 // 创建 AbortController 用于取消请求
// abortController.value = new AbortController(); abortController.value = new AbortController();
// try { try {
// await fetchEventSource("/api/chat-stream", { await fetchEventSource("/api/chat-stream", {
// method: "POST", method: "POST",
// headers: { headers: {
// "Content-Type": "application/json" "Content-Type": "application/json"
// }, },
// body: JSON.stringify({ body: JSON.stringify({
// question: question question: question
// // 其他参数... // 其他参数...
// }), }),
// signal: abortController.value.signal, signal: abortController.value.signal,
// onopen: async response => { onopen: async response => {
// console.log("SSE 连接已建立", response.status); console.log("SSE 连接已建立", response.status);
// if (response.status !== 200) { if (response.status !== 200) {
// throw new Error(`请求失败: ${response.status}`); throw new Error(`请求失败: ${response.status}`);
// } }
// }, },
// onmessage: event => { onmessage: event => {
// try { try {
// if (event.data === "[DONE]") { if (event.data === "[DONE]") {
// // 流式输出结束 // 流式输出结束
// isLoading.value = false; isLoading.value = false;
// return; return;
// } }
// const data = JSON.parse(event.data); const data = JSON.parse(event.data);
// if (data.type === "content" && data.content) { if (data.type === "content" && data.content) {
// // 流式更新内容 // 流式更新内容
// updateLastAIMessage(prev => prev + data.content); updateLastAIMessage(prev => prev + data.content);
// } else if (data.type === "error") { } else if (data.type === "error") {
// throw new Error(data.message || "请求失败"); throw new Error(data.message || "请求失败");
// } }
// } catch (error) { } catch (error) {
// console.error("解析 SSE 数据错误:", error); console.error("解析 SSE 数据错误:", error);
// } }
// }, },
// onclose: () => { onclose: () => {
// console.log("SSE 连接已关闭"); console.log("SSE 连接已关闭");
// isLoading.value = false; isLoading.value = false;
// }, },
// onerror: error => { onerror: error => {
// console.error("SSE 连接错误:", error); console.error("SSE 连接错误:", error);
// ElMessage.error("连接失败,请重试"); ElMessage.error("连接失败,请重试");
// isLoading.value = false; isLoading.value = false;
// // 不要抛出错误,否则会重试 // 不要抛出错误,否则会重试
// } }
// }); });
// } catch (error) { } catch (error) {
// console.error("SSE 请求失败:", error); console.error("SSE 请求失败:", error);
// if (error.name !== "AbortError") { if (error.name !== "AbortError") {
// ElMessage.error(error.message || "请求失败"); ElMessage.error(error.message || "请求失败");
// } }
// isLoading.value = false; isLoading.value = false;
// } }
// }; };
// 发送消息 // 发送消息
const sendMessage = async () => { const sendMessage = async () => {
......
...@@ -182,28 +182,29 @@ const getStreamChat = async (search, inputValue) => { ...@@ -182,28 +182,29 @@ const getStreamChat = async (search, inputValue) => {
}, },
async onmessage(res) { async onmessage(res) {
let msgData = JSON.parse(res.data); let msgData = JSON.parse(res.data);
console.log("resss", msgData.content);
console.log("ress", msgData.content);
let str = msgData.content; let str = msgData.content;
if (str !== "[DONE]") {
reportContent.value += str; reportContent.value += str;
updateContent(reportContent.value, scrollContainer.value); updateContent(reportContent.value, scrollContainer.value);
} else {
ElMessage.success("报文生成结束");
abortController.value.abort();
abortController.value = new AbortController();
}
}, },
onerror(error) { onerror(error) {
ElMessage({ ElMessage({
message: "问题回答失败请重试", message: "写报生成报错!",
type: "warning" type: "warning"
}); });
abortController.value.abort(); abortController.value.abort();
abortController.value = new AbortController(); abortController.value = new AbortController();
throw new Error(error); throw new Error(error);
} }
}).catch(error => { }).catch(error => {
ElMessage({ ElMessage({
message: "问题回答失败请重试", message: "写报生成报错!",
type: "warning" type: "warning"
}); });
abortController.value.abort(); abortController.value.abort();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论