From 5f643949d62e3b216ef63e0e9efdfc82cd89a8d6 Mon Sep 17 00:00:00 2001
From: DebugIsFalse <511418503@qq.com>
Date: Thu, 16 May 2024 17:51:59 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20markdown=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/md/renderer.vue | 2 +-
pages/search/[id].vue | 35 +++++++++++++++++++++++++----------
2 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/components/md/renderer.vue b/components/md/renderer.vue
index a1bebde..a25eb85 100644
--- a/components/md/renderer.vue
+++ b/components/md/renderer.vue
@@ -23,7 +23,7 @@ const initMarkdownIt = new MarkdownIt({
} catch (__) {}
}
- return '
+
来源
@@ -182,9 +182,11 @@ const handleContinueAsk = (question) => {
if (asking.value) return;
asking.value = true;
}
-// 处理generate
+
+// 处理ai generate
let aiChatController = null; // 用户取消操作方法
const markedEnd = '[DONE]';
+let storeSource = [];
const handleFormFetchData = (fetchData) => {
let message = {};
try {
@@ -195,22 +197,35 @@ const handleFormFetchData = (fetchData) => {
if (Object.keys(message).length === 0) return;
const index = data.value.length === 0 ? 0 : data.value.length - 1;
data.value[index] = data.value[index] || {};
- if (message.meta.type === 'answer') {
+ const { meta, choices } = message;
+ if (meta.type === 'answer') {
Object.assign(data.value[index], {
question: state.query,
article: message.choices[0].message.content
})
- } else if (message.meta.type === 'log') {
- console.log('log', JSON.stringify(message))
- } else if (message.meta.type === 'rephrase_question') {
- Object.assign(data.value[index], {
- description: message.choices[0].message.content
- })
+ return;
+ }
+ if (meta.type === 'log') {
+ if (meta.action === 'rephrase_question') {
+ Object.assign(data.value[index], { description: choices[0].message.content })
+ } else if (meta.action === 'search_file') {
+ let source = choices[0].message.content;
+ storeSource = source.split('\n').map(item => {
+ return {
+ label: item,
+ link: '',
+ repo: ''
+ }
+ });
+ }
}
}
const handleMessage = (event) => {
if (event.data === markedEnd) {
asking.value = false;
+ const index = data.value.length === 0 ? 0 : data.value.length - 1;
+ data.value[index] = data.value[index] || {};
+ Object.assign(data.value[index], { source: storeSource });
return;
}
handleFormFetchData(event.data)
--
GitLab