Browse Source

加了数学公式的样式修改

hongxilin
donghaolin 3 months ago
parent
commit
560989512e
  1. 32
      src/views/chat.vue

32
src/views/chat.vue

@ -5,6 +5,8 @@ import axios from 'axios'
import { ElMessage } from 'element-plus'; import { ElMessage } from 'element-plus';
import { Loading, Position } from '@element-plus/icons-vue'; // import { Loading, Position } from '@element-plus/icons-vue'; //
import { marked } from 'marked'; // marked import { marked } from 'marked'; // marked
import katex from 'katex'; // KaTeX
import 'katex/dist/katex.min.css'; // KaTeX
const { getQueryVariable } = useUserInfo() const { getQueryVariable } = useUserInfo()
// getSessionId // getSessionId
@ -35,7 +37,7 @@ const sessionId = ref(localStorage.getItem('sessionId') || {});
const add = async () => { const add = async () => {
try { try {
const result = await axios.post( const result = await axios.post(
"http://td7idg.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions",
"http://asp69f.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions",
{}, {},
{ {
headers: { headers: {
@ -133,7 +135,7 @@ const sendMessage = async () => {
try { try {
// API // API
const response = await fetch("http://td7idg.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions", {
const response = await fetch("http://asp69f.natappfree.cc/api/v1/chats/8b37cd9cf0c811efa4210242ac120003/completions", {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ragflow-hkNjEwYjcwZjBlMDExZWZiYjYzMDI0Mm' }, headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ragflow-hkNjEwYjcwZjBlMDExZWZiYjYzMDI0Mm' },
body: JSON.stringify({ question: content, stream: false, session_id: sessionId.value }) body: JSON.stringify({ question: content, stream: false, session_id: sessionId.value })
@ -143,6 +145,9 @@ const sendMessage = async () => {
// //
messages.value = messages.value.filter(msg => !msg.isLoading); messages.value = messages.value.filter(msg => !msg.isLoading);
// data
if (data && data.data && typeof data.data.answer === 'string') {
// //
const regex = /<think>(.*?)<\/think>(.*)/s; const regex = /<think>(.*?)<\/think>(.*)/s;
const match = data.data.answer.match(regex); const match = data.data.answer.match(regex);
@ -162,7 +167,18 @@ const sendMessage = async () => {
combinedContent += `<span class="result-content">${result}</span>`; combinedContent += `<span class="result-content">${result}</span>`;
// 使markedMarkdownHTML // 使markedMarkdownHTML
const markdownContent = marked(combinedContent);
let markdownContent = marked(combinedContent);
// 使 KaTeX
const katexRegex = /\$\$(.*?)\$\$/g;
markdownContent = markdownContent.replace(katexRegex, (match, formula) => {
try {
return katex.renderToString(formula, { throwOnError: false });
} catch (error) {
console.error('KaTeX 渲染错误:', error);
return match;
}
});
// //
const botMessageIndex = messages.value.length; const botMessageIndex = messages.value.length;
@ -183,7 +199,15 @@ const sendMessage = async () => {
clearInterval(intervalId); clearInterval(intervalId);
} }
}, 100); // 100 }, 100); // 100
} else {
console.error('API 返回的数据格式不正确:', data);
messages.value.push({
content: '服务返回数据格式错误,请稍后再试',
sender: 'bot',
timestamp: new Date()
});
scrollToBottom();
}
} catch (error) { } catch (error) {
console.error('API请求失败:', error); console.error('API请求失败:', error);
// //

Loading…
Cancel
Save