Commit Graph

235 Commits

Author SHA1 Message Date
c88753ba78 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-08-04 19:27:26 -06:00
0932a05850 feat(achievement): 成就图标改用 iconify 渲染
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
机房的老浏览器缺 emoji 字体,成就图标会渲染成方块。后端的 icon 字段
改存 iconify 图标名(noto 集),前端统一走新的 AchievementIcon 组件
渲染成 SVG。

组件按三种形态判断:图片 URL 走 img,含冒号走 Icon,其余当纯文本兜底,
所以存量的 emoji 数据不会瞎掉。

顺带修好解锁弹窗:题单奖章的 icon 是图片 URL,之前当文本渲染,会把
一串路径直接显示出来。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 19:20:10 -06:00
a9278589c9 feat(achievement): 添加管理后台成就配置页
指标下拉框由后端 METRIC_REGISTRY 动态提供,选中后显示该指标的说明。
列表显示已解锁人数——阈值配错时学生永远拿不到也永远不会来问,
这个计数器是唯一的仪表盘。

API 追加到 src/admin/api.ts(仓库的 admin 接口集中在这一个文件里),
路由 meta 用 requiresSuperAdmin 以匹配后端的 super_admin_required。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 06:59:27 -06:00
be1b9a97a0 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-07-05 03:12:36 -06:00
527127d9c7 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-07-05 01:33:30 -06:00
081981d115 精简 Problem 模型:前端移除 rule_type / io_mode / total_score
配合后端删除这三列:
- Problem 类型与 admin 出题页去掉 rule_type、io_mode 字段
- 出题提交 payload 不再携带这些字段

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 11:42:21 -06:00
ff5daf8afe update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-07-04 11:06:41 -06:00
bda28b8400 feat: SQL 题接入测试点在线编辑器
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 03:57:55 -06:00
740f956fe3 feat: SQL 测试点在线编辑器组件与 API
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 03:50:43 -06:00
0b627b5157 feat: 管理端 SQL 题隐藏输入输出描述与样例表单
- 隐藏 SQL 题的输入/输出描述编辑器
- 隐藏 SQL 题的样例编辑区域
- 跳过 SQL 题的输入输出和样例验证
- SQL 题提交时清空样例数组

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 01:31:08 -06:00
dd29f04664 change to vite8
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-07-02 18:28:47 -06:00
5d418a2280 修复测试用例区域温馨提醒 tooltip 不换行
n-tooltip 的内容容器默认按内容宽度撑开(naive-ui 没有设默认 max-width/
white-space),SQL 提示文案变长后整段挤成一条超宽横线。加 max-width 约束
宽度使其正常换行。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 18:02:49 -06:00
b4ac42b736 出题表单:修复 SQL 题崩溃并隐藏流程图区域
流程图区域的"AI 生成"按钮读取 problem.answers 里 language==='Python3' 的
第一项 .code,SQL 题(languages=["SQL"])没有 Python3 答案,[0] 为
undefined,导致模板抛 TypeError 崩溃整个出题页。

流程图功能本身依赖 Python 答案生成 Mermaid 代码,对 SQL 题没有意义,
和已隐藏的"代码规则检查"一样直接整块隐藏(切到 SQL 时顺带重置
allow_flowchart/show_flowchart,避免脏数据)。顺手给禁用态判断加了
可选链,修掉未选 Python3 时同样会崩的潜在问题(如仅选 C/C++ 的题目)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:45:44 -06:00
c227c1d506 出题表单:SQL 题隐藏代码规则检查
AstRulesEditor 基于 tree-sitter 对 Python/C 做 AST 解析(后端 ast_checker
只注册了这两种语言),对 SQL 没有意义;此前只要 SQL 在已选语言里就会渲染
出对应 tab,选项全是 for/while 循环等编程语言概念。切到 SQL 时隐藏该区块
并清空 ast_rules,避免出题界面出现无意义配置。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:41:50 -06:00
38500671af 新增 SQL 题型前端支持
- LANGUAGE 类型与六张语言映射表补 SQL;编辑器 SQLite 方言高亮
- 出题表单:SQL 语言选项、题型/行序配置卡片、数据脚本压缩包上传、标准答案必填校验
- 修复做题页语言回退硬编码 Python3 的问题(SQL 题会提交被拒)
- SQL 题隐藏自测猫/自测屏/复制到自测猫(外部运行器不支持 SQL)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:23:23 -06:00
5867bbceed add new type of self-learning
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-29 19:38:00 -06:00
e425fbae53 fix copy
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-29 06:19:06 -06:00
77db837af3 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-07 05:57:48 -06:00
f9d7c2ff92 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-05 09:03:38 -06:00
4ef2738afd fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-05 00:59:56 -06:00
89a6e79489 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-05 00:58:55 -06:00
41c4fdbc5c update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-04 08:44:54 -06:00
33b6e35d6b add ai report
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-04 08:06:36 -06:00
f6232da3ba fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-03 09:06:08 -06:00
2fbcbd07c5 feat: update frontend for four-tier role system
Add Student Admin and Teacher Admin roles to constants, types, store,
permissions, routes, and admin UI. Teacher Admin sees contests and
problemsets in sidebar; Student Admin sees only problems.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 18:13:39 -06:00
80e916e817 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-06-01 21:09:34 +08:00
cb7743367a remove contest type
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-26 23:10:15 -06:00
7e784be061 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-26 02:44:55 -06:00
bf69a355fe update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-25 23:55:16 -06:00
f970bb955d fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-25 23:06:03 -06:00
82987ffd54 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-25 22:40:24 -06:00
11e447d4b7 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-25 21:56:07 -06:00
7547f896f6 feat: add admin UI for AST rule configuration 2026-05-25 20:50:40 -06:00
1296251c80 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-25 06:15:04 -06:00
9736fdf883 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:57:56 -06:00
340a58fc17 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:55:39 -06:00
a2e8c6b274 update 2026-05-21 19:55:26 -06:00
6403b69294 update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:52:44 -06:00
9315963cce update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:40:25 -06:00
c1c6e75a7b update
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:38:24 -06:00
c4ac0f06cb fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-21 19:30:36 -06:00
776cfdf9de feat: add contest clone button to admin contest list 2026-05-21 19:21:40 -06:00
16588d2965 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-20 18:23:01 -06:00
2850887ce3 fix
Some checks failed
Deploy / deploy (build, debian, 22, /root/OJDeploy/data/clientnext) (push) Has been cancelled
Deploy / deploy (build:staging, school, 8822, /root/OJ/data/dist) (push) Has been cancelled
2026-05-20 09:32:08 -06:00
a72317173b feat: show warning when no answer code exists in generator 2026-05-19 04:27:10 -06:00
0ac203806c fix: round up initial rows to nearest multiple of 5 2026-05-19 04:25:31 -06:00
e7e270b928 fix: ensure at least 5 rows in generator even when samples exist 2026-05-19 04:25:00 -06:00
874a6fbe90 feat: pre-populate generator with problem samples on open 2026-05-19 04:22:23 -06:00
06738f6e29 refactor: move reminder tooltip into testcase section 2026-05-19 04:20:48 -06:00
8047a7af8e refactor: move test case info alert into testcase section 2026-05-19 04:20:16 -06:00