使用方式
一、取得目前抽獎活動列表
透過 getLotteryList 取得目前所有可用的抽獎活動列表。
Api 方法: getLotteryList(): LotteryBasicData[]
回傳值說明: 抽獎活動列表,LotteryBasicData[] 類型
範例:
const lotteryList = lotteryTarget.getLotteryList();
console.log('当前抽奖活动列表', lotteryList);
二、取得抽獎詳情
透過 getLotteryDetail 取得指定抽獎活動的詳細資訊。
Api 方法: getLotteryDetail(options: LotteryBasicOptions): Promise<undefined | LotteryDetail>
參數說明:
- options:取得參數,包含抽獎ID和抽獎條件,
LotteryBasicOptions類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
lotteryId |
- | string |
是 | - |
subLotteryId |
- | string |
否 | - |
lotteryCondition |
- | LotteryCondition |
否 | - |
回傳值說明: 抽獎詳情,Promise<undefined | LotteryDetail> 類型
範例:
const detail = await lotteryTarget.getLotteryDetail({ lotteryId: 'xxxx' });
console.log('抽奖详情', detail);
三、取得抽獎結果
在抽獎抽出中獎結果之後,可呼叫該方法取得指定 lotteryId 的中獎結果。
Api 方法: getLotteryResult(options: LotteryBasicOptions): Promise<undefined | LotteryResult>
參數說明:
- options:取得參數,包含抽獎ID和抽獎條件,
LotteryBasicOptions類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
lotteryId |
- | string |
是 | - |
subLotteryId |
- | string |
否 | - |
lotteryCondition |
- | LotteryCondition |
否 | - |
回傳值說明: 抽獎結果,Promise<undefined | LotteryResult> 類型
範例:
const lotteryResult = await lotteryTarget.getLotteryResult({ lotteryId: 'xxxx' });
console.log('抽奖结果', lotteryResult);
console.log('是否中奖', lotteryResult.isWinner);
console.log('奖品信息', lotteryResult.prizeInfo);
四、發送評論抽獎的評論內容
透過 sendComment 發送評論抽獎的評論內容。
Api 方法: sendComment(): Promise<void>
範例:
await lotteryTarget.sendComment();
console.log('评论已发送');
五、檢查評論的內容是否符合評論抽獎的條件
透過 checkComment 檢查評論內容是否符合評論抽獎的條件。
Api 方法: checkComment(comment: string): Promise<void>
參數說明:
- comment:評論的內容,
string類型,必傳
範例:
await lotteryTarget.checkComment('这是一条评论');
console.log('评论检查完成');
六、完成評論抽獎
透過 finishComment 完成評論抽獎流程。
Api 方法: finishComment(): Promise<void>
範例:
await lotteryTarget.finishComment();
console.log('评论抽奖已完成');
七、開始答題
透過 startAnswer 開始答題抽獎流程。
Api 方法: startAnswer(): Promise<StartLotteryAnswerResult>
回傳值說明: 答題開始結果,Promise<StartLotteryAnswerResult> 類型
範例:
const result = await lotteryTarget.startAnswer();
console.log('答题开始,当前正在答题的题目 id', result.questionId);
八、取得最近一次的答題結果
透過 getLastAnswerResult 取得最近一次的答題結果。
Api 方法: getLastAnswerResult(): Promise<undefined | AnswerResultData>
回傳值說明: 答題結果,Promise<undefined | AnswerResultData> 類型
範例:
const result = await lotteryTarget.getLastAnswerResult();
console.log('最近答题结果', result);
console.log('是否正确', result.result);
九、提交答題
透過 submitAnswer 提交答題抽獎的答案。
Api 方法: submitAnswer(params: SubmitAnswerParams): Promise<SubmitAnswerResult>
參數說明:
- params:提交答題參數,
SubmitAnswerParams類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
questionId |
題目 id | string |
是 | - |
answer |
答案 | string |
是 | - |
回傳值說明: 答題提交結果,Promise<SubmitAnswerResult> 類型
範例:
const result = await lotteryTarget.submitAnswer({
questionId: 'xxxx',
answer: 'ab'
});
console.log('答题提交结果', result);
console.log('是否正确', result.result);
十、取得個人中獎記錄
透過 getPersonalWinning 取得目前觀眾的中獎列表,並顯示到頁面。
Api 方法: getPersonalWinning(options?: PageOptions): Promise<PageContent<LotteryRecordData>>
參數說明:
- options:分頁選項,
PageOptions類型,選傳,預設{},詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
pageNumber |
頁數 | number |
否 | - |
pageSize |
頁碼 | number |
否 | - |
回傳值說明: 中獎記錄列表,Promise<PageContent<LotteryRecordData>> 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
pageNumber |
目前頁數 | number |
pageSize |
每頁數量 | number |
totalItems |
總記錄數 | number |
totalPages |
總頁數 | number |
contents |
內容列表 | I[] |
範例:
const data = await lotteryTarget.getPersonalWinning({ pageNumber: 1 });
console.log('中奖记录列表', data.contents);
十一、取得中獎領取資訊
透過 lotteryId 取得該次抽獎的中獎資訊,用於顯示資訊填寫、QR Code、連結等互動。
Api 方法: getLotteryReceive(options: Object): Promise<LotteryReceiveData>
參數說明:
- options:取得參數,
Object類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
lotteryId |
抽獎 id | string |
是 | - |
回傳值說明: 中獎領取資訊,Promise<LotteryReceiveData> 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
prizeInfo |
獎品資訊 | LotteryPrizeInfo |
acceptType |
領獎方式 | PrizeAcceptType |
formList |
表單列表 | LotteryReceiveFormItem[] |
received |
是否已領取 | boolean |
lotteryId |
抽獎 id | string |
lotteryCondition |
抽獎條件 | LotteryCondition |
prizeUrl |
獎品領取地址 | null | string |
qrCode |
QR Code 地址 | string |
qrCodeTips |
QR Code 提示 | string |
winnerCode |
兌換碼 | string |
showWinnerCode |
是否顯示兌換碼 | boolean |
overTime |
中獎資訊提交截止時間 | null | number |
範例:
import { PrizeAcceptType } from '@polyv/iar-lottery-sdk';
const receiveData = await lotteryTarget.getLotteryReceive({ lotteryId: 'xxxx' });
console.log('领取方式:', receiveData.acceptType);
console.log('表单结构与中奖截止时间:', receiveData.formList, receiveData.overTime);
console.log('领取链接:', receiveData.prizeUrl);
console.log('二维码信息:', receiveData.qrCode, receiveData.qrCodeTips);
十二、提交領取資訊
當中獎設定了需要採集中獎資訊後,可透過 submitReceive 提交中獎者的領取資訊。
Api 方法: submitReceive(options: SubmitReceiveOptions): Promise<void>
參數說明:
- options:提交參數,
SubmitReceiveOptions類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
lotteryId |
抽獎 id | string |
是 | - |
winnerCode |
兌換碼 | string |
是 | - |
receiveInfo |
領取資訊 | LotteryReceiveFormItem[] |
是 | - |
範例:
const receiveInfo = [
{ field: '姓名', value: '张三' },
{ field: '手机', value: '18012345678' },
{ field: '地址', value: '广东省广州市番禺区xxxx' }
];
await lotteryTarget.submitReceive({
lotteryId: 'xxxx',
winnerCode: 'xxxx',
receiveInfo,
});
toast('提交成功');
十三、取得中獎者分組列表
透過 getLotteryWinnersGroup 取得中獎者分組列表,用於顯示到頁面。
Api 方法: getLotteryWinnersGroup(options: Object): Promise<LotteryWinnersGroup[]>
參數說明:
- options:取得參數,
Object類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
lotteryId |
- | string |
是 | - |
回傳值說明: 中獎者分組列表,Promise<LotteryWinnersGroup[]> 類型
範例:
const data = await lotteryTarget.getLotteryWinnersGroup({ lotteryId: 'xxxx' });
console.log('中奖者分组列表', data);
// 通过分组 id 获取中奖者列表
const winners = await lotteryTarget.getLotteryWinners({ lotteryId: 'xxxx', groupId: data[0].id });
console.log('中奖者列表', winners.contents);
十四、取得中獎者列表
透過 getLotteryWinners 取得指定抽獎活動的中獎者列表。
Api 方法: getLotteryWinners(options: GetLotteryWinnersOptions): Promise<PageContent<LotteryWinnersData>>
參數說明:
- options:取得參數,包含抽獎ID、分組ID、頁碼和每頁數量,
GetLotteryWinnersOptions類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
pageNumber |
頁數 | number |
否 | - |
pageSize |
頁碼 | number |
否 | - |
lotteryId |
抽獎 id | string |
是 | - |
groupId |
分組 id | number |
否 | - |
回傳值說明: 中獎者列表,Promise<PageContent<LotteryWinnersData>> 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
pageNumber |
目前頁數 | number |
pageSize |
每頁數量 | number |
totalItems |
總記錄數 | number |
totalPages |
總頁數 | number |
contents |
內容列表 | I[] |
範例:
const data = await lotteryTarget.getLotteryWinners({ lotteryId: 'xxxx' });
console.log('中奖者列表', data.contents);
