feat(teacher): 题库模块(QuestionBank)

工作内容

- 新增 /teacher/questions 页面,支持 Suspense/空状态/加载态

- 题库 CRUD Server Actions:创建/更新/递归删除子题,变更后 revalidatePath

- getQuestions 支持 q/type/difficulty/knowledgePointId 筛选与分页返回 meta

- UI:表格列/筛选器/创建编辑弹窗,content JSON 兼容组卷

- 更新中文设计文档:docs/design/004_question_bank_implementation.md
This commit is contained in:
SpecialX
2025-12-30 19:04:22 +08:00
parent f7ff018490
commit f8e39f518d
12 changed files with 680 additions and 325 deletions

View File

@@ -42,11 +42,7 @@ export default async function BuildExamPage({ params }: { params: Promise<{ id:
image: q.author.image || null,
}
: null,
knowledgePoints:
q.questionsToKnowledgePoints?.map((kp) => ({
id: kp.knowledgePoint.id,
name: kp.knowledgePoint.name,
})) ?? [],
knowledgePoints: q.knowledgePoints ?? [],
})
const questionOptionsById = new Map<string, Question>()