From eabc43826c0039296d23c6a2c5aafca91ef8cf96 Mon Sep 17 00:00:00 2001 From: hzj <1304805162@qq.com> Date: Fri, 5 Dec 2025 18:55:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E6=B4=BB=E5=8A=A8=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2):=20=E5=B9=B8=E8=BF=90=E8=B5=A2=E5=AE=B6=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 6 + src/utils/permissionManager.js | 1 + src/utils/routeGuard.js | 1 + .../LuckyChampion/components/topUser.vue | 190 +++++ src/views/Activities/LuckyChampion/index.vue | 769 ++++++++++++++++++ 5 files changed, 967 insertions(+) create mode 100644 src/views/Activities/LuckyChampion/components/topUser.vue create mode 100644 src/views/Activities/LuckyChampion/index.vue diff --git a/src/router/index.js b/src/router/index.js index d64dc97..0ad30cd 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -353,6 +353,12 @@ const router = createRouter({ component: () => import('../views/Activities/UAE/IndependenceDay/index.vue'), meta: { requiresAuth: true }, }, + { + path: '/lucky-champion', + name: 'lucky-champion', + component: () => import('../views/Activities/LuckyChampion/index.vue'), + meta: { requiresAuth: true }, + }, ], }) diff --git a/src/utils/permissionManager.js b/src/utils/permissionManager.js index 6d21d2a..6147228 100644 --- a/src/utils/permissionManager.js +++ b/src/utils/permissionManager.js @@ -61,6 +61,7 @@ const ACTIVITIES = [ '/Lebanon-independence-day', //黎巴嫩独立日 '/Yemen-independence-day', //也门独立日 '/UAE-independence-day', //阿联酋独立日 + '/lucky-champion', //幸运赢家 ] // 🎯 核心改变:基于身份的权限配置 diff --git a/src/utils/routeGuard.js b/src/utils/routeGuard.js index 155ed78..4d450a2 100644 --- a/src/utils/routeGuard.js +++ b/src/utils/routeGuard.js @@ -412,6 +412,7 @@ class RouteGuard { '/Lebanon-independence-day', //黎巴嫩独立日 '/Yemen-independence-day', //也门独立日 '/UAE-independence-day', //阿联酋独立日 + '/lucky-champion', //幸运赢家 ] const publicPages = [ diff --git a/src/views/Activities/LuckyChampion/components/topUser.vue b/src/views/Activities/LuckyChampion/components/topUser.vue new file mode 100644 index 0000000..56f6384 --- /dev/null +++ b/src/views/Activities/LuckyChampion/components/topUser.vue @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + {{ name }} + + + + + + {{ distributionValue }} + + + + + + + + + + diff --git a/src/views/Activities/LuckyChampion/index.vue b/src/views/Activities/LuckyChampion/index.vue new file mode 100644 index 0000000..d18a7dd --- /dev/null +++ b/src/views/Activities/LuckyChampion/index.vue @@ -0,0 +1,769 @@ + + + + + + + + + + + + + + + + + + + + + {{ Days }}D + + + + + + {{ Hours }} + + + : + + + {{ Minutes }} + + + : + + + {{ Second }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ listItem?.rank }} + + + + + + + + + {{ listItem?.nickname }} + + + ID:{{ listItem?.account }} + + + + + + + + + {{ listItem?.quantity }} + + + + + + + + + + + + + + + + + + handleRewardImageError(e, reward.type)" + /> + + + + {{ showDetail(reward.type, reward) }} + + + + + + + + + + + + + + + + + + + {{ myRanking.rank || 999 }} + + + + + + + + + {{ myRanking.nickname }} + + + + + + + + + {{ myRanking.quantity || 0 }} + + + + + + + + + + + + + + + + + +