This commit is contained in:
@@ -3,13 +3,24 @@
|
|||||||
<!-- 直播区域 -->
|
<!-- 直播区域 -->
|
||||||
|
|
||||||
<view class="danmaku-box">
|
<view class="danmaku-box">
|
||||||
<vue-danmaku ref="danmakuRef" class="danmaku" v-model:danmus="danmus" useSlot :speeds="100">
|
<vue-danmaku
|
||||||
|
ref="danmakuRef"
|
||||||
|
class="danmaku"
|
||||||
|
v-model:danmus="danmus"
|
||||||
|
useSlot
|
||||||
|
:speeds="100"
|
||||||
|
>
|
||||||
<template v-slot:dm="{ danmu }">
|
<template v-slot:dm="{ danmu }">
|
||||||
<view class="flex items-center text-box">
|
<view class="flex items-center text-box">
|
||||||
<image class="w-[45px] h-[45px] mr-[10px] rounded-full" :src="danmu.User.avatarUrl"></image>
|
<image
|
||||||
<text class="text-[#fff] text-[28px]">恭喜{{ danmu.User.nickName }}获得{{ danmu.DrawNum }}积分,价值{{
|
class="w-[45px] h-[45px] mr-[10px] rounded-full"
|
||||||
|
:src="danmu.User.avatarUrl"
|
||||||
|
></image>
|
||||||
|
<text class="text-[#fff] text-[28px]"
|
||||||
|
>恭喜{{ danmu.User.nickName }}获得{{ danmu.DrawNum }}积分,价值{{
|
||||||
danmu.Number
|
danmu.Number
|
||||||
}}</text>
|
}}</text
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</vue-danmaku>
|
</vue-danmaku>
|
||||||
@@ -19,18 +30,27 @@
|
|||||||
<!-- <view id="J_prismPlayer"></view> -->
|
<!-- <view id="J_prismPlayer"></view> -->
|
||||||
<!-- <view class="player" id="mse"></view> -->
|
<!-- <view class="player" id="mse"></view> -->
|
||||||
<!-- 头部 -->
|
<!-- 头部 -->
|
||||||
<view class="z-50 bg-[#EB1313] w-full h-[110px] p-[18px] text-[30px] flex text-white justify-between items-center">
|
<view
|
||||||
|
class="z-50 bg-[#EB1313] w-full h-[110px] p-[18px] text-[30px] flex text-white justify-between items-center"
|
||||||
|
>
|
||||||
<view>积分: {{ user.integral }}</view>
|
<view>积分: {{ user.integral }}</view>
|
||||||
<view class="flex items-center justify-center">
|
<view class="flex items-center justify-center">
|
||||||
<view class="pr-[10px] text-[25px]">
|
<view class="pr-[10px] text-[25px]">
|
||||||
<view>玩</view>
|
<view>玩</view>
|
||||||
<view>法</view>
|
<view>法</view>
|
||||||
</view>
|
</view>
|
||||||
<nut-popover v-model:visible="showSelector" :list="selector" location="bottom" @choose="onChange">
|
<nut-popover
|
||||||
|
v-model:visible="showSelector"
|
||||||
|
:list="selector"
|
||||||
|
location="bottom"
|
||||||
|
@choose="onChange"
|
||||||
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<!-- @click.stop="showSelector = !showSelector" -->
|
<!-- @click.stop="showSelector = !showSelector" -->
|
||||||
<view @click.stop="showSelector = !showSelector"
|
<view
|
||||||
class="w-[200px] h-[70px] pl-2 pr-2 border-2 rounded-md border-white flex items-center justify-center">
|
@click.stop="showSelector = !showSelector"
|
||||||
|
class="w-[200px] h-[70px] pl-2 pr-2 border-2 rounded-md border-white flex items-center justify-center"
|
||||||
|
>
|
||||||
<view>{{ formData.selectorChecked }}</view>
|
<view>{{ formData.selectorChecked }}</view>
|
||||||
<down theme="filled" size="25" fill="#fff" />
|
<down theme="filled" size="25" fill="#fff" />
|
||||||
</view>
|
</view>
|
||||||
@@ -54,42 +74,67 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</nut-popover> -->
|
</nut-popover> -->
|
||||||
<navigator :url="`/pages/bet_record/index?uid=${uid}`" open-type="navigate" hover-class="none"
|
<navigator
|
||||||
class="flex items-center">
|
:url="`/pages/bet_record/index?uid=${uid}`"
|
||||||
|
open-type="navigate"
|
||||||
|
hover-class="none"
|
||||||
|
class="flex items-center"
|
||||||
|
>
|
||||||
<view>投注记录</view>
|
<view>投注记录</view>
|
||||||
<right theme="filled" size="25" fill="#ffffff" />
|
<right theme="filled" size="25" fill="#ffffff" />
|
||||||
</navigator>
|
</navigator>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[25px] font-bold text-[red] text-center mt-[10px] mb-[10px]">当前参与人数: {{ joinNum }}</view>
|
<view
|
||||||
|
class="text-[25px] font-bold text-[red] text-center mt-[10px] mb-[10px]"
|
||||||
|
>当前参与人数: {{ joinNum }}</view
|
||||||
|
>
|
||||||
<!-- 开奖 -->
|
<!-- 开奖 -->
|
||||||
<view class="flex justify-between items-center p-[20px]">
|
<view class="flex justify-between items-center p-[20px]">
|
||||||
|
|
||||||
<view class="text-center relative aft">
|
<view class="text-center relative aft">
|
||||||
|
|
||||||
<view class="text-[28px] text-[#333333]">距{{ pStr }}期截止时间</view>
|
<view class="text-[28px] text-[#333333]">距{{ pStr }}期截止时间</view>
|
||||||
<view class="text-[red] text-[40px]">{{ tStr }}</view>
|
<view class="text-[red] text-[40px]">{{ tStr }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex flex-col items-center popover">
|
<view class="flex flex-col items-center popover">
|
||||||
<nut-popover v-model:visible="showTable" location="bottom" @open="openTable">
|
<nut-popover
|
||||||
|
v-model:visible="showTable"
|
||||||
|
location="bottom"
|
||||||
|
@open="openTable"
|
||||||
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<view class="flex items-center" @click.stop="showTable = !showTable">
|
<view
|
||||||
|
class="flex items-center"
|
||||||
|
@click.stop="showTable = !showTable"
|
||||||
|
>
|
||||||
<text class="text-[#333333] text-[28px]">近期开奖</text>
|
<text class="text-[#333333] text-[28px]">近期开奖</text>
|
||||||
<down class="mr-1" theme="filled" size="25" fill="#333333" />
|
<down class="mr-1" theme="filled" size="25" fill="#333333" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template #content>
|
<template #content>
|
||||||
<nut-table style="width: 900px" :columns="columns" :data="data" striped :bordered="true"></nut-table>
|
<nut-table
|
||||||
|
style="width: 900px"
|
||||||
|
:columns="columns"
|
||||||
|
:data="data"
|
||||||
|
striped
|
||||||
|
:bordered="true"
|
||||||
|
></nut-table>
|
||||||
</template>
|
</template>
|
||||||
</nut-popover>
|
</nut-popover>
|
||||||
<view class="flex">
|
<view class="flex">
|
||||||
<view class="m-[5px] rounded-full w-[44px] h-[44px] text-white text-[28px] text-center leading-[44px]"
|
<view
|
||||||
v-for="(item, index) in numList" :key="index">
|
class="m-[5px] rounded-full w-[44px] h-[44px] text-white text-[28px] text-center leading-[44px]"
|
||||||
|
v-for="(item, index) in numList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
<view v-if="!item.num" class="m-[5px]">
|
<view v-if="!item.num" class="m-[5px]">
|
||||||
<plus-cross theme="filled" size="20" fill="#333333" />
|
<plus-cross theme="filled" size="20" fill="#333333" />
|
||||||
</view>
|
</view>
|
||||||
<view class="rounded-full" :style="{
|
<view
|
||||||
|
class="rounded-full"
|
||||||
|
:style="{
|
||||||
backgroundColor: item.color,
|
backgroundColor: item.color,
|
||||||
}">{{ item.num }}</view>
|
}"
|
||||||
|
>{{ item.num }}</view
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -98,20 +143,30 @@
|
|||||||
<!-- <scroll-view scroll-y class="h-[800px]"> -->
|
<!-- <scroll-view scroll-y class="h-[800px]"> -->
|
||||||
<template v-if="formData.betType !== 2">
|
<template v-if="formData.betType !== 2">
|
||||||
<view class="grid gap-1 grid-cols-4 place-items-center p-[20px]">
|
<view class="grid gap-1 grid-cols-4 place-items-center p-[20px]">
|
||||||
<view v-for="(item, index) in betList" :key="index"
|
<view
|
||||||
|
v-for="(item, index) in betList"
|
||||||
|
:key="index"
|
||||||
class="shadow-md border border-[#E6E6E6] rounded-[10px] w-[150px] mb-[20px] h-[150px] max-[150px] bg-[red] text-center flex justify-center items-center"
|
class="shadow-md border border-[#E6E6E6] rounded-[10px] w-[150px] mb-[20px] h-[150px] max-[150px] bg-[red] text-center flex justify-center items-center"
|
||||||
:class="formData.betIndexs.includes(item.value)
|
:class="
|
||||||
|
formData.betIndexs.includes(item.value)
|
||||||
? 'bg-[#EB1313]'
|
? 'bg-[#EB1313]'
|
||||||
: 'bg-white'
|
: 'bg-white'
|
||||||
" @click="betSelect(item)">
|
"
|
||||||
<view :class="formData.betIndexs.includes(item.value) ? 'text-white' : ''">
|
@click="betSelect(item)"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
:class="formData.betIndexs.includes(item.value) ? 'text-white' : ''"
|
||||||
|
>
|
||||||
<view>{{ item.label }}</view>
|
<view>{{ item.label }}</view>
|
||||||
<view :class="[
|
<view
|
||||||
|
:class="[
|
||||||
formData.betIndexs.includes(item.value)
|
formData.betIndexs.includes(item.value)
|
||||||
? 'text-white'
|
? 'text-white'
|
||||||
: 'text-[#EB1313]',
|
: 'text-[#EB1313]',
|
||||||
'text-[30px]',
|
'text-[30px]',
|
||||||
]">{{ item.odds }}</view>
|
]"
|
||||||
|
>{{ item.odds }}</view
|
||||||
|
>
|
||||||
<!-- <viwe v-if="item.betVal > 0">{{ item.betVal }}</viwe> -->
|
<!-- <viwe v-if="item.betVal > 0">{{ item.betVal }}</viwe> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -119,17 +174,24 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<view class="grid gap-5 grid-cols-6 place-items-center p-[20px]">
|
<view class="grid gap-5 grid-cols-6 place-items-center p-[20px]">
|
||||||
<view v-for="(item, index) in betList" :key="index"
|
<view
|
||||||
|
v-for="(item, index) in betList"
|
||||||
|
:key="index"
|
||||||
class="shadow-md border border-[#E6E6E6] rounded-full w-[80px] mb-[20px] h-[80px] max-[200px]: bg-[red] text-center leading-[80px]"
|
class="shadow-md border border-[#E6E6E6] rounded-full w-[80px] mb-[20px] h-[80px] max-[200px]: bg-[red] text-center leading-[80px]"
|
||||||
:class="formData.betIndexs.includes(item.value)
|
:class="
|
||||||
|
formData.betIndexs.includes(item.value)
|
||||||
? 'bg-[#EB1313]'
|
? 'bg-[#EB1313]'
|
||||||
: 'bg-white'
|
: 'bg-white'
|
||||||
" @click="betSelect(item)">
|
"
|
||||||
<view :style="{
|
@click="betSelect(item)"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
:style="{
|
||||||
color: formData.betIndexs.includes(item.value)
|
color: formData.betIndexs.includes(item.value)
|
||||||
? 'white'
|
? 'white'
|
||||||
: getTextColor(item.label),
|
: getTextColor(item.label),
|
||||||
}">
|
}"
|
||||||
|
>
|
||||||
<view>{{ item.label }}</view>
|
<view>{{ item.label }}</view>
|
||||||
<view class="text-[28px] text-[#EB1313] leading-[50px]">{{
|
<view class="text-[28px] text-[#EB1313] leading-[50px]">{{
|
||||||
item.odds
|
item.odds
|
||||||
@@ -144,9 +206,12 @@
|
|||||||
<!-- 操作栏 -->
|
<!-- 操作栏 -->
|
||||||
<view class="fixed bottom-0 w-full">
|
<view class="fixed bottom-0 w-full">
|
||||||
<!-- 投注信息 -->
|
<!-- 投注信息 -->
|
||||||
<view v-if="formData.betIndexs.length > 0"
|
<view
|
||||||
class="bg-[#F5F5F5] w-full text-[28px] p-[26px] flex justify-between items-center">
|
v-if="formData.betIndexs.length > 0"
|
||||||
<view>共
|
class="bg-[#F5F5F5] w-full text-[28px] p-[26px] flex justify-between items-center"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
>共
|
||||||
<text class="text-[#EB1313]">{{ formData.betIndexs.length }}</text> 注
|
<text class="text-[#EB1313]">{{ formData.betIndexs.length }}</text> 注
|
||||||
共
|
共
|
||||||
<text class="text-[#EB1313]">{{
|
<text class="text-[#EB1313]">{{
|
||||||
@@ -156,25 +221,41 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- <view> 单注最多可赢 <text class="text-[#EB1313]">100</text> 积分 </view> -->
|
<!-- <view> 单注最多可赢 <text class="text-[#EB1313]">100</text> 积分 </view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="bg-white p-[30px] w-full text-[28px] flex justify-between items-center">
|
<view
|
||||||
<view @click="clearbet"
|
class="bg-white p-[30px] w-full text-[28px] flex justify-between items-center"
|
||||||
class="bg-[#FFE8E8] rounded-[10px] border border-[#FF0204] w-[100px] h-[60px] text-[#FF0204] text-center leading-[60px]">
|
>
|
||||||
清空</view>
|
<view
|
||||||
|
@click="clearbet"
|
||||||
|
class="bg-[#FFE8E8] rounded-[10px] border border-[#FF0204] w-[100px] h-[60px] text-[#FF0204] text-center leading-[60px]"
|
||||||
|
>
|
||||||
|
清空</view
|
||||||
|
>
|
||||||
<view>
|
<view>
|
||||||
<view>可用豆子: <text class="text-[#EB1313]">{{ user.pulse }}</text> 豆子
|
<view
|
||||||
|
>可用豆子: <text class="text-[#EB1313]">{{ user.pulse }}</text> 豆子
|
||||||
</view>
|
</view>
|
||||||
<!-- @input="betIput" -->
|
<!-- @input="betIput" -->
|
||||||
<view class="flex">单注:
|
<view class="flex"
|
||||||
<input v-model="formData.value" type="number"
|
>单注:
|
||||||
|
<input
|
||||||
|
v-model="formData.value"
|
||||||
|
type="number"
|
||||||
class="ml-1 mr-1 border border-[#D9D9D9] rounded-[10px] w-[140px] pl-[10px] pr-[10px] text-[#FF0204] text-center"
|
class="ml-1 mr-1 border border-[#D9D9D9] rounded-[10px] w-[140px] pl-[10px] pr-[10px] text-[#FF0204] text-center"
|
||||||
placeholder="" />
|
placeholder=""
|
||||||
|
/>
|
||||||
豆子
|
豆子
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 确认投注 -->
|
<!-- 确认投注 -->
|
||||||
<view class="text-[36px] h-[100px] bg-[red] text-white text-center leading-[100px]" shape="square" block
|
<view
|
||||||
type="primary" @click="submit">一键投注</view>
|
class="text-[36px] h-[100px] bg-[red] text-white text-center leading-[100px]"
|
||||||
|
shape="square"
|
||||||
|
block
|
||||||
|
type="primary"
|
||||||
|
@click="submit"
|
||||||
|
>一键投注</view
|
||||||
|
>
|
||||||
<!-- <button @click="lottieFn(2, 1000)">text</button> -->
|
<!-- <button @click="lottieFn(2, 1000)">text</button> -->
|
||||||
</view>
|
</view>
|
||||||
<view id="lottie" v-show="isLottie"></view>
|
<view id="lottie" v-show="isLottie"></view>
|
||||||
@@ -195,7 +276,7 @@ import {
|
|||||||
GetBetRecord,
|
GetBetRecord,
|
||||||
GetIsWin,
|
GetIsWin,
|
||||||
GetWinInfo,
|
GetWinInfo,
|
||||||
GetJoinNum
|
GetJoinNum,
|
||||||
} from "../../api";
|
} from "../../api";
|
||||||
import "tcplayer.js/dist/tcplayer.min.css";
|
import "tcplayer.js/dist/tcplayer.min.css";
|
||||||
// import Srs from "../../utils/srs.sdk";
|
// import Srs from "../../utils/srs.sdk";
|
||||||
@@ -536,12 +617,12 @@ const initPlayer = () => {
|
|||||||
const showSelector = ref(false);
|
const showSelector = ref(false);
|
||||||
|
|
||||||
const selector = ref([
|
const selector = ref([
|
||||||
|
{ name: "单双", value: 3 },
|
||||||
{ name: "特码", value: 2 },
|
{ name: "特码", value: 2 },
|
||||||
{
|
{
|
||||||
name: "头尾数",
|
name: "头尾数",
|
||||||
value: 1,
|
value: 1,
|
||||||
},
|
},
|
||||||
{ name: "单双", value: 3 },
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const onChange = async ({ name, value }) => {
|
const onChange = async ({ name, value }) => {
|
||||||
@@ -685,7 +766,7 @@ const numList = ref([]);
|
|||||||
|
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
selectorChecked: "特码",
|
selectorChecked: "特码",
|
||||||
betType: 2,
|
betType: 3,
|
||||||
betIndexs: [],
|
betIndexs: [],
|
||||||
value: "",
|
value: "",
|
||||||
total: 0,
|
total: 0,
|
||||||
@@ -861,8 +942,7 @@ const lottieFn = async (type, num = 0) => {
|
|||||||
// 获取中奖信息
|
// 获取中奖信息
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
getWinInfo();
|
getWinInfo();
|
||||||
}, 1500)
|
}, 1500);
|
||||||
|
|
||||||
});
|
});
|
||||||
getUserInfo();
|
getUserInfo();
|
||||||
};
|
};
|
||||||
@@ -875,17 +955,17 @@ const getWinInfo = async () => {
|
|||||||
url: "https://danmu.jdt168.com/get_danmu",
|
url: "https://danmu.jdt168.com/get_danmu",
|
||||||
method: "GET",
|
method: "GET",
|
||||||
success: ({ data: res }) => {
|
success: ({ data: res }) => {
|
||||||
const newData = res.data.map(item => ({
|
const newData = res.data.map((item) => ({
|
||||||
User: {
|
User: {
|
||||||
nickName: item.nick_name,
|
nickName: item.nick_name,
|
||||||
avatarUrl: item.avatar
|
avatarUrl: item.avatar,
|
||||||
},
|
},
|
||||||
DrawNum: item.draw_num,
|
DrawNum: item.draw_num,
|
||||||
Number: item.win_number
|
Number: item.win_number,
|
||||||
}));
|
}));
|
||||||
danmus.value.push(...newData);
|
danmus.value.push(...newData);
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
danmakuRef.value.play();
|
danmakuRef.value.play();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -895,11 +975,11 @@ const getJoinNum = async () => {
|
|||||||
const res = await GetJoinNum();
|
const res = await GetJoinNum();
|
||||||
const random_num = Math.floor(Math.random() * (300 - 100));
|
const random_num = Math.floor(Math.random() * (300 - 100));
|
||||||
joinNum.value = res.number ? res.number : random_num;
|
joinNum.value = res.number ? res.number : random_num;
|
||||||
}
|
};
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
getJoinNum();
|
getJoinNum();
|
||||||
}, 20 * 1000)
|
}, 20 * 1000);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss"></style>
|
<style lang="scss"></style>
|
||||||
|
|||||||
Reference in New Issue
Block a user