feat: 新增题目导入服务并优化用户端答题流程
- 新增 question-importer 服务,支持从 JSON 文件批量导入题目到题库 - 重构用户端答题流程,整合抽题、答题、结果分析页面状态管理 - 将题目分类从 UI 模板类型切换为业务分类(question_category_name) - 在题库管理页面支持题目批量选择和删除功能 - 优化用户端组别选择,增加“已结束”状态提示和禁用逻辑 - 修复题目新增/更新 API 请求参数格式问题 - 为富文本编辑器配置排除不必要的工具栏按键
This commit is contained in:
@ -7,6 +7,14 @@ import { request } from '../request'
|
||||
* 3.fetchSubmitQuestionResult点击开始答题后,把基础信息数据传给service
|
||||
*/
|
||||
|
||||
/** 根据活动id查询分组列表,返回队伍分组id和名称是否已经参赛 */
|
||||
export function fetchGetGroupListByActivityID(id: string, roundType: number = 0) {
|
||||
return request<App.Service.Response<Api.Competition.ActivityTeamGroup[]>>({
|
||||
url: `/Base/ActivityMain/GetActivity_TeamGroupByMainIDAndStatus?ActivityID=${id}&RoundType=${roundType}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
/** 抽题时候获取题目大纲信息 */
|
||||
export function fetchGetQuestionOutline(ActivityID: number, status: number = 0) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListRecord[]>>({
|
||||
@ -48,3 +56,31 @@ export function fetchGetGameStatistics(data: Api.Competition.QuestionAddParams)
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取游戏现场问题 */
|
||||
export function fetchGetCurrentQuestion(data: Api.Competition.GetCurrentQuestionParams) {
|
||||
return request<App.Service.Response<Api.Competition.CurrentQuestionResponse>>({
|
||||
url: `/Base/ActivityMain/GetCurrentQuestion/?ActivityID=${data.ActivityID}&GroupID=${data.GroupID}&RoundType=${data.RoundType}`,
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
/** 定时刷,评委是否评完结果 判断是否可以下一步 */
|
||||
export function fetchCheckNextStep(TeamGroup_QuestionID: number) {
|
||||
return request<App.Service.Response<any>>({
|
||||
url: `/Base/ActivityMain/GetCurrentQuestionUse/?TeamGroup_QuestionID=${TeamGroup_QuestionID}`,
|
||||
method: 'post',
|
||||
data: {
|
||||
TeamGroup_QuestionID,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/** 根据活动id查询题目列表 */
|
||||
export function fetchGetQuestionTableByActivityID(ActivityID: string) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListDetailRound[]>>({
|
||||
url: `/Base/ActivityMain/GetActivity_QuestionTableByActivityID/?ID=${ActivityID}`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
@ -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,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
10
apps/admin/src/service/api/result.ts
Normal file
10
apps/admin/src/service/api/result.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { request } from '../request'
|
||||
|
||||
/** 评委消费题目,表示用了该题目 */
|
||||
export function fetchUpdateCurrentQuestionUse(data: Api.Competition.GetCurrentQuestionParams) {
|
||||
return request<App.Service.Response>({
|
||||
url: `/Base/ActivityMain/UpdateCurrentQuestionUse?ActivityID=${data.ActivityID}&GroupID=${data.GroupID}&RoundType=${data.RoundType}&isUse=${data.isUse}`,
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user