feat: add AST_CHECK_FAILED status and update result display
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,10 @@ const msg = computed(() => {
|
||||
msg += "请仔细检查,看看代码的格式是不是写错了!\n\n"
|
||||
}
|
||||
|
||||
if (result === SubmissionStatus.ast_check_failed) {
|
||||
msg += "你的答案是正确的,但是代码结构不符合要求:\n\n"
|
||||
}
|
||||
|
||||
if (props.submission.statistic_info?.err_info) {
|
||||
msg += props.submission.statistic_info.err_info
|
||||
}
|
||||
@@ -53,6 +57,7 @@ const showAIHint = computed(() => {
|
||||
return (
|
||||
problemStore.failCount >= 3 &&
|
||||
props.submission.result !== SubmissionStatus.accepted &&
|
||||
props.submission.result !== SubmissionStatus.ast_check_failed &&
|
||||
props.submission.result !== SubmissionStatus.pending &&
|
||||
props.submission.result !== SubmissionStatus.judging &&
|
||||
props.submission.result !== SubmissionStatus.submitting
|
||||
@@ -108,6 +113,7 @@ const infoTable = computed(() => {
|
||||
// AC、编译错误、运行时错误不显示测试用例表格
|
||||
if (
|
||||
result === SubmissionStatus.accepted ||
|
||||
result === SubmissionStatus.ast_check_failed ||
|
||||
result === SubmissionStatus.compile_error ||
|
||||
result === SubmissionStatus.runtime_error
|
||||
) {
|
||||
|
||||
@@ -149,7 +149,7 @@ watch(
|
||||
result === SubmissionStatus.submitting
|
||||
)
|
||||
return
|
||||
if (result !== SubmissionStatus.accepted) {
|
||||
if (result !== SubmissionStatus.accepted && result !== SubmissionStatus.ast_check_failed) {
|
||||
problemStore.incrementFailCount()
|
||||
}
|
||||
},
|
||||
@@ -159,7 +159,7 @@ watch(
|
||||
watch(
|
||||
() => submission.value?.result,
|
||||
async (result) => {
|
||||
if (result !== SubmissionStatus.accepted) return
|
||||
if (result !== SubmissionStatus.accepted && result !== SubmissionStatus.ast_check_failed) return
|
||||
|
||||
// 1. 刷新题目状态
|
||||
problem.value!.my_status = 0
|
||||
@@ -173,6 +173,8 @@ watch(
|
||||
)
|
||||
}
|
||||
|
||||
if (result !== SubmissionStatus.accepted) return
|
||||
|
||||
// 3. 放烟花
|
||||
celebrate()
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ export enum SubmissionStatus {
|
||||
judging = 7,
|
||||
partial_accepted = 8,
|
||||
submitting = 9,
|
||||
ast_check_failed = 10,
|
||||
}
|
||||
|
||||
export enum ContestStatus {
|
||||
@@ -80,6 +81,10 @@ export const JUDGE_STATUS: {
|
||||
name: "正在提交",
|
||||
type: "info",
|
||||
},
|
||||
"10": {
|
||||
name: "代码检查未通过",
|
||||
type: "warning",
|
||||
},
|
||||
}
|
||||
|
||||
export const CONTEST_STATUS: {
|
||||
|
||||
@@ -65,7 +65,7 @@ export type LANGUAGE =
|
||||
export type LANGUAGE_SHOW_LABEL =
|
||||
(typeof LANGUAGE_SHOW_VALUE)[keyof typeof LANGUAGE_SHOW_VALUE]
|
||||
|
||||
export type SUBMISSION_RESULT = -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
|
||||
export type SUBMISSION_RESULT = -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
|
||||
|
||||
export type ProblemStatus = "passed" | "failed" | "not_test"
|
||||
|
||||
@@ -137,6 +137,7 @@ export interface Problem {
|
||||
flowchart_data?: Record<string, any>
|
||||
flowchart_hint?: string
|
||||
show_flowchart?: boolean
|
||||
ast_rules?: { [key: string]: { engine: string; target?: string; min?: number; max?: number; message: string }[] } | null
|
||||
}
|
||||
|
||||
export type AdminProblem = Problem & AlterProblem
|
||||
|
||||
Reference in New Issue
Block a user