评论

微信小程序制作抽奖小程序

小白尝试做微信小程序抽奖

最近在尝试做抽奖小程序,还在做JS部分,还没有搞一些渲染美化之类的。

目前的已经实现了用户点击获取积分按钮获取积分,还有用积分兑换抽奖票。

我的方法是用户首先得登录,第一次登录后将在一个集合里创建一条记录存放着自带的_openid和积分credit还有抽奖票ticket,后两者都初始化为0。并保存个人的openid用于等会的检索


用户在广场页面可以点击”获取20积分“的按钮来获取积分。该按钮绑定一下事件

  bubbleCredit(){
    DrawUser.where({_openid:app.globalData.userOpenId}).update({
      data:{
        credit:_.inc(20)                //积分加20
        },
        success: function(res) {
          console.log(用户积分已经加了20)
          console.log(res)
        },
      })
    },


在另外一个页面可兑换抽奖票,类似的暂时也只是一个按钮。点击后不仅在用户的积分和票会对应变化,然后我分别存下了这两个个数据,方便给用户看

trade300(){
        CreditRecord.add({
            data:{
                creditChange:-300,           //积分减300
                reason:"trade300",           //变化原因
                createdAt:new Date(),        //时间
            }
        })
        let that=this
        DrawUser.where({_openid:app.globalData.userOpenId}).update({
            data:{
              credit:_.inc(-300),
              ticket:_.inc(1)                //更新用户数据
            },
            successfunction(res{
              console.log(用户成功兑换了一张抽奖票)
              DrawUser.where({_openid:app.globalData.userOpenId}).get().then(res=>{
                console.log(res.data)
                that.setData({               
                    usercredit:res.data[0].credit,    //
                    userticket:res.data[0].ticket,    //这两个是为了实时给用户看到积分和票
                })
                //console.log(that.data.usercredit)
            })
            },
          })
          
    },

接着要实现的便是抽奖了。现在我有不会的就是不知道如何随机抽奖,但是想好了怎么对集合进行操作了

    draw(){
        DrawRecord.add({
            data:{
                prize:某奖品,                 //等等写
                createdAt:new Date(),        //时间
             
            }
        })
        let that=this
        DrawUser.where({_openid:app.globalData.userOpenId}).update({
            data:{
              ticket:_.inc(-1)
            },
            success: function(res) {
              DrawUser.where({_openid:app.globalData.userOpenId}).get().then(res=>{
                console.log(res.data)
                that.setData({              
                    //dataob:res.data,
                    usercredit:res.data[0].credit,
                    userticket:res.data[0].ticket,
                })
                console.log(that.data.usercredit)
            })
            },
          })
    },

这大概就是我的想法

现在遇到的困难就是怎么随机抽奖

Math.ceil(Math.random()*10);     // 获取从 1 到 10 的随机整数,取 0 的概率极小。

想试试这个方法,抽到0就算中奖,这样也方便到时候判断

以上就是我大概想到的如何做抽奖小程序

希望有相关经验的大佬可以给我提一点建议,谢谢

最后一次编辑于  2021-11-11  
点赞 1
收藏
评论

4 个评论

  • 知非
    知非
    2021-11-11

    看到别人做抽奖小程序自己也想做了,写的很棒,表示有学到东西!

    2021-11-11
    赞同 2
    回复 1
    • PD
      PD
      2021-11-11
      谢谢,一起加油
      2021-11-11
      1
      回复
  • Smooth
    Smooth
    2021-11-13

    解决了我的几个疑惑!!谢谢!

    2021-11-13
    赞同 1
    回复 1
    • PD
      PD
      发表于移动端
      2021-11-18
      不客气,一起加油
      2021-11-18
      回复
  • 粽
    2021-11-11

    好强!学到了😀

    2021-11-11
    赞同 1
    回复 1
    • PD
      PD
      2021-11-11
      没有啦,我才刚刚学
      2021-11-11
      回复
  • 晨曦
    晨曦
    2021-11-14

    刚刚学就可以达到这个水平了,太强了!

    2021-11-14
    赞同
    回复 2
    • PD
      PD
      2021-11-14
      我也看文档看了好久才学会,感觉自己好笨,学长才是真大佬
      2021-11-14
      回复
    • 晨曦
      晨曦
      2021-11-14回复PD
      我也在学,好多东西还没学会呢。小程序的前端跟web的前端差别有点大,我又不是专搞前端的。。。
      2021-11-14
      回复
登录 后发表内容