|
@@ -66,8 +66,15 @@ onUnmounted(() => cancelHeartBeat && cancelHeartBeat());
|
|
let handledNetworkException = false;
|
|
let handledNetworkException = false;
|
|
let cancelHeartBeat: Canceler;
|
|
let cancelHeartBeat: Canceler;
|
|
async function getRemainTimeFromServer() {
|
|
async function getRemainTimeFromServer() {
|
|
- if (store.exam.remainTime <= 0) {
|
|
|
|
- logger({ cnl: ["server"], act: "remainTime=0, stop heartbeat" });
|
|
|
|
|
|
+ if (store.exam.remainTime <= 0 && store.exam.isSubmittingPaper) {
|
|
|
|
+ logger({
|
|
|
|
+ cnl: ["server"],
|
|
|
|
+ act: "stop heartbeat",
|
|
|
|
+ ext: {
|
|
|
|
+ remainTime: store.exam.remainTime,
|
|
|
|
+ isSubmittingPaper: store.exam.isSubmittingPaper,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
try {
|
|
try {
|
|
@@ -119,6 +126,18 @@ async function getRemainTimeFromServer() {
|
|
possibleError: error,
|
|
possibleError: error,
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ // 当多次重试后,可能时过境迁,心跳已经没有意义了
|
|
|
|
+ if (store.exam.remainTime <= 0 && store.exam.isSubmittingPaper) {
|
|
|
|
+ logger({
|
|
|
|
+ cnl: ["server"],
|
|
|
|
+ act: "心跳错误处理停止",
|
|
|
|
+ ext: {
|
|
|
|
+ remainTime: store.exam.remainTime,
|
|
|
|
+ isSubmittingPaper: store.exam.isSubmittingPaper,
|
|
|
|
+ },
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
$dialog.error({
|
|
$dialog.error({
|
|
title: "网络连接异常",
|
|
title: "网络连接异常",
|
|
content: "退出考试",
|
|
content: "退出考试",
|