| 方法 | 方法描述 |
|---|---|
| VHSaaSDK.getInstance().openPasswordRedEnvelope | 打开口令红包 |
| VHSaaSDK.getInstance().getRedPacketStatus | 获取红包状态 |
| VHSaaSDK.getInstance().getRedEnvelopeUserList | 获取口令红包的用户详情 |
| 方法 | 方法描述 |
|---|---|
| imReceiveRoomMessage | 消息回调监听 |
| 方法 | 方法描述 |
|---|---|
| VHRoomEventType.PUSH_PWD_RED_ENVELOPE_OK | 口令红包消息 |
当主播正在直播,可以发布口令红包,与观众进行互动,观众可以复制口令在支付宝的口令红包中进行红包领取
VHRoomEventType.PUSH_PWD_RED_ENVELOPE_OK
private handlePasswordPack(message: VHIMMessageModel) {
this.VHEnvelopeDialog.close()
const RedEnvelope = message.data as VHPwdRedEnvelopeData;
this.RedEnvelopeData = RedEnvelope
this.VHEnvelopeDialog.open()
}
if (type == VHRoomEventType.PUSH_PWD_RED_ENVELOPE_OK) {
this.handlePasswordPack(message)
}| VHPwdRedEnvelopeData 成员 | 类型 | 描述 |
|---|---|---|
| event_type | string | 事件类型标识 |
| red_packet_amount | number | 红包金额 |
| red_packet_number | number | 红包数量 |
| red_packet_start_time | string | 红包开始时间 |
| red_packet_type | number | 红包类型标识 |
| room_id | string | 房间ID |
| red_packet_uuid | string | 红包UUID |
| sender_avatar | string | 发送者头像 |
| sender_id | string | 发送者的ID |
| sender_nickname | string | 发送者的昵称 |
| type | string | 类型标识 |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| room_id | 是 | 123456789 | 活动id |
| red_packet_uuid | 是 | xxx | 口令红包id |
| callback | 是 | xxxx | VHRedEnvelopeInfoCallback |
VHSaaSDK.getInstance().openPasswordRedEnvelope(this.RedEnvelopeData?.room_id!, this.RedEnvelopeData?.red_packet_uuid!,
{
onSuccess: (data: VHRedEnvelopeInfo) => {
console.log("接收口令红包成功", data)
},
onFailure: (errorCode: number, errorMsg: string) => {
console.log("接收口令红包失败", errorCode, errorMsg)
ToastUtil.showToast(errorMsg);
}
});| VHRedEnvelopeInfo 成员 | 类型 | 描述 |
|---|---|---|
| status | number | 是否抢到:0-未抢到,1-抢到了 |
| red_code | string | 红包口令 |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| room_id | 是 | 123456789 | 活动id |
| redPacketId | 是 | xxx | 口令红包id |
| callback | 是 | xxxx | VHGetRedPacketCallback |
// 红包状态
if(this.commonConfig.pwd_red_packet?.status == 1){
VHSaaSDK.getInstance().getRedPacketStatus(this.webinar_info?.interact?.room_id!,uuid,{
onSucceed: (data: VHRedPacketStatus) => {
if(data.is_luck == 2){
this.RedEnvelope = new VHRedEnvelopeInfo;
this.RedEnvelope.status = 1;
this.RedEnvelope.red_code = data.red_code;
this.RedEnvelopeData.room_id = this.webinar_info?.interact?.room_id!;
this.RedEnvelopeData.red_packet_uuid = uuid;
if (this.RedEnvelope != null) {
this.VHEnvelopeDialog.open()
}
}
},
onFailure: (errorCode: number, errorMsg: string) => {
}
})
}| VHRedPacketStatus 成员 | 类型 | 描述 |
|---|---|---|
| is_luck | number | 是否抢到:1:抢到 ;0:未抢到;2-没有抢 |
| red_code | string | 红包口令 |
| red_packet | VHPacketStatus | 红包信息 |
| VHPacketStatus 成员 | 类型 | 描述 |
|---|---|---|
| number | number | 红包数量 |
| red_packet_uuid | string | 红包唯一标识 |
| nickname | string | 昵称 |
| avatar | string | 头像 |
| join_type | number | 橘色 |
| 参数名称 | 是否必须 | 示例 | 备注 |
|---|---|---|---|
| room_id | 是 | 123456789 | 活动id |
| red_packet_uuid | 是 | xxx | 口令红包id |
| pos | 是 | 0 | 页码 |
| limit | 是 | 10 | 每页数量 |
| callback | 是 | xxxx | VHRedEnvelopeUserListInfoCallback |