d16e3dddb8
feat(reaction): 前端表情常量、类型与 API
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-06 03:19:39 -06:00
8a46bae27d
feat(admin): 班级号位数校验,规则收敛到 constants
...
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
后端现在会拒绝位数不对的班级号,前端提前拦一道并给出明确提示。
- generate.vue 导入前校验班级号范围
- config.vue 校验班级列表每一项,输入框下方补说明
- 位数规则收敛到 utils/constants 的 CLASS_NAME_* 常量,
三个使用方都改为引用
顺带两处修正:
- config.vue 和 list.vue 的保存都没有 try/catch。http 拦截器只对
login-required / permission-denied 自动弹提示,其余业务错误不接住
就什么都不显示,连"用户名已存在"这类老错误也是静默的
- ButtonWithSearch 原来用 startsWith("ks") 决定显不显示按班级筛选,
kstest 这类账号会显示按钮但点了没反应;改用同一个正则判断
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-06 00:15:52 -06:00
e777a94568
refactor(admin): 去掉 two_factor_auth 残留
...
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
后端已删除该 model 字段,2FA 功能整体移除。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-05 23:00:48 -06:00
4b796650ff
fix(achievement): 拉开青铜和黄金的配色
...
青铜和黄金原来都落在橙棕区(色相 30 / 44),扫一眼分不出来。
青铜往红铜偏、黄金往纯黄推,边框色和明暗两套文字色一起调整,
对比度全部保持 4.5:1 以上。顺带修浅色模式白金只有 4.10:1。
2026-08-05 13:52:58 -06:00
0d7336bce8
refactor(achievement): 稀有度配色收进 constants,文字色适配浅色模式
...
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
四份重复的 RARITY_COLOR / RARITY_LABEL 合并到 utils/constants。
拆成两套:边框色块继续用饱和的原色,文字改走 useRarityColor,
按明暗主题切换,两套都压到 4.5:1 以上——原色是照深色底调的,
白底上白金只有 1.7:1、黄金 2.2:1,卡片上的稀有度 tag 看不清。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-05 11:24:04 -06:00
4ae25b09c0
perf: skulpt 改为按需加载,client-zip 换成 fflate
...
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
skulpt 此前被 SubmitCode.vue 静态引用,945K 的 chunk 落在做题页首屏,
学生打开任何一道题都要下 233KB gzip,只为提交时拿一个语法错误行号。
改成 import() 懒加载并在语言切到 Python3 时预取,加载失败放行提交、
交给后端判题兜底。构建产物确认该 chunk 只剩一处 import() 引用,
index.html 不再引用。
client-zip 的能力 fflate 已经覆盖(utils/functions.ts 本就在用 zlibSync),
新增 createZipBlob 统一两处测试用例打包,删掉该依赖。压缩方式由 store
变为 deflate,Python zipfile 透明解压,后端不受影响。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-05 09:11:58 -06:00
15aaec4384
feat(admin): 标签管理与批量打标签的 API 封装
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-05 04:23:17 -06:00
7e498a1c1c
fix(achievement): 弹窗队列区分成就与题单奖章的 id 空间
...
两者的 id 来自不同的表、数值会重叠,却共用同一个队列:
- 去重只按 id,队列里有奖章 5 时成就 5 会被当成重复项丢掉
- 弹完奖章后调 markAchievementsRead(奖章id),后端按成就 id 解释,
把同号且未弹过的成就静默标记为已弹,那个奖杯再也不会出现
载荷里本来就有 kind 字段,前端此前完全忽略。现在去重按 kind:id,
标记已读跳过奖章,弹窗标题也按类型区分。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-04 07:22:42 -06:00
71186f0ca5
feat(achievement): 添加成就 API 层与类型,修复 WebSocket 消息分流
2026-08-04 05:24:13 -06:00
07bbbce013
feat(user): store 层加入演示模式伪装开关
...
超管开启后所有角色 getter 降级为普通学生,全站权限判断自动跟随。
realIsSuperAdmin 保留真实身份,用于判断能否切换。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-07-26 07:47:27 -06:00
527127d9c7
fix
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
e7a621075c
移除 OI 残留:前端 Profile / Rank 去掉 oi_problems_status / total_score
...
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
配合后端删除 UserProfile 的 OI 字段:
- Profile、Rank 类型移除 oi_problems_status、total_score
- 用户主页 AC 列表只用 acm_problems_status,去掉 oi 合并
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-04 11:43:11 -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
aa212427ba
feat: SQL 题展示数据表与期望结果
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-03 01:26:16 -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
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
f9d7c2ff92
update
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
cd81fd1e10
fix
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-02 23:13:10 -06:00
a02e6df604
feat: open stuck problems and AC trend routes to Teacher Admin
...
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 Opus 4.6 <noreply@anthropic.com >
2026-06-02 18:17:32 -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
cb7743367a
remove contest type
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
714e07d514
update
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:19:39 -06:00
bf69a355fe
update
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
fb2bd8981b
fix
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:28:00 -06:00
3a33c8ff3a
update
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:24:56 -06:00
18fc65f2ce
feat: add AST_CHECK_FAILED status and update result display
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-25 20:47:46 -06:00
eee7c63f97
fix
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-24 21:12:58 -06:00
6403b69294
update
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
5984aa715d
fix
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 18:36:34 -06:00
4d78bf990f
update
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-07 07:52:55 -06:00
21a3ff322b
feat: update ExerciseMcqData.answer type to number[]
2026-04-24 02:00:38 -06:00
30f71c5db2
add fills
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-04-23 13:48:36 -06:00
6331391792
feat: add interactive MCQ and code-sort exercise widgets to tutorial lessons
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 01:52:20 -06:00
82210ac3e1
update
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-04-12 06:17:06 -06:00
e26dd1ab30
add flowchart
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-04-12 06:00:32 -06:00
8be95b4c85
add end_time
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-03-16 23:44:41 +08:00
315729d7e8
fix
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-03-09 21:07:59 +08:00
9029e29148
feat: add teaching enhancement features
...
1. AI personalized hints after 3 failures (streaming SSE)
2. Submission error distribution panel in "my submissions" tab
3. Similar problem recommendations on AC or 3+ failures
4. Admin stuck problems analysis page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 21:12:47 +08:00
fa511e39e0
add today
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-03-02 19:40:27 +08:00
1121631a13
fix
Deploy / deploy (push) Has been cancelled
2026-01-18 21:11:08 +08:00
2e897baa45
一天只能弹出一次
Deploy / deploy (push) Has been cancelled
2026-01-18 20:56:28 +08:00
078e643987
add class pk
Deploy / deploy (push) Has been cancelled
2026-01-03 21:52:09 +08:00
ff95558864
update
Deploy / deploy (push) Has been cancelled
2025-12-26 15:32:39 +08:00
d6d7048ddd
update
Deploy / deploy (push) Has been cancelled
2025-12-26 15:14:15 +08:00
bd42a8eb80
恶搞
Deploy / deploy (push) Has been cancelled
2025-12-26 15:05:56 +08:00
fe2411083f
update
Deploy / deploy (push) Has been cancelled
2025-10-27 17:33:11 +08:00
df24bf7f54
update
Deploy / deploy (push) Has been cancelled
2025-10-23 23:20:00 +08:00
0a31cc3d2f
update
Deploy / deploy (push) Has been cancelled
2025-10-23 16:12:42 +08:00
42ce9ac63b
update
Deploy / deploy (push) Has been cancelled
2025-10-23 12:42:32 +08:00
9e7fbd8ff2
update
Deploy / deploy (push) Has been cancelled
2025-10-23 10:54:55 +08:00