Welfare Lottery

条件抽奖

功能概述

本模块主要用于处理条件抽奖相关的逻辑,监听条件抽奖开始推送、结束推送等消息,提供获取条件抽奖的详细信息、抽奖情况等接口,接入方可以根据这些事件流程定制自己的UI界面。

初始化及销毁

在实例化该模块并进行使用之前,需要对SDK进行初始化配置,详细见参考文档

在线文件引入方式

<script src="https://websdk.videocc.net/interactions-receive-sdk/0.24.0/lib/polyv-ir.umd.js"></script>

<script>
  const { WelfareLottery } = window.PolyvIRSDK;
</script>

import 方式引入(推荐)

import { WelfareLottery } from '@polyv/interactions-receive-sdk';

const welfareLotterySdk = new WelfareLottery();
// 销毁 SDK 实例,清除逻辑
welfareLotterySdk.destroy();

使用流程

监听 "抽奖开始(START)" 事件,实时获取最新的抽奖活动 在发起端发起抽奖后(具体发起端请咨询售后),本SDK内部会触发 welfareLotterySdk.events.START 事件,接入方可以监听该事件,获取抽奖ID

welfareLotterySdk.on(welfareLotterySdk.events.START, function(msg) {
  console.log(`抽奖开始:`, msg);
});

请求getPendantList接口获取最新的抽奖活动(用于在发起抽奖活动后才进入聊天室的情况)

welfareLotterySdk.getPendantList().then(data => {
  console.info(data);
});

获取到抽奖活动的ID后,请求getWelfareLotteryDetail接口获取具体的抽奖内容,可用于展示奖品信息、活动时间、参与人数等信息

welfareLotterySdk.getWelfareLotteryDetail().then(data => {
  console.info(data);
});

完成评论抽奖,调用sendComment方法,自动发送评论完成条件。

// comment 关键词

// 自动发送关键词评论,并完成抽奖
welfareLotterySdk.sendComment(comment);

// 外部发言满足关键词,如聊天室内发送关键词评论,并完成抽奖。
if(welfareLotterySdk.isBooleanToCommentLottery(comment)) {
    welfareLotterySdk.finishCommentLottery();
}

请求getTaskCondition接口获取当前用户任务完成情况

welfareLotterySdk.getTaskCondition().then(data => {
  console.info(data);
});

监听 "抽奖结束(END)" 事件 在发起端结束抽奖后(具体发起端请咨询售后),本SDK内部会触发 welfareLotterySdk.events.END 事件,接入方可以监听该事件,为下一步展示结果做准备

welfareLotterySdk.on(welfareLotterySdk.events.END, function(msg) {
  console.log(`抽奖结束:`, msg);
});

抽奖活动结束后,请求getWelfareLotteryDetail接口获取中奖用户ID列表,根据列表判断当前用户是否中奖

welfareLotterySdk.getWelfareLotteryDetail().then(data => {
  // 从data.winnerIds判断当前用户是否中奖
  // ...
});

获取个人中奖列表 getLotteryWinList

welfareLotterySdk.getLotteryWinList({
    keyword,
    pageSize,
    pageNumber
}).then(data => {
  console.info(data);
});

中奖人请求getLotteryPrize获取奖品详情,领取奖品方式、兑换码会在此接口返回

welfareLotterySdk.getLotteryPrize().then(data => {
  console.info(data);
});

若领奖方式为提交表单,通过submitInfo接口提交中奖人信息

welfareLotterySdk.submitInfo({
  lotteryId,
  winnerCode,
  receiveInfo: [
    {
      field,
      value
    }
  ],
}).then(data => {
  console.info(data);
});

注意

  1. 开启了外部邀请且在移动端环境下,不再展示开奖动效,将直接显示开奖结果。

  2. 如果不需要再使用条件抽奖SDK时,请调用SDK实例的destroy方法去销毁实例。

Last updated