if (this.webinar_info?.join_info?.is_subscribe == 0) { //如果没有预约成功
//如果配置了密码没有通过密码验证
if (this.webinar_info?.webinar?.verify == 1 && this.webinar_info?.join_info?.verified == 0) {
let params = new inputParam();
params.holder = this.webinar_info?.webinar?.verify_tip!;
params.verify = this.webinar_info?.webinar?.verify!;
if (this.webinar_info?.webinar?.verify_tip.length === 0) {
if (this.webinar_info?.webinar?.verify === 1) {
params.holder = '请输入密码';
}
}
params.join = (pwd: string) => {
console.log("用户输入内容:", pwd); // 此处处理密码或白名单信息
PromptActionClass.closeDialog();
this.loadingContentNode = new ComponentContent(this.getUIContext(), wrapBuilder(createLoadingView));
PromptActionClass.setContext(this.getUIContext());
PromptActionClass.setContentNode(this.loadingContentNode);
PromptActionClass.setOptions({
alignment: DialogAlignment.Center,
isModal: true,
maskRect: {
x: 0,
y: 0,
width: '100%',
height: '100%'
}
});
PromptActionClass.openDialog();
const webinarId = this.webinar_info?.webinar?.id.toString()!;
//1 密码,2 白名单 进行验证。验证通过则预约成功
VHSaaSDK.getInstance()
.checkWatchAuth(webinarId, this.webinar_info?.webinar?.verify == 1 ? "1" : "2", pwd, {
onSucceed: (data: VHWatchAuthInfo) => {
PromptActionClass.closeDialog();
//直播中
if (this.webinar_info?.webinar?.type == 1) {
let param: object = new Object()
param['webinars'] = this.webinar_info;
param['player_config'] = this.player_config;
//需要断点消息连接
this.imBase?.leave();
this.isEnterRoom = true;
this.pageInfos.replacePath({ name: 'WatchLivePage', param: param }, true);
} else {
//设置预约成功状态。
if(this.webinar_info?.webinar?.type == 5){
this.pageInfos.pop();
//回到进入直播页面进行观看
}else{
this.reservationState = '预约成功';
if (this.webinar_info?.join_info) {
this.webinar_info.join_info.is_subscribe = 1;
}
if (this.webinar_info?.subscribe) {
let count: number = this.webinar_info?.subscribe?.num + 1;
this.reservation_count = "已预约" + count.toString() + "人";
}
}
}
},
onFailure: (errorCode, errorMsg) => {
PromptActionClass.closeDialog();
ToastUtil.showToast(errorMsg);
}
});
};
this.contentNode = new ComponentContent(this.getUIContext(), wrapBuilder(inputPwdDialog), params);
PromptActionClass.setContext(this.getUIContext());
PromptActionClass.setContentNode(this.contentNode);
PromptActionClass.setOptions({
alignment: DialogAlignment.Center,
offset: { dx: 0, dy: 50 },
isModal: true,
maskRect: {
x: 0,
y: 0,
width: '100%',
height: '100%'
}
});
PromptActionClass.openDialog();
}
}