更新记录

1.0.1(2024-12-09) 下载此版本

样式细节优化

1.0.0(2024-12-07) 下载此版本

发布扭蛋机组件


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × ×

iliya-capsule-toys

uniapp扭蛋机组件,仅测试了vue2、3,h5和微信小程序,理论支持全平台

使用示例

<template>
    <view class="content">
        <iliyaCapsuleToys :giftImgList="giftImgList" :disabled="disabled" :resLv="resLv" :giftRes="giftRes" :resBallImg="resBallImg" @start="start" @canNotStart="canNotStart" @ok="ok" />
    </view>
</template>

<script>
    import iliyaCapsuleToys from '../../components/iliya-capsule-toys/iliya-capsule-toys.vue';
    export default {
        components: {
            iliyaCapsuleToys
        },
        data() {
            return {
                giftRes: {
                    giftName: null,
                    url: ""
                },
                giftImgList: [],
                resBallImg: '',
                disabled: false,
                resLv: 1
            }
        },
        onLoad() {

        },
        methods: {
            start(fn) {
                this.giftRes.giftName = '预制菜'
                this.giftRes.url = '../../static/zi-qiu.png'
                fn()
            },
            canNotStart() {
                uni.showModal({
                    title: '提示',
                    content: '余额不足'
                })
            },
            ok() {
                console.log('确认中奖信息');
            }
        }
    }
</script>

Props

参数名 类型 说明 默认值 可选值
size Number 扭蛋机大小 1 最小0.1,无上限
disabled Boolean 是否禁用 false true
resLv Number 掉落几等奖 1 1/2/3/4/5
resBallImg String 默认是使用resLv显示1-5等奖的球,传递此参数可自定义掉落奖品图片 / 图片地址
giftRes Object 要显示的中奖结果图片和名称,中奖时赋值,不中奖不赋值 {
giftName: null,
url: ""
}
giftName:奖品名称
url:奖品图片地址
notWinImg String 未中奖时显示的图片 /static/wei-zhong-jiang.png 图片地址
giftImgList Array 抽奖机里显示的扭蛋图片,一共13张图,如果需要替换扭蛋图片,按照顺序传递图片地址可依次替换:
0 - 2:礼物、手机、手表
3 - 7:数字球1 - 数字球5
8 - 9:紫球
10 - 11:蓝球
* 12:金蛋
[
'/static/li-wu.png',
'/static/shou-ji.png',
'/static/shou-biao.png',
'/static/qiu1.png',
'/static/qiu2.png',
'/static/qiu3.png',
'/static/qiu4.png',
'/static/qiu5.png',
'/static/zi-qiu.png',
'/static/zi-qiu.png',
'/static/lan-qiu.png',
'/static/lan-qiu.png',
'/static/jin-dan.png'
]
['图片地址'],最多可传递13张

Methods

@start开始抽取,点击抽取按钮时触发,回调播放动画函数,可以在此方法内调用抽奖接口,然后赋值抽奖结果(如果中奖的话),并调用回调函数触发动画

<template>
    <iliyaCapsuleToys  :resLv="resLv" :giftRes="giftRes" @start="start"  />
</template>
<script>
    data() {
        return {
            giftRes: {
                giftName: null,
                url: ""
            },
            resLv: 1
        }
    },
    methods: {
        start(fn) {
        api().then(res=>{
           this.giftRes.giftName = res.data.name
            this.giftRes.url = res.data.url
            fn()
        })
        },
    }
</script>

@canNotStart点击禁言按钮时触发

<template>
    <iliyaCapsuleToys  :resLv="resLv" :giftRes="giftRes" @canNotStart="canNotStart"  />
</template>
<script>
    data() {
        return {
            giftRes: {
                giftName: null,
                url: ""
            },
            resLv: 1
        }
    },
    methods: {
        canNotStart() {
                uni.showModal({
                    title: '提示',
                    content: '余额不足'
                })
            },
    }
</script>

@ok点击确认抽取结果时触发

<template>
    <iliyaCapsuleToys  :resLv="resLv" :giftRes="giftRes" @ok="ok"  />
</template>
<script>
    data() {
        return {
            giftRes: {
                giftName: null,
                url: ""
            },
            resLv: 1
        }
    },
    methods: {
        ok() {
                console.log('确认中奖信息');
            }
    }
</script>

注意事项

如果要运行在小程序,建议把static下的图片丢到服务器上,然后把组件中的图片地址路径替换成服务器地址

想要替换奖品图片可以用giftImgList来替换,或者直接换掉static里的图片

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问