|
@@ -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}`;
|
|
|
|