<template>
    <s-layout class="set-wrap" title="活动" :bgStyle="{ color: '#FFF' }">
        <view class="_bgc">
            <view class="_bg1">
                <!-- <text class="_jf">5积分抽奖一次</text>
            <view class="_cont">
                <view class="_left">
                    <image src="https://obs-sdwh.cucloud.cn/cdz/jinbi.png" class="_jinbi"></image>
                    <text>开心贷</text>
                </view>
                <view class="_mid">抽到99元优惠券</view>
                <view class="_right">4秒前</view>
            </view> -->
            </view>
            <view class="container">
                <!-- <view class="container_circle" v-for="(v, i) in  circleList" :key="i"
                :style="{ 'top': v.topCircle + 'rpx', 'left': v.leftCircle + 'rpx', 'background-color': (i % 2 == 0) ? oneCircleColor : twoCircleColor }">
            </view> -->
                <view class="container_content">
                    <view class="content_out" v-for="(v, i) in prizeList" :key="i" :style="{
                    top: v.topAward + 'rpx',
                    left: v.leftAward + 'rpx',
                    background: i == indexSelect ? prizeCheckColor : '',

                    animation: 'animatebox 4s linear infinite'
                }">
                        <image class="award_image" :src="v.Img"></image>
                        <!-- {{ v.name }} -->
                    </view>
                    <view class="content_btn" @tap="handleStart"
                        :style="{ 'background-color': isRunning ? '#55ffff' : '' }">
                        <view class="_diji">点击</view>
                        <view>抽奖</view>
                    </view>
                </view>
                <!-- <view class="container_num">剩余抽奖次数:{{ luckDrawNum }}</view> -->
            </view>

            <view class="_btnWrap">
                <view class="_btn" @tap="sheep.$router.go('/pages/user/PrizesWon')">已获奖品</view>
                <view class="_btn" @tap="sheep.$router.go('/pages/user/ActivityRules')">活动规则</view>
            </view>
        </view>
    </s-layout>
</template>

<script setup>
import { ref } from 'vue'
import { onLoad, onReachBottom, onShow, onUnload, onHide } from '@dcloudio/uni-app';
import MineApi from '@/sheep/api/prize/index'
import sheep from '@/sheep';
const prizeList = ref([]) // 奖品数组
const prizeCheckColor = ref('linear-gradient(72.5deg, #aa0000, #ff0000, #ff00ff, #550000, #ffaaff, #aa0000, #ff0000)') // 奖品的选中颜色
const indexSelect = ref(0) //被选中的奖品index
const isRunning = ref(false) //是否正在抽奖
const imgList = ref([
    'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202209261921_a1b840c267bd26bcf4dc654d52f259e5.png?w=800&h=800',
    'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/0bcd64f412dfb5e15695fa96d21ecb23.png?w=800&h=800',
    'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202208111030_e3554c41e0484da99b16bb9e02142e68.png?w=800&h=800',
    'https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1653393310.29013051.png',
    'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202209261921_a1b840c267bd26bcf4dc654d52f259e5.png?w=800&h=800',
    'https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/9E253411E26FD16C7215D7E74321FA45.png',
    'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/cc0be95d45d0063b0aa8bb541be22c77.png?w=800&h=800',
    'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/0c4b5e30d14ca8b51dc6fa6917295ff5.png?w=800&h=800'
]) //奖品图片数组
const prizelist = ref([]) //奖品列表
let showFloag = ref(true)
let HDid = ref()
onLoad(async () => {
    const r = await MineApi.ActivityRules()
    HDid.value = r.data?.id
    const res = await MineApi.prizeImg(HDid.value)
    prizelist.value = res.data
    imgList.value = []
    res.data.forEach((value, index) => {
        imgList.value.push(value.imgUrl)
    })

    for (let i = 0; i < 24; i++) {
        let prizeList_on = []
        //间距,怎么顺眼怎么设置吧.
        let topAward = 10
        let leftAward = 10

        for (let j = 0; j < 8; j++) {
            if (j == 0) {
                topAward = 5
                leftAward = 10
            } else if (j < 3) {
                topAward = topAward
                //166.6666是宽.15是间距.下同
                leftAward = leftAward + 176.6666 + 15
            } else if (j < 5) {
                leftAward = leftAward
                //150是高,15是间距,下同
                topAward = topAward + 160 + 15
            } else if (j < 7) {
                leftAward = leftAward - 176.6666 - 15
                topAward = topAward
            } else if (j < 8) {
                leftAward = leftAward
                topAward = topAward - 160 - 15
            }
            // let imgList = this.imgList[j];
            let Img = imgList.value[j]
            prizeList_on.push({ topAward, leftAward, Img, id: res.data[j].id, name: res.data[j].name })
        }
        prizeList.value = prizeList_on
    }
})

// 点击开始
const handleStart = async () => {
    console.log('抽奖开始,');

    if (isRunning.value) return
    const res = await MineApi.lottery(HDid.value)
    isRunning.value = true
    let floag = ref()
    for (let i = 0; i < prizelist.value.length; i++) {
        if (prizelist.value[i]?.id == res.data?.id) {
            floag.value = res.data.id
            break
        }
    }

    indexSelect.value = 0
    let indexSelect_med = 0
    let i = 0
    let timer = setInterval(() => {
        console.log('floag', floag.value);
        //去除循环
        if (!showFloag.value) {
            clearInterval(timer)
            isRunning.value = false
        }
        indexSelect_med++
        // 光标跳动
        indexSelect_med = indexSelect_med % 8
        indexSelect.value = indexSelect_med
        i += 30
        let randomNum = 1000 + Math.ceil(Math.random() * 1000) //控制奖品
        if (i > randomNum && prizeList.value[indexSelect.value].id  === floag.value) {
            //去除循环
            clearInterval(timer)
            //获奖提示
            // if (showFloag.value) {
            //     if (!res.data?.id) {
            //         uni.showModal({
            //             title: '很遗憾',
            //             content: '祝君好运',
            //             showCancel: false,
            //             success: (res) => {
            //                 if (res.confirm) {
            //                     isRunning.value = false
            //                 }
            //             }
            //         })
            //         return
            //     }
                uni.showModal({
                    // title: '恭喜您',
                    // content: '获得了第' + (indexSelect.value) + '个奖品',
                    content: '抽中' + (res.data.name) + '',
                    showCancel: false,
                    success: (res) => {
                        if (res.confirm) {
                            isRunning.value = false
                        }
                    }
                })
            // }
            isRunning.value = false
        }



       
    }, 200 + i)
}
onHide(() => {
    showFloag.value = false
})
onUnload(() => {
    showFloag.value = false
})
onShow(() => {
    showFloag.value = true
})
</script>

<style lang="scss" scoped>
._bg1 {
    background-image: url('https://obs-sdwh.cucloud.cn/cdz/beijing1.png');
    width: 80%;
    height: 150rpx;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    overflow: hidden;
    margin: 370rpx auto 0;
    font-size: 22rpx;
    position: relative;

    ._jf {
        position: absolute;
        left: 240rpx;
        top: 40rpx;
        color: white;
    }

    ._cont {
        display: flex;
        justify-content: space-around;
        align-items: center;
        color: white;
        letter-spacing: 2rpx;
        height: 100%;
        margin-top: 35rpx;

        ._left {
            display: flex;
            align-items: center;

            ._jinbi {
                width: 40rpx;
                height: 40rpx;
                margin-right: 10rpx;
            }
        }
    }
}

._bgc {
    background-image: url('https://obs-sdwh.cucloud.cn/cdz/cjBg.png');
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    overflow: hidden;
}

.container {
    position: relative;
    height: 600rpx;
    width: 650rpx;
    margin: 0 auto;
    border-radius: 40rpx;
    // background: linear-gradient(72.5deg, #e9f78c, #ffffb9, #cc55e5, #ef9bcb, #e5b8d8, #ffb140, #f7ed54);
    // background-color: #FFB62F;
    background-image: url('https://obs-sdwh.cucloud.cn/cdz/beijing2.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    // background-size: 400%;
    animation: animatebox 4s linear infinite;

    @keyframes animatebox {
        0% {
            background-position: 0%;
        }

        50% {
            background-position: 100%;
        }

        100% {
            background-position: 0%;
        }
    }

    .container_circle {
        position: absolute;
        display: block;
        border-radius: 50%;
        height: 20rpx;
        width: 20rpx;
    }

    .container_content {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 580rpx;
        height: 530rpx;
        background-color: #ca2c01;

        border-radius: 40rpx;
        margin: auto;

        // background: linear-gradient(72.5deg, #ef499c, #cc55e5, #ffb140, #f7ed54, #ffb140, #cc55e5, #ef499c);
        background-size: 400%;
        animation: animate1 4s linear infinite;

        @keyframes animate1 {
            0% {
                background-position: 0%;
            }

            50% {
                background-position: 100%;
            }

            100% {
                background-position: 0%;
            }
        }

        .content_out {
            position: absolute;
            height: 160rpx;
            width: 176.6666rpx;
            // background-color: #f5f0fc;
            background-image: url('https://obs-sdwh.cucloud.cn/cdz/g1.png');
            background-repeat: no-repeat;
            background-size: 100% 100%;
            border-radius: 15rpx;
            box-shadow: 0 5px 0 #ff8327;

            .award_image {
                position: absolute;
                margin: auto;
                top: 0;
                left: 0;
                bottom: 0;
                right: 0;
                height: 140rpx;
                width: 130rpx;
                background-repeat: no-repeat;
                background-size: 100% 100%;
                background-image: url('https://obs-sdwh.cucloud.cn/cdz/xxcy.png');
            }
        }

        .content_btn {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            border-radius: 15rpx;
            height: 160rpx;
            width: 176.6666rpx;
            background-color: #ffe400;
            box-shadow: 0 5rpx 0 #e7930a;
            color: white;
            text-align: center;
            font-size: 44rpx;
            font-weight: bolder;
            background-color: #ff8859;
            // line-height: 150rpx;
            // background: linear-gradient(72.5deg, #f7a0ec, #ffb140, #e58da0, #ef7ecb, #ab9ae5, #ffec8a, #f6f7a6);
            // background-size: 400%;
            background-image: url('https://obs-sdwh.cucloud.cn/cdz/g5.png');
            background-size: 100% 100%;
            background-repeat: no-repeat;
            animation: animate 4s linear infinite;

            ._diji {
                margin-top: 14rpx;
            }

            @keyframes animate {
                0% {
                    background-position: 0%;
                }

                50% {
                    background-position: 100%;
                }

                100% {
                    background-position: 0%;
                }
            }
        }
    }

    .container_num {
        position: absolute;
        top: -130rpx;
        left: 50%;
        transform: translateX(-50%);
        color: white;
        // background-image: -webkit-linear-gradient(left, #083a96, #e63609 25%, #083a96 50%, #e63609 75%, #083a96);
        // -webkit-text-fill-color: transparent;
        background-clip: text;
        background-size: 200% 100%;
        animation: masked-animation 4s infinite linear;

        @keyframes masked-animation {
            0% {
                background-position: 0 0;
            }

            100% {
                background-position: -100% 0;
            }
        }
    }
}

._btnWrap {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 40rpx;

    ._btn {
        background-image: url('https://obs-sdwh.cucloud.cn/cdz/anniu.png');
        background-repeat: no-repeat;
        background-size: 100% 100%;
        width: 40%;
        height: 100rpx;
        text-align: center;
        line-height: 90rpx;
        color: white;
        font-weight: bold;
        font-size: 32rpx;
    }
}
</style>