feat(user): 重构用户端竞赛流程,集成后端API并优化交互体验
- 新增 `activityinfo` store 管理活动信息,支持持久化 - 重构 `competition` store,分离数据层与流程控制,新增音效管理 - 新增游戏API模块 (`game.ts`),实现抽题、题目详情、提交结果等接口 - 用户端页面全面对接后端数据:首页轮播展示活动列表,组别/队伍页动态加载,封面页显示题目卡片 - 抽题页改为竹签翻转动画,游戏页集成题目详情与倒计时 - 优化布局组件,支持点击返回首页,统一路由参数传递 - 更新类型定义,支持富文本题目渲染 - 添加 `activityinfo` 拼写检查词条
This commit is contained in:
@ -58,7 +58,7 @@ export function fetchCreateQuestion(data: Api.Competition.CreateQuestionRequest[
|
||||
}
|
||||
|
||||
/** 根据活动ID获取活动题目列表 */
|
||||
export function fetchGetQuestionList(id: number) {
|
||||
export function fetchGetQuestionList(id: string) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListRecord[]>>({
|
||||
url: `/Base/ActivityMain/GetActivity_QuestionByActivityID?ID=${id}`,
|
||||
method: 'get',
|
||||
|
||||
50
apps/admin/src/service/api/game.ts
Normal file
50
apps/admin/src/service/api/game.ts
Normal file
@ -0,0 +1,50 @@
|
||||
import { request } from '../request'
|
||||
|
||||
/**
|
||||
* 游戏相关接口 步骤
|
||||
* 1.GetQuestionByActivityIDAndStatus 抽题时候获取题目大纲信息
|
||||
* 2.GetQuestionListDetailRound 获取抽题目详情
|
||||
* 3.fetchSubmitQuestionResult点击开始答题后,把基础信息数据传给service
|
||||
*/
|
||||
|
||||
/** 抽题时候获取题目大纲信息 */
|
||||
export function fetchGetQuestionOutline(ActivityID: number, status: number = 0) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListRecord[]>>({
|
||||
url: `/Base/ActivityMain/GetQuestionByActivityIDAndStatus/?ActivityID=${ActivityID}&status=${status}`,
|
||||
method: 'post',
|
||||
data: {
|
||||
ActivityID,
|
||||
status,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/** 抽题目详情 */
|
||||
export function fetchGetQuestionDetail(ActivityID: string, questionID: number) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListDetailRound>>({
|
||||
url: `/Base/ActivityMain/GetQuestionListDetailRound/?MainID=${ActivityID}&questionID=${questionID}`,
|
||||
method: 'post',
|
||||
data: {
|
||||
MainID: ActivityID,
|
||||
questionID,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/** 提交抽题结果 */
|
||||
export function fetchSubmitQuestionResult(data: Api.Competition.QuestionAddParams) {
|
||||
return request<App.Service.Response<Api.Competition.QuestionListDetailRound>>({
|
||||
url: `/Base/ActivityMain/AddActivity_TeamQuestionUse/?RoomID=${data.RoomID}&MainID=${data.MainID}&TeamGroupID=${data.TeamGroupID}&QuestionID=${data.QuestionID}&QuestionDetaiID=${data.QuestionDetaiID}`,
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
/** 获取游戏现场统计结果 */
|
||||
export function fetchGetGameStatistics(data: Api.Competition.QuestionAddParams) {
|
||||
return request<App.Service.Response>({
|
||||
url: `/Base/ActivityMain/GetTeamQuestionUseByTeamGroupIDAndQuestionID/?RoomID=${data.RoomID}&MainID=${data.MainID}&TeamGroupID=${data.TeamGroupID}&QuestionID=${data.QuestionID}&QuestionDetaiID=${data.QuestionDetaiID}`,
|
||||
method: 'post',
|
||||
data,
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user