亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設(shè)資訊詳細

如何實現(xiàn)微信小程序的輪盤抽獎功能

發(fā)表日期:2019-02-02 00:00:01   作者來源:方維網(wǎng)絡(luò)   瀏覽:7438   標簽:微信小程序    抽獎小程序    
為了吸引用戶,商家會做一些活動,利用贈送或充值的積分來進行抽獎,現(xiàn)在來講下微信小程序如果實現(xiàn)輪盤抽獎的功能,先看下圖:
 

抽獎

上面展示的就是輪盤抽獎,一共有六個獎項,其中一個是“不中獎”的,其余五個均能獲得獎品,獎品的標題、獎品類型(實物或積分)、中獎概率,每次抽獎需要多少積分等都可以在后臺設(shè)置,如下圖所示:

抽獎小程序后臺設(shè)置

每次抽獎時扣除積分,獎品類型有實物和積分,如果是積分,直接增加用戶賬號的積分,這個比較簡單,如果是實物,則要生成一個關(guān)聯(lián)商品的禮品訂單。
中獎率:是指整個抽獎的分為1萬份,所以最低的中獎率可以設(shè)置成0.01%(當然如果不想用戶抽到某個獎項,可以設(shè)置成0%,這樣用戶就永遠不可能抽到),后臺的接口使用的PHP語言,計算中獎率的代碼如下圖:

抽獎小程序代碼

其中$i=rand(1,10000);即從1到10000隨機一個數(shù)。
winning_odds是指某個獎項的中獎數(shù)值,例如中獎率是10%,則在winning_odds的值為1000.特別提一下,不中獎的概率是由100%-其他五個獎項的概率而自動生成的。所以后臺修改某個獎項的概率的時候,需要更新不中獎的概率。
 
小程序JS方面:
Page({
  //獎品配置
  awardsConfig: {
    btnDisabled: ‘’,//是否允許點擊抽獎
    awards: [
      { 'index': 0, 'name': '300積分' },
      { 'index': 1, 'name': '某商品' },
      { 'index': 2, 'name': '1000積分' },
      { 'index': 3, 'name': '100積分' },
      { 'index': 4, 'name': '不中獎' },
      { 'index': 5, 'name': '某實物' }
    ]
  },
  onReady: function (e) {
    this.drawAwardRoundel();
  },
 
//畫抽獎圓盤
  drawAwardRoundel: function () {
    var awards = this.awardsConfig.awards;
    var awardsList = [];
    var turnNum = 1 / awards.length;  // 文字旋轉(zhuǎn) turn 值
    // 獎項列表
    for (var i = 0; i < awards.length; i++) {
      awardsList.push({ turn: i * turnNum + 'turn', lineTurn: i * turnNum + turnNum / 2 + 'turn', award: awards[i].name });
    }
    this.setData({
      btnDisabled: this.awardsConfig.chance ? '' : 'disabled',
      awardsList: awardsList
    });
  },
 
  //發(fā)起抽獎
  playReward: function () {
    //中獎index
    var awardIndex = 2;
    var runNum = 8;//旋轉(zhuǎn)8周
    var duration = 4000;//時長
    // 旋轉(zhuǎn)角度
    this.runDeg = this.runDeg || 0;
    this.runDeg = this.runDeg + (360 - this.runDeg % 360) + (360 * runNum - awardIndex * (360 / 6))
    //創(chuàng)建動畫
    var animationRun = wx.createAnimation({
      duration: duration,
      timingFunction: 'ease'
    })
    animationRun.rotate(this.runDeg).step();
    this.setData({
      animationData: animationRun.export(),
      btnDisabled: 'disabled'
    });
 
    // 中獎提示
    var awardsConfig = this.awardsConfig;
    setTimeout(function () {
      wx.showModal({
        title: '恭喜',
        content: '獲得' + (awardsConfig.awards[awardIndex].name),
        showCancel: false
      });
      this.setData({
        btnDisabled: ''
      });
    }.bind(this), duration);
 
  }
})
小程序的wxml代碼如下圖:

前端代碼

我們這里就不詳細講如何調(diào)用API接口,如何判斷是獲取了哪個獎項了,大家可以根據(jù)初始的JS代碼來套程序,因為改變了awardIndex值,對應(yīng)的獎項也會出來,通過后臺接口的返回值,可以判斷是積分還是實物,然后進行下一步操作.為了防止用戶連續(xù)點擊“抽獎”的按鈕,需要用 btnDisabled來判斷用戶是否可以繼續(xù)抽獎,當輪盤尚未轉(zhuǎn)完時,是不允許重復(fù)點擊的。
 
以上就是對微信小程序輪盤抽獎后臺功能,抽獎概率,小程序JS代碼進行講解,這是只提供一種思路,大家可以根據(jù)實際的情況對程序功能進行調(diào)整。
 
 

 
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://www.oulysa.com/news/4891.html
日韩AV无码中文一区二区三区| 成人H动漫精品一区二区无码| 久久天天躁狠狠躁夜夜躁2020| 狼人香蕉香蕉精品99| 星空影院免费观看电影| 免费无码AⅤ片在线观看| 水蜜桃国产在线观看免费视频| 好大好湿好硬顶到| 国产成人精品无码免费视频| 欧美激情热门视频| 日本特黄特色aaa大片免费欧电影| 亚洲国产欧美中日韩成人综合视频| 亚洲а∨天堂久久精品精品| 久久久久久精品免费免费高清秒播| 精品少妇人妻av一区二区三区| 中文字幕日本免费视片| 午夜无码一区二区三区在线观看| 久久亚洲精品无码观看不卡| 日本五区在线不卡精品| 成人亚洲一区二区三区在线| 免费国产一级特黄aa大| 高中小鲜肉自慰GAY免费| 一本乱码精品视频一区二区| 欧美日韩成人精品视频在线观看| 亚洲精品国产字幕久久?PP| www亚洲欲色成人久久精品| 精品一区二区三区不卡少妇?v| 亚洲欧美日韩中文字幕在线一区| 禁止的爱善良的秘书| 香蕉网在线一区二区三区| 麻豆映画传媒新剧免费观看| 人妻换人妻AA视频麻豆| 久久久久亚洲AV成人无码网站| 两性午夜福利国产一级毛片| 久久亚洲最强精品全国| 为啥男人喜欢把奶头往里按呢| 中文字幕亚洲欧美日韩在线不卡| 黄网站色视频免费观看| 国产特黄A级三级三级三级| 国产精午夜一区二区三区不卡久免費資訊| 亚洲av日韩综合一区尤物|