Browse Source

甲流

hongxilin
donghaolin 3 months ago
parent
commit
7519a90d75
  1. 66
      src/views/chat.vue

66
src/views/chat.vue

@ -34,7 +34,7 @@ const sessionId = ref(localStorage.getItem('sessionId') || {});
const add = async () => {
try {
const result = await axios.post(
"http://9zebk6.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions",
"http://c6bi3f.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions",
{},
{
headers: {
@ -103,47 +103,45 @@ const scrollToBottom = () => {
}
//
const sendMessage = async () => {
if (!isTokenValid.value) {
console.error('Token 验证失败,无法发送消息')
return
console.error('Token 验证失败,无法发送消息');
return;
}
if (isLoading.value) return;
const content = inputMessage.value.trim()
if (!content) return
const content = inputMessage.value.trim();
if (!content) return;
//
messages.value.push({
content,
sender: 'user',
timestamp: new Date()
})
});
//
inputMessage.value = ''
scrollToBottom()
inputMessage.value = '';
scrollToBottom();
//
isLoading.value = true
isLoading.value = true;
messages.value.push({
content: '我正在思考...',
sender: 'bot',
timestamp: new Date(),
isLoading: true
})
scrollToBottom()
});
scrollToBottom();
try {
// API
const response = await fetch("http://9zebk6.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions", {
const response = await fetch("http://c6bi3f.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions", {
method: 'POST',
headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ragflow-hkNjEwYjcwZjBlMDExZWZiYjYzMDI0Mm' },
body: JSON.stringify({ question: content, stream: false, session_id: sessionId.value })
})
const data = await response.json()
});
const data = await response.json();
console.log(data, 'data211111');
//
messages.value = messages.value.filter(msg => !msg.isLoading)
messages.value = messages.value.filter(msg => !msg.isLoading);
//
const regex = /<think>(.*?)<\/think>(.*)/s;
const match = data.data.answer.match(regex);
@ -158,36 +156,46 @@ const sendMessage = async () => {
// HTML
let combinedContent = '';
// if (thinking) {
// combinedContent += `<span class="thinking-content">${thinking}</span><br>`;
// }
combinedContent += `<span class="result-content">${result}</span>`;
//
//
const botMessageIndex = messages.value.length;
messages.value.push({
content: combinedContent,
content: '',
sender: 'bot',
timestamp: new Date()
})
});
// 使
let currentIndex = 0;
const intervalId = setInterval(() => {
if (currentIndex < combinedContent.length) {
messages.value[botMessageIndex].content += combinedContent[currentIndex];
scrollToBottom();
currentIndex++;
} else {
clearInterval(intervalId);
}
}, 100); // 100
scrollToBottom()
} catch (error) {
console.error('API请求失败:', error)
console.error('API请求失败:', error);
//
messages.value = messages.value.filter(msg => !msg.isLoading)
messages.value = messages.value.filter(msg => !msg.isLoading);
messages.value.push({
content: '服务暂时不可用,请稍后再试',
sender: 'bot',
timestamp: new Date()
})
scrollToBottom()
});
scrollToBottom();
} finally {
//
isLoading.value = false
isLoading.value = false;
}
}
};
//
const formatTime = (date) => {
return new Date(date).toLocaleTimeString([], {

Loading…
Cancel
Save