SyuanYu 7 달 전
부모
커밋
6ea7c7638c
1개의 변경된 파일26개의 추가작업 그리고 0개의 파일을 삭제
  1. 26 0
      src/components/Chat.vue

+ 26 - 0
src/components/Chat.vue

@@ -207,6 +207,9 @@ async function sendMessage(type = "") {
     // 如果有 Video Cache 則不需回傳工研院回答
     if (isVideoCache) {
       handleVideoCache(); // 播放 Video Cache
+      if (audioFile.value && type !== "text") {
+        messageSaveMp3(message, videoCacheData.value.answer, []);
+      }
       return;
     }
 
@@ -240,6 +243,9 @@ async function sendMessage(type = "") {
         });
 
         console.log("response", response);
+        if (audioFile.value && type !== "text") {
+          messageSaveMp3(message, response.data.response, response.data.data);
+        }
 
         messageNotInCache(message, response.data.response); // 回傳未收錄問題
 
@@ -2121,6 +2127,7 @@ async function handleAudioToText() {
     // showAnchor.value = false; // 關閉主播視窗
 
     userMessage.value = response.data[0];
+
     // handleTTS(userMessage.value); // 取得語音回覆
 
     if (response.data[0] && response.data[0] !== "") {
@@ -2236,6 +2243,25 @@ function recStop() {
 
 let videoCacheData = ref({});
 
+// 儲存問答 Log & 使用者語音
+async function messageSaveMp3(question, answer, data) {
+  let url = "https://cmm.ai:9101/message_save_mp3";
+
+  const formData = new FormData();
+  formData.append("question", question);
+  formData.append("answer", answer);
+  formData.append("data_list", data.length ? JSON.stringify(data) : "[]");
+  formData.append("mp3_file", audioFile.value);
+
+  try {
+    const response = await axios.post(url, formData);
+    console.log("response", response);
+    audioFile.value = null;
+  } catch (error) {
+    console.log("error", error);
+  }
+}
+
 async function getVideoCache(messages) {
   let url = `https://cmm.ai:9101/video_cache?client_message=${messages}`;