feat(admin): 新增用户排行榜功能并优化活动流程

- 新增用户排行榜页面和待发布页面,支持查看和发布排行榜
- 新增排行榜相关API接口,包括获取活动排行列表、修改队伍分数、发布排名和获取用户排名列表
- 新增RankPublishStatus枚举,用于管理排行榜发布状态
- 在活动卡片中新增结束活动按钮,点击后调用结束活动接口并生成排行榜数据
- 优化用户活动首页,只显示已发布和处理中的活动
- 调整游戏页面定时刷新间隔从2秒改为3秒,优化性能
- 修复排行榜详情页分数输入最大值限制问题
- 清理未使用的代码文件,移除results-detail-copy相关组件和路由
- 更新路由配置和类型定义,支持新的排行榜页面
This commit is contained in:
2026-03-09 08:37:32 +08:00
parent e8cd6732d7
commit 8469e16638
28 changed files with 627 additions and 502 deletions

View File

@ -23,3 +23,40 @@ export function fetchTeamQuestionScore(TeamID: number) {
method: 'get',
})
}
/** 获取活动排行列表 */
export function fetchActivityRankList(PageIndex: number, PageSize: number = 10) {
return request<App.Service.Response<Api.Rank.ActivityRankList>>({
url: `/Base/ActivityMain/GetActivity_Main_TotalPager?PageIndex=${PageIndex}&PageSizes=${PageSize}`,
method: 'get',
})
}
/** 修改排名的队伍分数 */
export function updateTeamScore(data: Api.Rank.UpdateTeamScoreParams[], activityId: number) {
return request<App.Service.Response>({
url: `/Base/ActivityMain/UpdateTeamQuestionResultRecore/?ActivityID=${activityId}`,
method: 'post',
data,
})
}
/** 发布排名,更新状态 */
export function publishRank(Id: number, Status = 1) {
return request<App.Service.Response>({
url: `/Base/ActivityMain/UpdateResultRecoreStatus`,
method: 'post',
data: {
Id,
Status,
},
})
}
/** 获取用户排名列表 */
export function fetchUserRankList(MainID: number, RoundType: number = 0) {
return request<App.Service.Response<Api.Rank.ActivityRankResList>>({
url: `/Base/ActivityMain/GetTeamsTotalList?MainID=${MainID}&RoundType=${RoundType}`,
method: 'get',
})
}

View File

@ -17,3 +17,12 @@ export function updateScore(data: { Id: number, ResultPotins: number, QuestionDe
data,
})
}
/** 结束活动时候调用 */
export function endActivity(ActivityID: number) {
return request<App.Service.Response>({
url: `/Base/ActivityMain/AddOrUpdateActivity_Main_Total?ActivityID=${ActivityID}`,
method: 'post',
data: { ActivityID },
})
}