更新记录

1.0.0(2022-11-02)

1、大转盘抽奖组件。


平台兼容性

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

大转盘抽奖组件

一、介绍

使用canvas组件实现大转盘抽奖功能,目前仅测试了微信小程序,请谨慎使用

二、Api

大转盘抽奖组件具有以下属性和事件:

2.1 bugking7-bigTurntable Props

属性名 类型 必填项 默认值 说明
bigTurntableList Array [] 大转盘所需要展示的奖品数据列表
bigTurntableHeight Number 380 大转盘组件的高度,单位px
bigTurnEndAnimationType Number 0 大转盘抽奖停止时的动画效果。0:缓慢停止。1:立即停止。
bigTurnTextField String '' 大转盘展示奖品名称对应bigTurntableList中的属性名。
bigTurnIdField String '' 同上。此字段用来比对中奖结果信息,计算大转盘旋转弧度及最后定格。例:bigTurntableList[{'text':'周杰伦','id':'zhoujielun'}],本字段为id

2.2 bugking7-bigTurntable Events

事件名称 事件说明 返回参数
@bigTurnStart 大转盘旋转开始事件 {tip: "大转盘开始了"}
@bigTurnEnd 大转盘旋转结束事件 {result:obj,index:1}result:中奖结果对象数据,index:对象所在的下标

三、示例

<bugking7-bigTurntable 
   ref="bigTurn" 
   :bigTurntableList="bigTurntableList" 
   :bigTurnEndAnimationType="1" 
   :bigTurntableHeight="380"
   bigTurnTextField="text" 
   bigTurnIdField="id" 
   @bigTurnStart="handleStart" 
   @bigTurnEnd="handleEnd">
</bugking7-bigTurntable>

export default {
        data() {
            return {
                bigTurntableList: [{
                        "text": "美团外卖红包",
                        "id": "mtwm"
                    },
                    {
                        "text": "拼多多优惠券",
                        "id": "pddyhq"
                    },
                    {
                        "text": "谢谢参与",
                        "id": "xxcy",
                    },
                    {
                        "text": "京东双11红包",
                        "id": "jdhb"
                    },
                    {
                        "text": "天猫双11红包",
                        "id": "tmhb"
                    },
                    {
                        "text": "拼多多现金红包",
                        "id": "pddhb"
                    }
                ],
                text: ''
            }
        },

        methods: {
            handleStart(e) {
                console.log('抽奖开始了', e)
                const randIndex = this.getRand(0, this.bigTurntableList.length - 1)
                const resultObj = this.bigTurntableList[randIndex]

                //模拟网络请求获取抽奖结果信息
                setTimeout(() => {
                    //此方法通知大转盘抽奖结束了
                    this.$refs.bigTurn.queryBigTurntableResult(resultObj)
                }, 300)
            },
            handleEnd(e) {
                this.text = e.result.text
                console.log('抽奖结束了', e)
            },
            // 获取随机数
            getRand(min, max) {
                return Math.floor(Math.random() * (max - min + 1)) + min
            },
        }
    }

四、友情链接

二次元、动漫、游戏、cos、美女等壁纸免费下载,欢迎扫码体验
短视频免费去水印、藏头诗生成、星座运势、星座配对等,欢迎扫码体验
每日精选星座推文、在线客服,欢迎扫码关注

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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