更新时间:2024-07-30 GMT+08:00

场景8:邮件链接入会

描述

通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。

在华为云会议账号登录后或者登录前,都可以使用该接口通过分享会议链接中的会议ID和48位密码映射值Random加入会议。

业务流程

使用SDK加入已经存在的会议时,先调用joinConfByRandom接口,然后处理接口回调函数onJoinConfByRandomResult和订阅的消息通知onConfStateChanged、onConfInfoNotify

  1. 接口调用

    1. 组装数据结构JoinConfByRandomInfo和回调函数onJoinConfByRandomResult。
    2. 调用joinConfByRandom开始入会,第1步中的数据作为参数。

  2. 处理回调函数

    处理回调函数onJoinConfByRandomResult。

  3. 处理消息通知

    处理消息通知onConfStateChanged。

  4. 处理消息通知

    处理消息通知onConfInfoNotify。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// 通过会议ID和Random加入会议
async goToJoinConfByRandom(){
  let { confId, random, nickName, isSpeakerOff, isMicOn, isCameraOn } = this.state;
  let param = {
    confId: "988148352",
    random: "c4f92bc34e685bbba6c23589741be0431997f30da5d6e47b",
    nickName: "杭州会场",
    isSpeakerOff: false, // 入会后默认扬声器不关闭
    isMicOn: true, // 入会后默认麦克风打开
    isCameraOn: false, // 入会后默认摄像头关闭
  }
  const apiService = new ApiService();
  let setResult = await apiService.joinConfByRandom(param);
  if(setResult.ret != 0){
    window.electron.ipcRenderer.send("show-error-alert", "joinConfByRandom error = " + setResult.ret);
  }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
/**
* ApiService中joinConfByRandom接口定义
*/
async joinConfByRandom(joinConfByRandomInfo) {
  return new Promise((resolve) => {
    let resultCallback = (ret, reason) => {
      console.log("joinConfByRandom, out data = ", { ret, reason });
      resolve({ ret, reason });
    };
    console.log("joinConfByRandom, in param = ", joinConfByRandomInfo);
    this.uisdkService.getConfCtrlApi().joinConfByRandom(joinConfByRandomInfo, resultCallback);
  });
}

onConfStateChanged和onConfInfoNotify的事件通知跟创建会议场景相同,请参考创建会议的示例代码

48位密码映射值为分享会议/复制会议信息中的链接所携带的部分字符串。

https://bmeeting.huaweicloud.com/#/j/987297025/227b2d708b7e5a24ce8de2159772239b1672c0a85ba70d85