This commit is contained in:
2023-09-01 23:01:53 +08:00
parent eaae975626
commit 88e96df20c
8 changed files with 203 additions and 138 deletions

View File

@@ -2,110 +2,113 @@
<view class="index">
<!-- 公告 -->
<view class="subColor tips"></view>
<!-- 用户信息 -->
<view class="subColor userInfo">
<view class="left">
<image :src="userInfo.avatarUrl"></image>
<view class="userText">
<view class="userName">{{ userInfo.nickName || '用户' }}</view>
<view class="userScore">积分: {{ userInfo.integral || 0 }}</view>
<scroll-view style="height: 100vh" scroll-y>
<!-- 用户信息 -->
<view class="subColor userInfo">
<view class="left">
<image :src="userInfo.avatarUrl"></image>
<view class="userText">
<view class="userName">{{ userInfo.nickName || '用户' }}</view>
<view class="userScore">积分: {{ userInfo.integral || 0 }}</view>
</view>
</view>
<view class="right">
<view class="icon"></view>
<view class="bean">{{ userInfo.pulse || 0 }}</view>
</view>
</view>
<view class="right">
<view class="icon"></view>
<view class="bean">{{ userInfo.pulse || 0 }}</view>
<!-- 游戏信息 -->
<view class="subColor gameInfo">
<view class="left">
<image src="../../../static/tx.png"></image>
<view class="game_box">
<view class="gameName">{{ kJData[0]?.Periods || 0 }}期开奖</view>
<view class="lottery">
<text class="text">{{ kJData[0]?.Start || 0 }}</text>
<text class="text">{{ kJData[0]?.End || 0 }}</text>
<!-- <text class="text">6</text>-->
</view>
</view>
</view>
<view class="center">
<view>剩余{{ time }}s开奖</view>
</view>
<view class="right">
<view class="btn" @click="toPage(1)">开奖记录</view>
<view class="btn mt-15" @click="toPage(2)">投注记录</view>
</view>
</view>
</view>
<!-- 游戏信息 -->
<view class="subColor gameInfo">
<view class="left">
<image src="../../../static/tx.png"></image>
<view class="game_box">
<view class="gameName">{{ kJData[0]?.Periods || 0 }}期开奖</view>
<view class="lottery">
<text class="text">{{ kJData[0]?.Start || 0 }}</text>
<text class="text">{{ kJData[0]?.End || 0 }}</text>
<!-- <text class="text">6</text>-->
<!-- 选项区 -->
<view class="opt">
<view class="subColor item" :class="{flicker: item.flicker}" v-for="item in odds" :key="item.id"
@click.stop="addNum(item)">
<view class="name">{{ item.name }}</view>
<view class="odd">{{ item.odds }}</view>
<view class="mask" v-if="item.status">
<view class="text">{{ item.markNum }}</view>
</view>
</view>
</view>
<view class="right">
<view class="btn" @click="toPage(1)">开奖记录</view>
<view class="btn mt-15" @click="toPage(2)">投注记录</view>
</view>
</view>
<!-- 选项区 -->
<view class="opt">
<view class="subColor item" :class="{flicker: item.flicker}" v-for="item in odds" :key="item.id"
@click.stop="addNum(item)">
<view class="name">{{ item.name }}</view>
<view class="odd">{{ item.odds }}</view>
<view class="mask" v-if="item.status">
<view class="text">{{ item.markNum }}</view>
</view>
</view>
</view>
<view style="height: 8px"></view>
<view class="opt1" v-if="odds1.length > 0">
<view>
<view class="subColor item" :class="{flicker: odds1[0].flicker}" @click.stop="addNum(odds1[0])">
<view class="name">{{ odds1[0].name }}</view>
<view class="odd">{{ odds1[0].odds }}</view>
<view class="mask" v-if="odds1[0].status">
<view class="text">{{ odds1[0].markNum }}</view>
<view class="opt1" v-if="odds1.length > 0">
<view class="optt">
<view class="subColor item" :class="{flicker: odds1[0].flicker}" @click.stop="addNum(odds1[0])">
<view class="name">{{ odds1[0].name }}</view>
<view class="odd">{{ odds1[0].odds }}</view>
<view class="mask" v-if="odds1[0].status">
<view class="text">{{ odds1[0].markNum }}</view>
</view>
</view>
<view class="subColor item" :class="{flicker: odds1[1].flicker}" @click.stop="addNum(odds1[1])">
<view class="name">{{ odds1[1].name }}</view>
<view class="odd">{{ odds1[1].odds }}</view>
<view class="mask" v-if="odds1[1].status">
<view class="text">{{ odds1[1].markNum }}</view>
</view>
</view>
</view>
<view class="subColor item" :class="{flicker: odds1[1].flicker}" @click.stop="addNum(odds1[1])">
<view class="name">{{ odds1[1].name }}</view>
<view class="odd">{{ odds1[1].odds }}</view>
<view class="mask" v-if="odds1[1].status">
<view class="text">{{ odds1[1].markNum }}</view>
<view class="base">
<view class="qz">
<view :class="{ activeQz: isExpanding }">
{{ qzTitle }}
</view>
</view>
<view class="expanding-div" v-if="isShow">{{ nowKJInfo.Start }} - {{ nowKJInfo.End }}</view>
</view>
<view class="optt">
<view class="subColor item" :class="{flicker: odds1[2].flicker}" @click.stop="addNum(odds1[2])">
<view class="name">{{ odds1[2].name }}</view>
<view class="odd">{{ odds1[2].odds }}</view>
<view class="mask" v-if="odds1[2].status">
<view class="text">{{ odds1[2].markNum }}</view>
</view>
</view>
<view class="subColor item" :class="{flicker: odds1[3].flicker}" @click.stop="addNum(odds1[3])">
<view class="name">{{ odds1[3].name }}</view>
<view class="odd">{{ odds1[3].odds }}</view>
<view class="mask" v-if="odds1[3].status">
<view class="text">{{ odds1[3].markNum }}</view>
</view>
</view>
</view>
</view>
<view class="base">
<view class="qz">
<view :class="{ activeQz: isExpanding }">
{{ qzTitle }}
</view>
</view>
<view class="expanding-div" v-if="isShow">{{ nowKJInfo.Start }} - {{ nowKJInfo.End }}</view>
</view>
<view>
<view class="subColor item" :class="{flicker: odds1[2].flicker}" @click.stop="addNum(odds1[2])">
<view class="name">{{ odds1[2].name }}</view>
<view class="odd">{{ odds1[2].odds }}</view>
<view class="mask" v-if="odds1[2].status">
<view class="text">{{ odds1[2].markNum }}</view>
</view>
</view>
<view class="subColor item" :class="{flicker: odds1[3].flicker}" @click.stop="addNum(odds1[3])">
<view class="name">{{ odds1[3].name }}</view>
<view class="odd">{{ odds1[3].odds }}</view>
<view class="mask" v-if="odds1[3].status">
<view class="text">{{ odds1[3].markNum }}</view>
</view>
</view>
</view>
</view>
<view style="height: 4px"></view>
<view class="opt">
<view
<view class="opt">
<view
class="subColor item"
:class="{flicker: item.flicker}"
style="margin-bottom: 10px"
v-for="item in odds2"
:key="item.id"
@click.stop="addNum(item)"
>
<view class="name">{{ item.name }}</view>
<view class="odd">{{ item.odds }}</view>
<view class="mask" v-if="item.status">
<view class="text">{{ item.markNum }}</view>
>
<view class="name">{{ item.name }}</view>
<view class="odd">{{ item.odds }}</view>
<view class="mask" v-if="item.status">
<view class="text">{{ item.markNum }}</view>
</view>
</view>
<view style="width: 18%;"></view>
</view>
<view style="width: 18%;"></view>
</view>
</scroll-view>
<!-- 底部操作栏 -->
<view class="subColor bottomBar">
<view class="btn1" @click="clearBet">重置</view>
@@ -146,6 +149,8 @@ const odds2 = ref<Odd[]>([])
const qzTitle = ref('请投注')
const time = ref(0)
const nowKJInfo = ref<{
Start?: string
End?: string
@@ -159,7 +164,7 @@ const userInfo = ref<{
avatarUrl?: string
}>({})
const zjObj = ref({})
const zjObj = ref<any>([])
const iMsgNum = ref(0)
@@ -235,6 +240,7 @@ const initWs = () => {
switch (res.code) {
case 200:
let num = Number(res.data)
time.value = num
if (num === 5) {
openDraw()
}
@@ -268,15 +274,12 @@ const initWs = () => {
})
break
case 666:
break
default:
iMsgNum.value++
const newObj = JSON.parse(res.data)
const arr = Object.values(newObj)
// zjObj.value = {
// ...zjObj.value,
// ...newObj
// }
console.log(arr)
if (iMsgNum.value === 19) {
const arr = Object.values(res)
zjObj.value.push(...arr)
if (iMsgNum.value === 3 || zjObj.value.length === 1) {
iMsgNum.value = 0
startFlicker()
}
@@ -314,17 +317,17 @@ const openDraw = () => {
}, 5000)
}
const oddVal = ref(1)
const oddVal = ref(10)
const changeOdd = () => {
switch (oddVal.value) {
case 1:
oddVal.value = 10
break
case 10:
oddVal.value = 100
break
// case 10:
// oddVal.value = 100
// break
case 100:
oddVal.value = 1
oddVal.value = 10
break
}
}
@@ -357,6 +360,12 @@ const addNum = (item: any) => {
// 投注
const verifyBet = () => {
if (isKj.value) return Taro.showToast({
title: '正在开奖,不能下注',
icon: 'none'
})
let numCount = 0
odds.value.forEach((item: any) => {
@@ -424,7 +433,9 @@ const verifyBet = () => {
data: data
}))
getUserInfo()
setTimeout(() => {
getUserInfo()
}, 1000)
qzTitle.value = '已投注'
clearBet()
@@ -448,22 +459,22 @@ const playAminExpand = () => {
// 开始闪烁
const startFlicker = () => {
console.log('开始闪烁', zjObj.value)
flickerItems(odds.value)
flickerItems(odds1.value)
flickerItems(odds2.value)
zjObj.value = []
}
const flickerItems = (items: any[]) => {
items.forEach((item) => {
for (const val in zjObj.value) {
if (item.name === zjObj.value[val]) {
zjObj.value.forEach((item2: any) => {
if (item.name === item2) {
item.flicker = true
setTimeout(() => {
item.flicker = false
}, 3000)
}
}
})
})
}
</script>