🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 开发流程 在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。 **1.初始化** 加载资源,应用程序中只需要执行一次,其他的功能接口都必须在初始化之后才能正常使用。 ~~~ //初始化 AnyChatQueue.queueInit(initParams); ~~~ ~~~ //初始化参数设置 var initParams ={ serverIp: "h5service.anychat.net.cn", //服务器地址 (必填项)h5service.anychat.net.cn serverPort: 9940, //端口号(必填项) 9940 nickName: "AnyCaht", //用户昵称 strUserId: "", //用户字符串ID appId: "", //应用ID(智能排队时必填) sign: "", //签名字符串(签名登录时必填) timeStamp: 0, //时间戳(签名登录时必填) businessHall:'955790',//营业厅ID queueId:'95579001',//队列ID localRenderId:'Client-Area', //本地视频显示区域 remoteRenderId:'Agent-Area', //远程视频显示区域 onQueueInitSuccess:onQueueInitSuccess, //初始化成功 (链接-》登录-》进入营业厅) onQueueError:onQueueError, //失败 onQueueStatus:onQueueStatus, //排队状态 1:进入队列成功 0:离开队列成功 2:出队列呼叫坐席 onVideoCallStatus:onVideoCallStatus //视频通话状态 1:开始通话 0:结束通话 }; ~~~ ~~~ //初始化成功通知 function onQueueInitSuccess(result,data) { console.info("初始化成功"); //result.msg 结果描述 //data.areaId 营业厅id //data.areaName 营业厅名称 //data.areaDesc 营业厅描述 //data.guestCount 当前营业厅访客的用户数(没有排入队列的用户) //data.agentCount 营业厅内的坐席用户数 //data.idleAgentCount 营业厅内的空闲坐席用户数 //data.queningUserCount 当前营业厅正在排队的用户数量 //data.queueCount 当前营业厅的队列数量 //data.queues 营业厅下的队列列表 //初始化成功 //初始化成功之后自动进入队列排队 } ~~~ ~~~ //失败,原因可能有签名错误,重复登录,网络异常断开... function onQueueError(result) { //失败 //result.msg 结果描述 Alert(result.msg); //result.code的值: // 100101 源用户主动放弃会话 // 100102 目标用户不在线 // 100103 目标用户忙 // 100104 目标用户拒绝会话 // 100105 会话请求超时 // 100106 网络断线 if(result.code=='100104'){ //坐席拒绝 //操作demo } } ~~~ ~~~ //排队成功通知 function onQueueStatus(result,data) { if(result.code==1){ console.info("排队成功回调"); // data.userNumInQueue 排队的人数 //data.currentPos 当前排在第几位 //data.enqueueTime 进入队列时间 //在这里可以操作dome节点显示隐藏,也可以手动操作取消排队 } } //取消排队 AnyChatQueue.cancelQueuing(); //取消排队成功通知 function onQueueStatus(result,data) { if(result.code==0){ //离开排队成功 //在这里可以操作dome节点显示隐藏,也可以重新排队 } } //重新排队 AnyChatQueue.enterQueue(); //排队成功通知 function onQueueStatus(result,data) { if(result.code==1){ console.info("排队成功回调"); // data.userNumInQueue 排队的人数 //data.currentPos 当前排在第几位 //data.enqueueTime 进入队列时间 //在这里可以操作dome节点显示隐藏,也可以手动操作取消排队 } } ~~~ ~~~ //通话开始,结束回调 function onVideoCallStatus(result) { if(result.code==1){ //视频通话开始 //在这里可以操作dome节点显示隐藏 }else if(result.code==0){ //视频通话结束 //在这里可以操作dome节点显示隐藏 } } ~~~