From c227c1d5063e71da9bf4518099d705c4eab15887 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Thu, 2 Jul 2026 17:41:50 -0600 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E9=A2=98=E8=A1=A8=E5=8D=95=EF=BC=9ASQ?= =?UTF-8?q?L=20=E9=A2=98=E9=9A=90=E8=97=8F=E4=BB=A3=E7=A0=81=E8=A7=84?= =?UTF-8?q?=E5=88=99=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AstRulesEditor 基于 tree-sitter 对 Python/C 做 AST 解析(后端 ast_checker 只注册了这两种语言),对 SQL 没有意义;此前只要 SQL 在已选语言里就会渲染 出对应 tab,选项全是 for/while 循环等编程语言概念。切到 SQL 时隐藏该区块 并清空 ast_rules,避免出题界面出现无意义配置。 Co-Authored-By: Claude Fable 5 --- src/admin/problem/detail.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/admin/problem/detail.vue b/src/admin/problem/detail.vue index adcd8d8..fd9429e 100644 --- a/src/admin/problem/detail.vue +++ b/src/admin/problem/detail.vue @@ -198,6 +198,10 @@ watch( problem.value.sql_config = { mode: "query", order_sensitive: false } } currentActiveAnswer.value = "SQL" + // 代码规则检查基于 Python/C 的 AST 解析,对 SQL 没有意义,清空避免脏数据 + if (problem.value.ast_rules) { + problem.value.ast_rules = null + } } else if (problem.value.sql_config) { problem.value.sql_config = null } @@ -754,7 +758,7 @@ watch( - +