This commit is contained in:
yixu
2025-09-12 22:20:39 +08:00
parent e3783c5f0a
commit 7d65fd2a3a
17 changed files with 605 additions and 730 deletions

View File

@@ -13,14 +13,12 @@ defineProps({
})
const isMusicOn = ref(false);
const audioElement = ref(null);
const drawChances = ref(0);
const gameChances = ref(0);
onMounted(() => {
initUserGameInfos(true, true);
// 创建音频
audioElement.value = new Audio(faceFamily);
// 尝试自动播放
tryAutoPlay();
//TODO 判断登录之后获取浏览器参数fromid, mergeid
})
// 尝试自动播放
@@ -67,16 +65,14 @@ const handleRule = () => {
}
const handleLottery = () => {
globalToastEvent.emit(ToastType.SHOW_LOTTERY)
if (drawChances.value <= 0) return;
drawChances.value -= 1;
globalStore.draw_chances = drawChances.value
if (globalStore.draw_chances <= 0) return;
globalStore.reducerDrawChances();
}
const router = useRouter();
const navigateSelectTemplatePage = () => {
if (gameChances.value <= 0) return;
gameChances.value -= 1;
globalStore.game_chances = gameChances.value
if (globalStore.game_chances <= 0) return;
globalStore.reducerGameChances();
router.push({
name: 'selectTemplateV2'
})
@@ -93,32 +89,21 @@ const showPhotoSquare=()=>{
activeTab.value='photo-square',
isPhotoSquareVisible.value = true;
}
const initUserGameInfos = async (refresh_official, refresh_cap_scan) => {
const result = await Request('game/info', { refresh_official: refresh_official, refresh_cap_scan: refresh_cap_scan }, "GET")
if (result.res.status === 200) {
drawChances.value = result.json.draw_chances
gameChances.value = result.json.game_chances
globalStore.draw_chances = drawChances.value
globalStore.game_chances = gameChances.value
}
}
</script>
<template>
<div :show="show">
<div class="home-wrapper">
<div class="scene-item item-1" @click="handleLottery" :class="{ 'disabled': drawChances <= 0 }">
<div class="scene-item item-1" @click="handleLottery" :class="{ 'disabled': globalStore.draw_chances <= 0 }">
<img src="../assets/images/lottery.png" alt="抽奖">
<div class="lottery-main">
<p class="lottery-value">{{ drawChances }}</p>
<p class="lottery-value">{{ globalStore.draw_chances }}</p>
</div>
</div>
<div class="scene-item item-2" @click="navigateSelectTemplatePage" :class="{ 'disabled': gameChances <= 0 }">
<div class="scene-item item-2" @click="navigateSelectTemplatePage" :class="{ 'disabled': globalStore.game_chances <= 0 }">
<img src="../assets/images/join.png" alt="立即参与">
<div class="join-main">
<p class="join-value">{{ gameChances }}</p>
<p class="join-value">{{ globalStore.game_chances }}</p>
</div>
</div>
<div class="scene-item item-3" @click="navigateTodoList">
@@ -219,7 +204,7 @@ const initUserGameInfos = async (refresh_official, refresh_cap_scan) => {
.join-main {
position: absolute;
top: 3.4vw;
right: 2.4vw;
right: 2.6vw;
width: 7vw;
line-height: 7vw;
text-align: left;