|
@@ -28,7 +28,7 @@ const currentRate = ref(0);
|
|
const currentRound = computed(() => {
|
|
const currentRound = computed(() => {
|
|
const filteredMessages = chatList.value.filter(
|
|
const filteredMessages = chatList.value.filter(
|
|
(message) =>
|
|
(message) =>
|
|
- message.text !== "我没有听清,麻烦在重复一下。" && message.text !== ""
|
|
|
|
|
|
+ message.text !== "我没有听清,麻烦在重复一下。" && message.text !== "" && message.text !== "还有事儿吗?没事儿就挂了~"
|
|
);
|
|
);
|
|
return Math.floor(filteredMessages.length / 2);
|
|
return Math.floor(filteredMessages.length / 2);
|
|
});
|
|
});
|
|
@@ -41,19 +41,16 @@ function startInactivityTimer() {
|
|
const diff = (Date.now() - lastMessageTime.value) / 1000; // 单位: 秒
|
|
const diff = (Date.now() - lastMessageTime.value) / 1000; // 单位: 秒
|
|
console.log(diff,"开始计时1");
|
|
console.log(diff,"开始计时1");
|
|
//diff >= 180 && diff < 300
|
|
//diff >= 180 && diff < 300
|
|
- if (diff >= 30 && diff < 60 && !warned) {
|
|
|
|
|
|
+ if (diff >= 180 && diff < 300 && !warned) {
|
|
console.log("开始计时3");
|
|
console.log("开始计时3");
|
|
// 超过 3 分钟没消息 -> 提示
|
|
// 超过 3 分钟没消息 -> 提示
|
|
console.log("超过3分钟但小于5分钟,发送提示消息");
|
|
console.log("超过3分钟但小于5分钟,发送提示消息");
|
|
const text = "还有事儿吗?没事儿就挂了~";
|
|
const text = "还有事儿吗?没事儿就挂了~";
|
|
pushTimeoutMessage(text);
|
|
pushTimeoutMessage(text);
|
|
- // const text = "还有事儿吗?没事儿就挂了~";
|
|
|
|
- // updateChatList(text, false);
|
|
|
|
- // queue.add(async () => await splitMessage(text));
|
|
|
|
warned = true;
|
|
warned = true;
|
|
}
|
|
}
|
|
// console.log("开始计时2");
|
|
// console.log("开始计时2");
|
|
- if (diff >= 60 && !ended) {
|
|
|
|
|
|
+ if (diff >= 300 && !ended) {
|
|
ended = true; // 🔑 立即标记已结束
|
|
ended = true; // 🔑 立即标记已结束
|
|
clearInterval(inactivityTimer); // 🔑 停止定时器
|
|
clearInterval(inactivityTimer); // 🔑 停止定时器
|
|
inactivityTimer = null;
|
|
inactivityTimer = null;
|
|
@@ -66,12 +63,6 @@ function startInactivityTimer() {
|
|
} catch (err) {
|
|
} catch (err) {
|
|
console.error("[Timer] 会话结束接口出错:", err);
|
|
console.error("[Timer] 会话结束接口出错:", err);
|
|
}
|
|
}
|
|
- // const res = await fetchTaskEnd(conversationId.value);
|
|
|
|
- // if (res.code === 200) {
|
|
|
|
- // taskStatus.value = true
|
|
|
|
- // }
|
|
|
|
- // ended = true;
|
|
|
|
- // clearInterval(inactivityTimer);
|
|
|
|
}
|
|
}
|
|
}, 1000);
|
|
}, 1000);
|
|
}
|
|
}
|
|
@@ -575,6 +566,12 @@ const handleTaskStatus = async () => {
|
|
if (res.code == 200) {
|
|
if (res.code == 200) {
|
|
taskStatus.value = res.body
|
|
taskStatus.value = res.body
|
|
localStorage.setItem("status", res.body);
|
|
localStorage.setItem("status", res.body);
|
|
|
|
+ // 🔑 任务结束时清理定时器
|
|
|
|
+ if (taskStatus.value && inactivityTimer) {
|
|
|
|
+ clearInterval(inactivityTimer);
|
|
|
|
+ inactivityTimer = null;
|
|
|
|
+ console.log("任务已结束,停止计时器");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|