From 69b7b212467e648aad2deb346ea5584e7bf4da79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E9=9A=BD=E9=9C=96?= <1289375846@qq.com> Date: Sat, 12 Oct 2024 09:41:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B9=B8=E8=BF=90?= =?UTF-8?q?=E6=8A=BD=E5=A5=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front-end/package.json | 1 + front-end/pnpm-lock.yaml | 8 + front-end/src/router/index.js | 4 + front-end/src/views/rating/RatingPage.vue | 17 +- front-end/src/views/roll/BallRacePage.vue | 411 ++++++++++++++++++++++ 5 files changed, 439 insertions(+), 2 deletions(-) create mode 100644 front-end/src/views/roll/BallRacePage.vue diff --git a/front-end/package.json b/front-end/package.json index 65a2b41..da6d13a 100644 --- a/front-end/package.json +++ b/front-end/package.json @@ -21,6 +21,7 @@ "dependencies": { "axios": "^1.7.7", "element-plus": "^2.8.4", + "matter-js": "^0.20.0", "mockjs": "^1.1.0", "pinia": "^2.1.7", "vue": "^3.4.29", diff --git a/front-end/pnpm-lock.yaml b/front-end/pnpm-lock.yaml index c620c3a..bbd1150 100644 --- a/front-end/pnpm-lock.yaml +++ b/front-end/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: element-plus: specifier: ^2.8.4 version: 2.8.4(vue@3.5.11) + matter-js: + specifier: ^0.20.0 + version: 0.20.0 mockjs: specifier: ^1.1.0 version: 1.1.0 @@ -1173,6 +1176,9 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + matter-js@0.20.0: + resolution: {integrity: sha512-iC9fYR7zVT3HppNnsFsp9XOoQdQN2tUyfaKg4CHLH8bN+j6GT4Gw7IH2rP0tflAebrHFw730RR3DkVSZRX8hwA==} + memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} @@ -2843,6 +2849,8 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + matter-js@0.20.0: {} + memoize-one@6.0.0: {} merge-stream@2.0.0: {} diff --git a/front-end/src/router/index.js b/front-end/src/router/index.js index 387085b..a913576 100644 --- a/front-end/src/router/index.js +++ b/front-end/src/router/index.js @@ -14,6 +14,10 @@ const router = createRouter({ { path: '/rating', component: () => import('@/views/rating/RatingPage.vue') + }, + { + path: '/ball-race', + component: () => import('@/views/roll/BallRacePage.vue') } ] }) diff --git a/front-end/src/views/rating/RatingPage.vue b/front-end/src/views/rating/RatingPage.vue index 7dc602f..e3063e3 100644 --- a/front-end/src/views/rating/RatingPage.vue +++ b/front-end/src/views/rating/RatingPage.vue @@ -31,13 +31,21 @@ @change="updateScore" /> + +
+

你答得太好了!触发了一次幸运抽奖

+ + 开始幸运抽奖 + +
+ - 再抽一次 + 再抽一个人 @@ -88,7 +96,7 @@ const handleYesClick = () => { // 评分变化时更新 studentScore,并累加评分 const updateScore = (value) => { // 累加评分到传递过来的 studentScore 上 - studentScore.value += value + studentScore.value += value * 2 // 评分完成后禁用星星评分 isRatingDisabled.value = true @@ -151,6 +159,11 @@ const updateScoreMinus = () => { const goToRollCall = () => { router.push('/roll-call') // 路由跳转到 /roll-call } +// 触发幸运抽奖 +const triggerLuckyDraw = () => { + console.log('触发幸运抽奖') + router.push('/ball-race') +}