|
@@ -17,17 +17,16 @@ export default {
|
|
async mounted() {
|
|
async mounted() {
|
|
this.heartbeatErrorNum = 0;
|
|
this.heartbeatErrorNum = 0;
|
|
this.getRemainTimeFromServer();
|
|
this.getRemainTimeFromServer();
|
|
- this.intervalA = setInterval(() => {
|
|
|
|
|
|
+ this.heartbeatInterval = setInterval(() => {
|
|
this.getRemainTimeFromServer();
|
|
this.getRemainTimeFromServer();
|
|
}, 60 * 1000);
|
|
}, 60 * 1000);
|
|
- this.intervalB = setInterval(
|
|
|
|
|
|
+ this.remainTimeInterval = setInterval(
|
|
() => (this.remainTime = this.remainTime - 1000),
|
|
() => (this.remainTime = this.remainTime - 1000),
|
|
1000
|
|
1000
|
|
);
|
|
);
|
|
},
|
|
},
|
|
beforeDestroy() {
|
|
beforeDestroy() {
|
|
- clearInterval(this.intervalA);
|
|
|
|
- clearInterval(this.intervalB);
|
|
|
|
|
|
+ this.clearIntervals();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
...mapMutations(["setShouldSubmitPaper"]),
|
|
...mapMutations(["setShouldSubmitPaper"]),
|
|
@@ -43,12 +42,14 @@ export default {
|
|
this.heartbeatErrorNum = 0;
|
|
this.heartbeatErrorNum = 0;
|
|
} else {
|
|
} else {
|
|
this.heartbeatErrorNum++;
|
|
this.heartbeatErrorNum++;
|
|
- if (this.heartbeatErrorNum === 10) {
|
|
|
|
|
|
+ if (this.heartbeatErrorNum >= 10) {
|
|
// 心跳异常5次则退出考试
|
|
// 心跳异常5次则退出考试
|
|
this.$Modal.error({
|
|
this.$Modal.error({
|
|
title: "网络连接异常",
|
|
title: "网络连接异常",
|
|
content: "退出考试",
|
|
content: "退出考试",
|
|
onOk: () => {
|
|
onOk: () => {
|
|
|
|
+ clearInterval(this.heartbeatInterval);
|
|
|
|
+ clearInterval(this.remainTimeInterval);
|
|
this.$router.push("/login/" + localStorage.getItem("domain"));
|
|
this.$router.push("/login/" + localStorage.getItem("domain"));
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -56,6 +57,10 @@ export default {
|
|
}
|
|
}
|
|
setTimeout(() => this.getRemainTimeFromServer(), 10 * 1000);
|
|
setTimeout(() => this.getRemainTimeFromServer(), 10 * 1000);
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ clearIntervals() {
|
|
|
|
+ clearInterval(this.heartbeatInterval);
|
|
|
|
+ clearInterval(this.remainTimeInterval);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -65,7 +70,7 @@ export default {
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
remainTime(val) {
|
|
remainTime(val) {
|
|
- if (val < 0) {
|
|
|
|
|
|
+ if (val !== null && val < 0) {
|
|
this.setShouldSubmitPaper();
|
|
this.setShouldSubmitPaper();
|
|
}
|
|
}
|
|
}
|
|
}
|