init: laimiao-web-new
This commit is contained in:
commit
c226cf7054
122 files changed
+18458
No files matched your search
@@ -0,0 +1,53 @@
|
||||
<script setup lang="ts">
|
||||
import { onMounted, onUnmounted, ref } from 'vue'
|
||||
import RechargeDialog from '../components/RechargeDialog.vue'
|
||||
import ScoreDetailDialog from '../components/ScoreDetailDialog.vue'
|
||||
import { getMyTeam } from '../utils/teamApi'
|
||||
|
||||
const rechargeOpen = ref(false)
|
||||
const scoreDetailOpen = ref(false)
|
||||
const teamId = ref(localStorage.getItem('team_id') || '')
|
||||
const teamScore = ref(Number(localStorage.getItem('team_score') || 0))
|
||||
|
||||
async function syncTeam(): Promise<void> {
|
||||
const team = await getMyTeam()
|
||||
if (!team) return
|
||||
teamId.value = String(team.team_id)
|
||||
teamScore.value = team.score ?? 0
|
||||
window.dispatchEvent(new CustomEvent('laimiao:team-updated', { detail: { score: teamScore.value } }))
|
||||
}
|
||||
|
||||
function openRecharge(): void {
|
||||
void syncTeam()
|
||||
rechargeOpen.value = true
|
||||
}
|
||||
|
||||
function openScoreDetail(): void {
|
||||
void syncTeam()
|
||||
scoreDetailOpen.value = true
|
||||
}
|
||||
|
||||
function handlePaymentSuccess(): void {
|
||||
void syncTeam()
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
window.addEventListener('laimiao:open-recharge', openRecharge)
|
||||
window.addEventListener('laimiao:open-score-detail', openScoreDetail)
|
||||
})
|
||||
|
||||
onUnmounted(() => {
|
||||
window.removeEventListener('laimiao:open-recharge', openRecharge)
|
||||
window.removeEventListener('laimiao:open-score-detail', openScoreDetail)
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<RechargeDialog
|
||||
v-model:isOpen="rechargeOpen"
|
||||
:team-id="teamId"
|
||||
vip-type="laimiao"
|
||||
@payment-success="handlePaymentSuccess"
|
||||
/>
|
||||
<ScoreDetailDialog v-model:isOpen="scoreDetailOpen" :team-id="teamId" :team-score="teamScore" />
|
||||
</template>
|
||||
Reference in new issue
Block a user