|
@@ -194,8 +194,8 @@ let questions = reactive([
|
|
|
|
|
|
// 傳送訊息 (如 type="text" 代表為純文字訊息,不需語音回覆)
|
|
|
async function sendMessage(type = "") {
|
|
|
- let question = userMessage.value;
|
|
|
- qaQuery.push(question);
|
|
|
+ let message = userMessage.value;
|
|
|
+ qaQuery.push(message);
|
|
|
|
|
|
if (userMessage.value === "") {
|
|
|
return;
|
|
@@ -203,7 +203,7 @@ async function sendMessage(type = "") {
|
|
|
// 使用者訊息
|
|
|
messages.value.push({
|
|
|
label: "text",
|
|
|
- body: question,
|
|
|
+ body: message,
|
|
|
author: "user",
|
|
|
});
|
|
|
|
|
@@ -227,6 +227,28 @@ async function sendMessage(type = "") {
|
|
|
let url = "https://api.itri-101-5g.com/v1/qa/";
|
|
|
|
|
|
try {
|
|
|
+ let isVideoCache = await getVideoCache(message); // 判斷使用者問題是否有 Video Cache
|
|
|
+
|
|
|
+ console.log("isVideoCache", isVideoCache);
|
|
|
+
|
|
|
+ // 如果有 Video Cache 則不需回傳工研院回答
|
|
|
+ if (isVideoCache) {
|
|
|
+ console.log("Cache:", videoCacheData.value);
|
|
|
+
|
|
|
+ // AI 客服回傳訊息
|
|
|
+ messages.value.push({
|
|
|
+ label: "text",
|
|
|
+ author: "ai",
|
|
|
+ body: videoCacheData.value.answer,
|
|
|
+ });
|
|
|
+ // handleVideoCache(); // 播放 Video Cache
|
|
|
+ // if (audioFile.value && type !== "text") {
|
|
|
+ // messageSaveMp3(message, videoCacheData.value.answer, []);
|
|
|
+ // } else {
|
|
|
+ // messageSave(message, videoCacheData.value.answer, []);
|
|
|
+ // }
|
|
|
+ return;
|
|
|
+ }
|
|
|
// // 使用者訊息
|
|
|
// messages.value.push({
|
|
|
// label: "text",
|
|
@@ -255,7 +277,7 @@ async function sendMessage(type = "") {
|
|
|
}
|
|
|
)
|
|
|
.then((response) => {
|
|
|
- messageSave(question, response.data);
|
|
|
+ messageSave(message, response.data);
|
|
|
|
|
|
// AI 客服回傳訊息
|
|
|
messages.value.push({
|