# 开发流程
在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。
**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节点显示隐藏
}
}
~~~