场景8:邮件链接入会
描述
通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。
在华为云会议账号登录后或者登录前,都可以使用该接口通过分享会议链接中的会议ID和48位密码映射值Random加入会议。
业务流程
使用SDK加入已经存在的会议时,先调用joinConfByRandom接口,然后处理接口回调函数onJoinConfByRandomResult和订阅的消息通知onConfStateChanged、onConfInfoNotify
- 接口调用
- 组装数据结构JoinConfByRandomInfo和回调函数onJoinConfByRandomResult。
- 调用joinConfByRandom开始入会,第1步中的数据作为参数。
- 处理回调函数
处理回调函数onJoinConfByRandomResult。
- 处理消息通知
处理消息通知onConfStateChanged。
- 处理消息通知
处理消息通知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