场景3:预约会议
描述
在使用华为云会议账号登录后,可以调用预约会议接口预约会议。预约会议时,除了填写预约会议所需的会议参数以外,还可以添加与会者。
业务流程
调用bookConf接口预约会议,然后处理订阅的onConfListInfoChanged通知。
若要预约个人会议ID的会议或者云会议室的会议,则需要先调用getVmrInfo接口查询个人会议ID和云会议室信息,然后处理该接口返回的数据,该数据可用于预约会议。
- 接口调用
- 组装数据结构HWMOpenBookConfParamModel(包含结构内Array<HWMOpenAttendeeBaseInfoModel>)。
- 调用bookConf开始创建预约会议,第1步中的数据作为参数。
- 处理返回结果
处理Promise<HWMBookConfResult>。
- 处理消息通知
处理消息通知onConfListInfoChanged。
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
/** * 预约会议 */ async goToBookConf() { const attendees: Array<HWMOpenAttendeeBaseInfoModel> = [{ number: this.getNumber(), name: this.getName(), accountId: this.getAccountId(), isSelf: this.isSelf, thirdAccount: this.getThirdAccount(), userUuid: this.getUserUuid() }]; const confCommonParam: HWMOpenConfCommonParamModel = { confMediaType: ConfMediaType.HWM_CONF_MEDIA_VIDEO, subject: this.getSubject(), attendees: attendees, recordMode: this.getRecordMode(), confAllowJoinUser: this.getConfAllowJoinUser(), supportWatermark: this.isWatermarkOn, isGuestJoinConfWithoutPwd: this.isGuestJoinConfWithoutPwd, guestPwd: this.getGuestPwd(), isSendEmail: this.isSendEmail, } const bookConfParam: HWMOpenBookConfParamModel = { startTime: this.getStartTime(), confLen: this.getConfLen(), confCommonParam: confCommonParam, isSendCalendarNotify: this.isSendCalendarNotify, allowGuestStartConf: this.allowGuestStartConf, allowGuestStartConfTime: this.allowGuestStartConfTime } UISDK.getConfMgrApi().bookConf(bookConfParam).then((res: HWMBookConfResult) => { const message: string = res.result === SDKERR.HWM_SDKERR_SUCCESS ? '预约会议成功' : '预约会议失败' + res.result; console.log(message); }); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/** * 订阅会议事件通知 */ const meetingEventNotify: HWMMeetingEventNotify = { onConfListInfoChanged: this.handleOnConfListInfoChanged, } UISDK.getNotifyApi().setMeetingEventNotify(meetingEventNotify); /** * handleOnConfListInfoChanged定义 */ handleOnConfListInfoChanged(confList: Array<HWMConfListItemModel>) { console.log('OnConfListChanged', ', confList = ', confList); } |