chd 5 달 전
부모
커밋
e067cead13
2개의 변경된 파일22개의 추가작업 그리고 18개의 파일을 삭제
  1. 15 11
      src/entrypoints/sidepanel/Chat.vue
  2. 7 7
      src/utils/ai-service.js

+ 15 - 11
src/entrypoints/sidepanel/Chat.vue

@@ -141,10 +141,9 @@ const handleUpload = (file) => {
       console.log(file);
       addMessage(`已上传文件:${file.name}`, false)
       const fileExtension = file.name.split('.').pop().toLowerCase();
-      console.log('文件后缀:', fileExtension);
+        formInfo = response.data
       if (fileExtension === 'xlsx') {
 
-        formInfo = response.data
         const reader = new FileReader();
         reader.readAsArrayBuffer(file);
         reader.onload = async (e) => {
@@ -181,6 +180,12 @@ const handleUpload = (file) => {
         let formData = new FormData();
         formData.append("file", file);
         const res = await upload(formData)
+        const keys = Object.keys(res)
+        const values = Object.values(res)
+        readData[0].forEach((header, i) => {
+          if (!xlsxData.value[header]) xlsxData.value[header] = []
+          xlsxData.value[header].push(readData[1][i])
+        })
         console.log(res);
       }
     }
@@ -195,16 +200,15 @@ async function fetchDataAndProcess(input, obj) {
   const pageInfo = await getPageInfo()
   console.log(pageInfo);
 
-  // 发起请求获取数据
-  // const res = await hepl({
-  //     input_data: input,
-  //     body:pageInfo.content.mainContent
-  // })
-  const res = await new Promise((resolve, reject) => {
-    setTimeout(() => {
-      resolve({ data: mockData[indexTemp.value] })
-    }, 1000)
+  const res = await hepl({
+      input_data: input,
+      body:pageInfo.content.mainContent
   })
+  // const res = await new Promise((resolve, reject) => {
+  //   setTimeout(() => {
+  //     resolve({ data: mockData[indexTemp.value] })
+  //   }, 1000)
+  // })
   await handleClick(res.data, obj);
 }
 

+ 7 - 7
src/utils/ai-service.js

@@ -165,13 +165,13 @@ export function formatMessage(text) {
 }
 
 export function buildExcelUnderstandingPrompt(data, fileName, pageInfo) {
-    if (!data || data.length < 2) {
-        return "这是一个空的Excel文件,请检查文件内容。";
-    }
+    // if (!data || data.length < 2) {
+    //     return "这是一个空的Excel文件,请检查文件内容。";
+    // }
 
 
-    const headers = data[0];
-    const rows = data.slice(1);
+    // const headers = data[0];
+    // const rows = data.slice(1);
     // data[0].forEach((header, i) => {
     //     if (!this.excelData[header]) this.excelData[header] = []
     //     this.excelData[header].push(data[1][i])
@@ -180,14 +180,14 @@ export function buildExcelUnderstandingPrompt(data, fileName, pageInfo) {
     return `我将向你展示一个通过SheetJS库读取的Excel文件内容和一个form表单。请帮我理解这些数据:
 
 文件名:${fileName}
-列标题:${headers.join(", ")}
+列标题:${data.join(", ")}
 
 表单内容:
 ${pageInfo}
              
 要求:
 1. 请分析表单中实际可操作的表单项,
-2. 并根据实际可操作的表单项的所有信息与上传excel文件中的列标题进行匹配,生成表单项与excel文件中列标题的数组,并使用findBy告诉我通过表单项的什么字段信息匹配到的,使用findByValue告诉我匹配到的表单项字段值,使用excelColumn字段告诉我excel文件中列标题的值。在一个字段内返回
+2. 并根据实际可操作的表单项的所有信息与上传的列标题进行匹配,生成表单项与列标题对应的数组,并使用findBy告诉我通过表单项的什么字段信息匹配到的,使用findByValue告诉我匹配到的表单项字段值,使用excelColumn字段告诉我excel文件中列标题的值。在一个字段内返回
 3. 并去除没有匹配到的表单项和excel文件中没有匹配到的列,
 4. 通过type字段告诉我输入项的类型
 5. 如果表单项有label标签,同时返回label,通过label字段告诉我label元素的文本