商家为了吸引用户,会做一些活动,用赠送或者充值的积分来抽奖。现在,我们来说说微信小程序。如果想实现轮盘抽奖的功能,先看下图:

上面显示的是轮盘彩票。有六个奖,其中一个是“没中奖”,另外五个可以拿奖。可以在后台设置每次抽奖的标题、奖品类型(实物或积分)、中奖概率、所需积分,如下图所示:
每次抽奖都扣分,奖品是实物和积分。如果是积分,用户账户的积分会直接增加。这个比较简单。如果是实物,会生成相关商品的礼品订单。中奖率:是指整个抽奖分为10000份,所以最低中奖率可以设置为0.01%(当然,如果不想让用户中某个奖,可以设置为0%,这样用户就永远不会中)。后台界面使用的PHP语言,计算胜率的代码如下:
其中$ i =兰特(1,10000);即从1到10000的随机数。Winning_odds是指奖励的中奖金额。比如胜率10%,winning_odds的值就是1000。特别是不中奖的概率是100%的概率自动生成的——其他五个奖。所以在后台修改中奖概率的时候,需要更新不中奖概率。小程序JS: Page({ //奖品配置奖品配置:{BTN禁用:& lsquo& rsquo,//是否允许你点击彩票大奖:[{ & # 39;index & # 39: 0, '姓名& # 39;: '00分& # 39;}, { 'index & # 39: 1, '姓名& # 39;: '一种商品& # 39;}, { 'index & # 39: 2, '姓名& # 39;: '1000积分& # 39;}, { 'index & # 39: 3, '姓名& # 39;: '00分& # 39;}, { 'index & # 39: 4, '姓名& # 39;: '没有赢& # 39;}, { 'index & # 39: 5, '姓名& # 39;: '有事& # 39;} ] },on ready:function(e){ this . drawawarddroundel();},//抽奖光盘drawawardloundel:function(){ var awards = this。awardconfig.awardsvar awards list =[];var turnNum = 1/awards . length;//文本旋转转数值//奖励列表for(var I = 0;我& lt奖项.长度;i++){ awardslist . push({ turn:I * turn num+& # 39;转& # 39;,line turn:I * turn num+turn num/2+& # 39;转& # 39;,奖:奖[i]。name });} this . setdata({ BTN disabled:this . awards config . chance?'': '禁用& # 39;,awards list:awards list });},//发起抽奖playReward: function () {//中奖指数var awardIndex = 2;var runn um = 8;//8转后var duration = 4000//持续时间//旋转角度this . run deg = this . run deg | | 0;这个。rundeg = this。rundeg+(360-这个。rundeg % 360)+(360 * run num-award index *(360/6))//创建动画Varanimation run = wx。创建动画({duration:持续时间,计时功能:& # 39 ease & # 39})animation run . rotate(this . rundeg)。step();this . setdata({ animation data:animation run . export(),BTN禁用:& # 39;禁用& # 39;});//中奖提示var奖励config = this。奖励配置;setTimeout(function(){ wx . show modal({ title:& # 39;恭喜& # 39;,内容:& # 39;获取& # 39;+(awards config . awards[awardIndex])。name)、show cancel:false });this . setdata({ BTN disabled:& # 39;'});}.绑定(this),持续时间);}})小程序的wxml代码如下:
这里就不详细说API接口怎么调用了,怎么判断哪个中奖了。可以根据初始的JS代码设置程序,因为如果改变awardIndex的值,相应的奖品也会出来。通过后台接口的返回值,可以判断是点还是物体,然后进行下一步操作。为了防止用户连续点击“抽奖”按钮,需要使用btnDisabled来判断用户是否可以继续抽奖,这在轮盘赌的轮盘还没有玩完的时候是不允许的。以上是对微信小程序轮盘抽奖后台功能、抽奖概率、JS代码的说明。这只是一个想法。可以根据实际情况调整程序功能。








