更新周边功能

This commit is contained in:
xiaoaojiao
2025-09-09 23:24:51 +08:00
parent 9a5cf53e3c
commit 246edb68ab
15 changed files with 644 additions and 344 deletions

View File

@@ -1,6 +1,7 @@
<script setup>
import { Howl, Howler } from 'howler';
import { onMounted, ref } from "vue"
import { onMounted, ref, watch } from "vue"
import globalToastEvent, { ToastType } from './globalToastEvent';
import { isWeixin, isLogin, getParam, Storage, Request } from "./libs/utils"
import Login from './components/Login.vue'
import HomePage from './components/HomePage.vue'
@@ -8,11 +9,13 @@ import Address from "./components/Address.vue"
import PrizeList from "./components/PrizeList.vue"
import Todolist from "./components/TodoList.vue";
import Rule from "./components/Rule.vue";
import Ad from "./components/Ad.vue"
import Lottery from './components/Lottery.vue';
import SelectTemplate from './components/SelectTemplate.vue'
import GenerateLoading from './components/GenerateLoading.vue'
import SelectTemplateV2 from './components/SelectTemplateV2.vue'
import { globalStore } from "./globalstore";
import { useRouter } from 'vue-router'
import bgmUrl from "./assets/audio/bgm.mp3"
import GenerateImg from './components/GenerateImg.vue';
var bgmSound = new Howl({
@@ -22,7 +25,14 @@ var bgmSound = new Howl({
const loginShow = ref(false)
const homePageShow = ref(false)
const todolistShow = ref(true)
const todolistShow = ref(false)
const prizeListShow = ref(false)
const ruleShow = ref(false)
const prizelist = ref([])
const addressShow = ref(false)
const activePrizeId = ref(0)
const adShow = ref(false)
const lotteryShow = ref(false)
//分享进来
const fromShare = async () => {
@@ -79,7 +89,6 @@ 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) {
globalStore.invitees = result.json.invitees
globalStore.followed_official = result.json.followed_official
globalStore.cap_scan = result.json.cap_scan
@@ -103,13 +112,63 @@ if (isLogin()) {
} else {
userStatus(handleLoginSuccess)
}
const getUserLottery = async () => {
// const result = await Request("lottery", { pool: "all" }, "GET")
// if (result.res.status === 200) {
// prizelist.value = result.json.lottery_logs.length > 0 ? result.json.lottery_logs : []
// }
prizelist.value = [
{ id: 1, prize_code: "FIRST", prize_name: "一等奖", coupon_type: "scene", pushed: 0 },
{ id: 2, prize_code: "FIRST1", prize_name: "二等奖", coupon_type: "scene", pushed: 1 }
]
}
const handleAddressSubmitAfter = (data) => {
const targetItem = prizelist.value.find(item => item.id === data.id)
targetItem.pushed = 1
addressShow.value = false
}
const handleAddress = (id) => {
activePrizeId.value = id
addressShow.value = true
}
globalToastEvent.on(ToastType.SHOW_TODO, () => {
todolistShow.value = true
})
globalToastEvent.on(ToastType.SHOW_PRIZELIST, async () => {
await getUserLottery()
prizeListShow.value = true
})
globalToastEvent.on(ToastType.SHOW_RULE, () => {
ruleShow.value = true
})
globalToastEvent.on(ToastType.SHOW_AD, () => {
adShow.value = true
})
globalToastEvent.on(ToastType.SHOW_LOTTERY, () => {
lotteryShow.value = true
})
globalToastEvent.on(ToastType.SHOW_ADDRESS, (id) => {
activePrizeId.value = id
addressShow.value = true
})
</script>
<template>
<router-view />
<PrizeList :show="prizeListShow" @close="prizeListShow = false" :prizelist="prizelist" @address="handleAddress">
</PrizeList>
<Todolist :show="todolistShow" @close="todolistShow = false"></Todolist>
<Rule :show="ruleShow" @close="ruleShow = false"></Rule>
<Address :show="addressShow" :prizeId="activePrizeId" @address-submit="handleAddressSubmitAfter"
@address-close="addressShow = false"></Address>
<Ad :show="adShow" @close="adShow = false"></Ad>
<Lottery :show="lotteryShow" @close="lotteryShow = false"></Lottery>
<Login :show="loginShow" @login-success="handleLoginSuccess" />
<!-- <HomePage :show="homePageShow" /> -->
<!-- <Todolist /> -->
<!-- <SelectTemplateV2 /> -->
<!-- <GenerateImg /> -->
<!-- <GenerateLoading /> -->