文档反馈
文档反馈

房间管理

初始化白板前,使用joinRoom创建并加入白板房间。joinRoom的参数及说明如下:

whiteboardSDK.joinRoom({
    channel: string,
    createRoom: boolean
}, joinRoomCallbacks)

一般来说,可以由教师端设置createRoomtrue,学生端设置createRoomfalse。若学生加入房间的时间可能早于教师,也可以将所有端都设置createRoomtrue

房间状态变化

joinRoom第二个参数为房间状态变化时的回调函数。目前SDK提供了三个回调函数,它们分别在房间处于connected, willreconnect,以及disconnected时触发。

SDK只有处于connected时,才能够进行编辑。当SDK由其他状态变为connected时,SDK会自动同步断开连接期间的数据。

第三方开发者应该重点关注ondisconnected事件,并根据ondisconnected事件抛出的错误提示,对应用作出相应的处理

whiteboardSDK.joinRoom(joinRoomParams, {
    ondisconnected: (err) => {}
    onwillreconnect: Function
    onconnected: Function
})

主动离开房间

如果不使用白板了,应该调用下面的接口离开房间。

whiteboardSDK.destroy()

异常状态

在加入房间时,应该考虑加入失败的情况。在加入失败时,SDK会抛出错误,提示用户加入失败的原因。

whiteboardSDK
    .joinRoom(joinRoomParams, joinRoomCallbacks)
    .then(function(drawPlugin) {

    })
    .catch(function(err) {
        /**
         *  err:
         *    type: LoginError | CreateRoomError | JoinRoomError
         *    code: number | string
         *     msg: string
         */
    })

错误:登陆失败

err.typeLoginError。可能为appkey, accounttoken不匹配。注意token需要通过md5加密。如果遇到该问题可以向云信销售人员联系。

错误:创建房间失败

err.typeCreateRoomError。请根据具体的错误提示信息排查问题。

错误:加入房间失败

err.typeJoinRoomError。最常见的错误原因是尝试进入不存在的房间,比如joinRoom时的createRoom参数设置的为false

×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。