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

@ -28,7 +28,6 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
"question-store": () => import("@/views/question-store/index.vue"),
"rank_rank-detail": () => import("@/views/rank/rank-detail/index.vue"),
"rank_rank-list": () => import("@/views/rank/rank-list/index.vue"),
"results_results-detail-copy": () => import("@/views/results/results-detail-copy/index.vue"),
"results_results-detail": () => import("@/views/results/results-detail/index.vue"),
"results_results-list": () => import("@/views/results/results-list/index.vue"),
"template_template-detail": () => import("@/views/template/template-detail/index.vue"),
@ -40,6 +39,8 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
user_game: () => import("@/views/user/game/index.vue"),
user_groups: () => import("@/views/user/groups/index.vue"),
user_home: () => import("@/views/user/home/index.vue"),
"user_rank-list": () => import("@/views/user/rank-list/index.vue"),
"user_rank-pending": () => import("@/views/user/rank-pending/index.vue"),
user_rules: () => import("@/views/user/rules/index.vue"),
user_teams: () => import("@/views/user/teams/index.vue"),
};

View File

@ -197,16 +197,6 @@ export const generatedRoutes: GeneratedRoute[] = [
hideInMenu: true
}
},
{
name: 'results_results-detail-copy',
path: '/results/results-detail-copy',
component: 'view.results_results-detail-copy',
meta: {
title: 'results_results-detail-copy',
i18nKey: 'route.results_results-detail-copy',
hideInMenu: true
}
},
{
name: 'results_results-list',
path: '/results/results-list',
@ -341,6 +331,24 @@ export const generatedRoutes: GeneratedRoute[] = [
constant: true
}
},
{
name: 'user_rank-list',
path: '/user/rank-list',
component: 'view.user_rank-list',
meta: {
title: 'user_rank-list',
i18nKey: 'route.user_rank-list'
}
},
{
name: 'user_rank-pending',
path: '/user/rank-pending',
component: 'view.user_rank-pending',
meta: {
title: 'user_rank-pending',
i18nKey: 'route.user_rank-pending'
}
},
{
name: 'user_rules',
path: '/user/rules',

View File

@ -180,7 +180,6 @@ const routeMap: RouteMap = {
"rank_rank-list": "/rank/rank-list",
"results": "/results",
"results_results-detail": "/results/results-detail",
"results_results-detail-copy": "/results/results-detail-copy",
"results_results-list": "/results/results-list",
"template": "/template",
"template_template-detail": "/template/template-detail",
@ -193,6 +192,8 @@ const routeMap: RouteMap = {
"user_game": "/user/game",
"user_groups": "/user/groups",
"user_home": "/user/home",
"user_rank-list": "/user/rank-list",
"user_rank-pending": "/user/rank-pending",
"user_rules": "/user/rules",
"user_teams": "/user/teams"
};