更新时间:2025-01-09 GMT+08:00
分享

场景3:预约会议

描述

在使用华为云会议账号登录后,可以调用预约会议接口预约会议。预约会议时,除了填写预约会议所需的会议参数以外,还可以添加与会者。

业务流程

调用bookConf接口预约会议,然后处理订阅的onConfListInfoChanged通知。

若要预约个人会议ID的会议或者云会议室的会议,则需要先调用getVmrInfo接口查询个人会议ID和云会议室信息,然后处理该接口返回的数据,该数据可用于预约会议。

  1. 接口调用

    1. 组装数据结构HWMOpenBookConfParamModel(包含结构内Array<HWMOpenAttendeeBaseInfoModel>)。
    2. 调用bookConf开始创建预约会议,第1步中的数据作为参数。

  2. 处理返回结果

    处理Promise<HWMBookConfResult>。

  3. 处理消息通知

    处理消息通知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);
}

相关文档