抽奖组件

优质
小牛编辑
140浏览
2023-12-01

Mudu.Room.LuckyDraw 抽奖组件

获取抽奖信息

Mudu.Room.LuckyDraw.Get(function (response) {
  response = JSON.parse(response)
  if (response.status === 'y') {
    console.log('获取成功,数据为:', response.data)
  }
  if (response.status === 'n') {
    console.log('获取失败')
  }
})
  • response返回结果说明
{
  // 成功状态:y/n
  "status": "y",

  // 详细状态码
  "flag": 100,

  // 状态码说明
  "info": "获取抽奖信息成功",

  // 返回的数据
  "data": {

    // 抽奖数据
    "lucky_draw": {
      "id": 41988,
      "award_name": "iphone 一部",
      "deadline": "2017-05-16 23:48:00",
      "join_type": 2,
      "auto_open": 1,
      "lucky_count": 3
    },

    // 服务器当前时间戳
    "timestamp": 1494898605,

    // 服务器当前时间
    "time_str": "2017-05-16 09:36:45"
  }
}
  • flag状态码码对照表
flaginfostatus
100获取抽奖信息成功y
102无数据n
  • lucky_draw对象说明
名称说明类型
id抽奖idint
award_name奖项名称string
deadline抽奖截止时间string
join_type参与类型,0 不允许任何观众,1 仅导入观众 ,2 仅报名观众,4 全部观众int
auto_open到抽奖报名截止事件是否自动开奖,0不自动开奖,1自动int
lucky_count中奖名额int

抽奖报名

Mudu.Room.LuckyDraw.SignUp(
  {
    // 观众名,类型为string, 可选配置
    userName: 'xiaobaitu23',

    // 抽奖唯一凭证,类型为string,推荐使用手机号作为唯一凭证
    voucher: '13155818359',
  },

  // 回调函数,参数为response
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('抽奖报名成功')
    }
    if (response.status === 'n') {
      console.log('抽奖报名失败')
    }
  }
)
  • 回调函数response参数示例
{
  // 成功状态
  status : 'y',

  // 详细状态码
  flag: 100,

  // 状态码说明  
  info: '参与成功!等待主办方开奖',
}
  • flag状态码码对照表
flaginfostatus
100参与成功!等待主办方开奖y
101已参与!等待主办方开奖n
102服务器繁忙n
103缺少参数n
104抽奖不存在,请稍后再试n
105请等待下次抽奖机会n
106您来晚了n

获取开奖结果

Mudu.Room.LuckyDraw.Result(
  // 回调函数,参数为response对象
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('获取成功,数据为:', response.data)
    }
    if (response.status === 'n') {
      console.log('获取失败')
    }
  }
)
  • 回调函数response对象示例
{
  // 成功状态
  "status": "y",

  // 详细状态码
  "flag": 100,

  // 状态码说明
  "info": "抽奖结果获取成功",

  // 返回的数据
  "data": {
    // 获奖数据
    "luckers": [
      {
        "uname": "张先生",
        "voucher": "1655564432",
        "remark": "iphone 一部"
      },
      {
        "uname": "李先生",
        "voucher": "16654335267",
        "remark": "iphone 一部"
      },
      ......
    ]
  }
}
  • flag状态码码对照表
flaginfostatus
100抽奖结果获取成功y
101查无结果n
  • luckers数组的对象说明
名称说明类型
uname观众名string
voucher抽奖凭证string
remark奖项名称string

LuckyDraw.Open事件

LuckyDraw.Open事件会在后台开奖的时候被触发

Mudu.MsgBus.On(
  // 事件名,值为LuckyDraw.Open
  "LuckyDraw.Open",

  // 事件处理函数
  function (response) {
    var response = JSON.parse(response)
    console.log('开奖啦')
  })
  • response与获取开奖结果时的response格式相同

获取历史开奖结果

Mudu.Room.LuckyDraw.GetAllResult(
  // 回调函数,参数为response对象
  function (response) {
    response = JSON.parse(response)
    if (response.status === 'y') {
      console.log('获取成功,数据为:', response.data)
    }
    if (response.status === 'n') {
      console.log('获取失败')
    }
  }
)
  • 回调函数response对象示例
{
  // 获取是否成功
  "status": "y",

  // 详细状态码
  "flag": 100,

  // 状态码说明
  "info": "抽奖结果获取成功",

  // 返回的数据列表
  "data": [{
    // 奖品名称
    "remark": "奖品22222",

    // 开奖时间
    "uptime": "2020-04-16 11:47:54",

    // 中奖者列表
    "list": [{
      // 中奖者 填写的领奖人信息 姓名
      "uname": "测试2",
      // 中奖者 填写的领奖人信息 手机号
      "voucher": "15355405542"
    }, {
      "uname": "测试1",
      "voucher": "15355405541"
    }]
  }, {
    "remark": "奖品11111",
    "uptime": "2020-04-16 11:46:49",
    "list": [{
      "uname": "测试2",
      "voucher": "15355405542"
    }, {
      "uname": "测试1",
      "voucher": "15355405541"
    }]
    }]
}
  • flag状态码码对照表
flaginfostatus
100抽奖结果获取成功y
101查无结果n