feat: 新增题目导入服务并优化用户端答题流程

- 新增 question-importer 服务,支持从 JSON 文件批量导入题目到题库
- 重构用户端答题流程,整合抽题、答题、结果分析页面状态管理
- 将题目分类从 UI 模板类型切换为业务分类(question_category_name)
- 在题库管理页面支持题目批量选择和删除功能
- 优化用户端组别选择,增加“已结束”状态提示和禁用逻辑
- 修复题目新增/更新 API 请求参数格式问题
- 为富文本编辑器配置排除不必要的工具栏按键
This commit is contained in:
2026-02-11 17:27:08 +08:00
parent 61a7412fc1
commit f3136cd9ad
34 changed files with 4154 additions and 225 deletions

View File

@ -57,7 +57,15 @@ export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryP
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/AddQuestionListDetail',
method: 'post',
params: {
// params: {
// QuestionId: params.questionId,
// Name: params.name,
// Answer: params.answer,
// Type: params.type,
// IsGood: params.IsGood,
// ImageUrl: params.imageUrl,
// },
data: {
QuestionId: params.questionId,
Name: params.name,
Answer: params.answer,
@ -65,7 +73,6 @@ export function fetchAddQuestionLibrary(params: Api.Question.AddQuestionLibraryP
IsGood: params.IsGood,
ImageUrl: params.imageUrl,
},
data: formData,
})
}
@ -78,7 +85,16 @@ export function fetchUpdateQuestionLibrary(params: Api.Question.AddQuestionLibra
return request<Api.Question.CommonRecord>({
url: '/Base/ActivityMain/UpdateQuestionListDetail',
method: 'post',
params: {
// params: {
// Id: params.id,
// QuestionId: params.questionId,
// Name: params.name,
// Answer: params.answer,
// Type: params.type,
// IsGood: params.IsGood,
// ImageUrl: params.imageUrl,
// },
data: {
Id: params.id,
QuestionId: params.questionId,
Name: params.name,
@ -87,7 +103,6 @@ export function fetchUpdateQuestionLibrary(params: Api.Question.AddQuestionLibra
IsGood: params.IsGood,
ImageUrl: params.imageUrl,
},
data: formData,
})
}