feat(提交列表): 老师也能重新判题;列表能按班级、一次按几道题筛,还带「通过几个测试点」
- 重新判题从只放超管改成老师及以上:前端一直给老师亮着按钮,点了只会「权限不足」 - /submissions、/flowcharts 加 className(user.class_name 精确匹配),题号可以一次填几道 - 列表每行带 caseSummary,口径和详情一致,在库里数完只回两个数 - 新增 GET /classroom/lesson:提交列表「这节课」按钮用,班级和题的取法同课堂看板 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b76a35b5f2
commit
ea480d5e0c
12 files changed
+151
-425
No files matched your search
@@ -5,6 +5,7 @@ import {
|
||||
type ClassActivity,
|
||||
type ClassBoard,
|
||||
type ClassBoardStudent,
|
||||
type ClassLesson,
|
||||
type ClassActivityProblem,
|
||||
type ClassComparison,
|
||||
type ClassComparisonResponse,
|
||||
@@ -671,6 +672,22 @@ classroomRoutes.get("/classroom/board", requireTeacher, async (c) => {
|
||||
* 有对不上的题号就整个拒掉并点名是哪几个,免得存下半张单子老师还不知道。空数组 = 清掉,
|
||||
* 学生那边退回推断。
|
||||
*/
|
||||
classroomRoutes.get("/classroom/lesson", requireTeacher, async (c) => {
|
||||
const className = c.req.query("className")?.trim() || (await suggestActiveClass())
|
||||
if (!className)
|
||||
return success(c, { className: null, source: null, problems: [] } satisfies ClassLesson)
|
||||
// 和看板一样只回看今天:「这节课」不该冒出昨天的题
|
||||
const lesson = await classLessonProblems(className, 1)
|
||||
return success(c, {
|
||||
className,
|
||||
source: lesson.source,
|
||||
problems: lesson.problems.map((problem) => ({
|
||||
problemDisplayId: problem.displayId,
|
||||
title: problem.title,
|
||||
})),
|
||||
} satisfies ClassLesson)
|
||||
})
|
||||
|
||||
classroomRoutes.put("/classroom/lesson", requireTeacher, async (c) => {
|
||||
const parsed = await parseBody(c, classLessonRequestSchema, "题号格式不对")
|
||||
if (!parsed.success) return parsed.response
|
||||
|
||||
Reference in new issue
Block a user