feat(抽奖活动页): 修复抽奖问题

This commit is contained in:
hzj 2025-10-22 19:58:39 +08:00
parent caef58fa15
commit 44658c262b

View File

@ -868,9 +868,6 @@ const barrageList = ref([
// //
const activity = ref({}) const activity = ref({})
// (8)
const prizes = ref([])
const userInfo = ref({}) // const userInfo = ref({}) //
const userIdentity = ref({}) // const userIdentity = ref({}) //
@ -1060,6 +1057,8 @@ const getGridPosition = (index) => {
// //
const startLottery = (resultIndex) => { const startLottery = (resultIndex) => {
console.log('开始抽奖动画')
return new Promise((resolve) => { return new Promise((resolve) => {
activeIndex.value = -1 activeIndex.value = -1
@ -1069,14 +1068,15 @@ const startLottery = (resultIndex) => {
let totalCycles = 1 // 2 let totalCycles = 1 // 2
const roll = () => { const roll = () => {
activeIndex.value = (activeIndex.value + 1) % prizes.value.length activeIndex.value = (activeIndex.value + 1) % activity.value.prizeList.length
console.log('当前索引:', activeIndex.value)
if (activeIndex.value === resultIndex && speed > 200) { if (activeIndex.value === resultIndex && speed > 200) {
setTimeout(() => { setTimeout(() => {
resolve() // resolve() //
}, 500) }, 500)
} else { } else {
if (activeIndex.value === prizes.value.length - 1) { if (activeIndex.value === activity.value.prizeList.length - 1) {
currentCycle++ currentCycle++
} }
// //
@ -1084,7 +1084,7 @@ const startLottery = (resultIndex) => {
speed -= 20 speed -= 20
} else { } else {
// //
if (activeIndex.value === prizes.value.length - 1) { if (activeIndex.value === activity.value.prizeList.length - 1) {
constantSpeedCycle++ constantSpeedCycle++
} }
if (constantSpeedCycle > 2) { if (constantSpeedCycle > 2) {
@ -1110,6 +1110,7 @@ const sweepstakes = async (consecutive) => {
activityId: activity.value.activity.id, activityId: activity.value.activity.id,
drawCount: consecutive, drawCount: consecutive,
} }
try {
// //
if (consecutive == 1) { if (consecutive == 1) {
const resOnceDraw = await onceDraw(data) const resOnceDraw = await onceDraw(data)
@ -1142,6 +1143,9 @@ const sweepstakes = async (consecutive) => {
getTickets() // getTickets() //
resultShow.value = true resultShow.value = true
isRolling.value = false isRolling.value = false
} catch (error) {
isRolling.value = false
}
} }
} }