下载websdk demo
浏览器打开:https://docs.pingxingyun.com/doc/1687/
替换Demo页面
替换sample-plain-html/index.html页面
重要代码片段说明
-
以下三个红框中,需要根据私有化部署的环境替换正确的信息

-
以下为断线重连的机制,详细请查阅注释
// all event names under larksr_websdk.LarkSRClientEvent
// larksr_websdk.LarkSRClientEvent.DATACHANNEL_TEXT same as "datachanneltext"
// 监听连接成功事件、设置全局变量taskID,用于断网时,重新连接的凭据
client.on('taskcreatesuccess', function (e) {
console.log("LarkSRClientEvent taskcreatesuccess", e);
taskId = e.data.taskid;
});
//监听视频加载成功事件,加载成功后,不再继续重试或者重新加载
client.on('meidaloaded', function (e) {
console.log("LarkSRClientEvent meidaloaded", e);
clearInterval(timerId);
clearTimeout(timeoutTimer)
});
//监听websocket代理连接断开事件,准备重连
client.on('larkevent', function (e) {
//console.log(e)
if(e.larkevent == 102){
console.log("连接服务器的websocket代理关闭,即将进行断线重连");
startReload();
}else if(e.larkevent == 202){
console.log("连接代理服务器的websocket关闭,即将进行断线重连");
startReload();
}
});
// 开始计时执行重启
function startReload() {
doReload()
// 设置时间间隔为5s
timerId = setInterval(doReload, 5000)
// 20秒后停止计时器
timeoutTimer = setTimeout(() => {
stopClock();
}, 20000);
}
function doReload() {
client.connect({
// 要使用的云端资源的应用 ID,从后云雀后台接口获取
// 参考查询应用一栏文档
// https://www.pingxingyun.com/online/api3_2.html?id=476
appliId: "1256223117492092928",
taskId: taskId
})
.catch(function (e) {
console.error('enter appli falied', e);
});
}
// 停止计时
function stopClock() {
clearInterval(timerId);
clearTimeout(timeoutTimer)
client.connect({
// 要使用的云端资源的应用 ID,从后云雀后台接口获取
// 参考查询应用一栏文档
// https://www.pingxingyun.com/online/api3_2.html?id=476
appliId: "1256223117492092928",
})
.catch(function (e) {
console.error('enter appli falied', e);
alert(JSON.stringify(e));
});
}
