72% 的提交一次就通过,每次通过之后学生都要回首页或再问一遍题号去找下一道。 - 结果面板在通过时显示 LessonNext:取 /me/class-activity(老师布置的优先,否则推断), 给出排在当前题后面、还没通过的第一道,后面都做完了再从头找;全做完了显示「都做完了」 并指向题单。当前题不在列表里、比赛、题单入口都不显示 - 评价弹窗关掉后重新打开结果面板:点弹窗时面板会被当成点了外面收起来,「下一题」就在面板里 - 换题(同一组件只换路由参数,有了题号直达和下一题之后成了常规操作)时收掉上一道题的 结果面板、语法错误、还在跟的提交(新增 useSubmissionMonitor.reset),并取消通过后 那两个 1.5 秒的定时器——否则会给还没做的新题弹评价,上一道判完时还会把新题标成已解决 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a6bf845e06
commit
a63bf6ea07
4 files changed
+141
-3
No files matched your search
@@ -129,6 +129,18 @@ export function useSubmissionMonitor() {
|
||||
startPollingFallback()
|
||||
}
|
||||
|
||||
/**
|
||||
* 换题的时候丢掉当前这条提交。题目页换题(顶栏题号直达、「下一题」)是同一个组件
|
||||
* 复用、只换路由参数,不清的话上一道题的结果面板原样挂在新题上;而且上一道还在判的话,
|
||||
* 判完触发的「通过」处理会把**新题**标成已解决。提交本身照常判完落库,只是这边不再跟。
|
||||
*/
|
||||
const reset = () => {
|
||||
pausePolling()
|
||||
unsubscribe()
|
||||
submissionId.value = ""
|
||||
submission.value = undefined
|
||||
}
|
||||
|
||||
// ==================== 计算属性 ====================
|
||||
const judging = computed(() => submission.value?.result === SubmissionStatus.judging)
|
||||
|
||||
@@ -159,5 +171,6 @@ export function useSubmissionMonitor() {
|
||||
// 方法
|
||||
startMonitoring,
|
||||
pausePolling,
|
||||
reset,
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user