chd 4 meses atrás
pai
commit
7a155177eb

+ 87 - 76
src/entrypoints/sidepanel/Chat.vue

@@ -74,7 +74,7 @@
           </div>
 
           <div class="card-btn">
-            <el-tooltip  content="总结当前页面" placement="top">
+            <el-tooltip  content="总结" placement="top">
               <el-button :disabled="disabledBtn" v-if="type !== FunctionList.Intelligent_Form_filling"  round @click="handleSummary">总结</el-button>
             </el-tooltip>
              <el-tooltip   content="抽取表单信息" placement="top">
@@ -259,6 +259,7 @@ async function addMessage(msg, raw, type) {
 const handleSummary = async () => {
   if(sendLoading.value) return
   handleAsk(`请帮我总结当前${summaryHtml.value ? '页面' : '文件'}`)
+ 
   summaryHtml.value = false
 }
 const handleSummaryFile = async () => {
@@ -402,6 +403,8 @@ function addNewDialogue() {
   chrome.storage.local.set({ msgUuid: msgUuid.value })
 }
 const disabledBtn = computed(() => {
+  console.log(pageInfoList.value);
+  
  return  !!(pageInfoList.value.find(_ => _.loading ))
 })
 async function handleAsk(value) {
@@ -424,6 +427,8 @@ async function handleAsk(value) {
     msg.fileId = pageInfoList.value[0].fileId
     msg.redisKey = pageInfoList.value[0].redisKey
   } else msg = await addMessage(str)
+   pageInfoList.value = false
+  isShowPage.value = false
   await putChat(msg)
   sendLoading.value = true
   const obj = reactive({
@@ -479,107 +484,113 @@ async function handleAsk(value) {
   // 使用 WebSocket 替代 EventSource
   try {
     // 创建 WebSocket 连接
-     await askQues({
+    const res =  await askQues({
     conversationId: msgUuid.value,
     modelName: '通义千问-Max',
     question: msg.rawContent,
     id: '699637194561691650',
-    // redisKey:msg.redisKey
+    redisKey:msg.redisKey
     })
-    const wsUrl = `${import.meta.env.VITE_API_WS_URL}/webSocket/${msgUuid.value}`;
-    console.log(wsUrl,12312);
+     obj.content = formatMessage(res.data[res.data.length - 1].content)
+    obj.rawContent = res.data[res.data.length - 1].content;
+    // const wsUrl = `${import.meta.env.VITE_API_WS_URL}/webSocket/${msgUuid.value}`;
+    // console.log(wsUrl,12312);
     
-    const socket = new WebSocket(wsUrl);
-    // 连接建立时发送消息
-    socket.onopen = () => {
-      console.log('WebSocket 连接已建立');
-      // 发送请求数据
-      socket.send(JSON.stringify({
-     session:msgUuid.value
-      }));
-    };
+    // const socket = new WebSocket(wsUrl);
+    // // 连接建立时发送消息
+    // socket.onopen = () => {
+    //   console.log('WebSocket 连接已建立');
+    //   // 发送请求数据
+    //   socket.send(JSON.stringify({
+    //  session:msgUuid.value
+    //   }));
+    // };
     
     // 接收消息
-    socket.onmessage = (event) => {
-      try {
-        console.log('收到数据:', event);
+    // socket.onmessage = (event) => {
+    //   try {
+    //     console.log('收到数据:', event);
 
-        // const data = JSON.parse(event.data);
-        // console.log('收到数据:', data);
-        return
-        // 追加内容
-        if (data.content) {
-          obj.content += data.content;
-          obj.rawContent += data.content;
+    //     // const data = JSON.parse(event.data);
+    //     // console.log('收到数据:', data);
+    //     return
+    //     // 追加内容
+    //     if (data.content) {
+    //       obj.content += data.content;
+    //       obj.rawContent += data.content;
           
-          // 滚动到底部
-          nextTick(() => {
-            if (scrollbar.value && scrollbar.value.wrapRef) {
-              scrollbar.value.setScrollTop(scrollbar.value.wrapRef.scrollHeight);
-            }
-          });
-        }
+    //       // 滚动到底部
+    //       nextTick(() => {
+    //         if (scrollbar.value && scrollbar.value.wrapRef) {
+    //           scrollbar.value.setScrollTop(scrollbar.value.wrapRef.scrollHeight);
+    //         }
+    //       });
+    //     }
         
-        // 如果是最后一条消息,关闭连接
-        if (data.done) {
-          socket.close();
-          sendLoading.value = false;
+    //     // 如果是最后一条消息,关闭连接
+    //     if (data.done) {
+    //       socket.close();
+    //       sendLoading.value = false;
           
-          // 保存到数据库
-          putChat({
-            ...obj,
-            content: obj.content
-          });
+    //       // 保存到数据库
+    //       putChat({
+    //         ...obj,
+    //         content: obj.content
+    //       });
           
-          isShowPage.value = false;
-          pageInfoList.value = [];
-        }
-      } catch (error) {
-        console.error('解析消息出错:', error);
-      }
-    };
+    //       isShowPage.value = false;
+    //       pageInfoList.value = [];
+    //     }
+    //   } catch (error) {
+    //     console.error('解析消息出错:', error);
+    //   }
+    // };
     
     // 处理错误
-    socket.onerror = (error) => {
-      console.error('WebSocket 错误:', error);
-      socket.close();
-      sendLoading.value = false;
+    // socket.onerror = (error) => {
+    //   console.error('WebSocket 错误:', error);
+    //   socket.close();
+    //   sendLoading.value = false;
       
-      // 如果没有收到任何内容,显示错误消息
-      if (!obj.content) {
-        obj.content = '连接出错,请重试';
-        // 保存到数据库
-        putChat({
-          ...obj,
-          content: obj.content
-        });
-      }
-    };
+    //   // 如果没有收到任何内容,显示错误消息
+    //   if (!obj.content) {
+    //     obj.content = '连接出错,请重试';
+    //     // 保存到数据库
+    //     putChat({
+    //       ...obj,
+    //       content: obj.content
+    //     });
+    //   }
+    // };
     
-    // 连接关闭
-    socket.onclose = () => {
-      console.log('WebSocket 连接已关闭');
-      sendLoading.value = false;
-    };
+    // // 连接关闭
+    // socket.onclose = () => {
+    //   console.log('WebSocket 连接已关闭');
+    //   sendLoading.value = false;
+    // };
     
-    // 添加到控制器列表,以便可以在需要时中断连接
-    controllerList.value.push({
-      abort: () => {
-        socket.close();
-      }
-    });
+    // // 添加到控制器列表,以便可以在需要时中断连接
+    // controllerList.value.push({
+    //   abort: () => {
+    //     socket.close();
+    //   }
+    // });
   } catch (error) {
-    console.error('创建 WebSocket 失败:', error);
+    // console.error('创建 WebSocket 失败:', error);
     sendLoading.value = false;
+    console.log(error);
     
     // 显示错误消息
     obj.content = '连接失败,请重试';
     
     // 保存到数据库
-    putChat({
+   
+  } finally {
+     putChat({
       ...obj,
-      content: obj.content
-    });
+      content:''
+     });
+    sendLoading.value = false
   }
   
   // 移除原有的 EventSource 代码

+ 2 - 2
src/entrypoints/sidepanel/component/tools.vue

@@ -36,9 +36,9 @@ watchEffect(() => {
       <!-- <el-tooltip effect="dark" content="截屏" placement="top">
         <el-button class="tools_btn" link :icon="Scissor" @click="emit('handleCapture')" />
       </el-tooltip> -->
-      <el-tooltip effect="dark" content="智能填表:选择后,在输入框描述填表流程" placement="top">
+      <!-- <el-tooltip effect="dark" content="智能填表:选择后,在输入框描述填表流程" placement="top">
         <el-button class="tools_btn" link :icon="Edit" @click="emit('handelIntelligentFillingClick')" />
-      </el-tooltip>
+      </el-tooltip> -->
 
     </div>
     <div class="flex items-center">