iOS

# 智能排队

# 1. 成员管理

获取当前通话的成员列表,需要通话内才可获取。

var webPlugin = new WebPlugin();

/**
  * @desc 获取通话内成员列表,需要在通话内使用
  * @interface GetConfMembers
  */
webPlugin.GetConfMembers();

获取成员列表的通知:

var webPlugin = new WebPlugin();

/**
  * @desc 获取通话内成员列表结果
  * @param Result true/false,回调结果返回
  * @param ScreenShareMember" 屏幕分享用户ID
  * @param members
  *[
  *  {
  *    "UserId":"guest123",
  *    "RenderId":"renderId",
  *    "Audio":true,
  *    "Video":true
  *  }
  *]
  */
webPlugin.OnGetConfMembersResult = function (result, members, screenShareMember) {
  console.log('OnGetConfMembersResult', members);
  for (i = 0; i < members.length; i++) {
    option = document.createElement('option');
    selectDOM.options.add(new Option(members[i].UserId, members[i].RenderId));
  }
  selectDOM.selectIndex = 0;
};

# 2. 通话唯一标识

通话唯一标识 getCallId 对应于业务管理平台上的callid,可用于查询录像数据、查询录像上传结果等等。

var webPlugin = new WebPlugin();

/**
  * @desc 获取callId
  */
webPlugin.GetCallId();

/**
  * @desc 获取CallId回调
  * @param {String} callId 
  */
this.OnGetCallId = function(callId) {
  webPlugin.log('OnGetCallId', callId);
}

# 3. 获取业务号列表

获取业务号、业务描述等详细信息,业务组信息通过 webPlugin.OnQueryGroupsResult 回调上报。

var webPlugin = new WebPlugin();

/**
  * @desc 查询业务号列表
  * @interface QueryAllGroups
  */
webPlugin.QueryAllGroups();
/**
  * @desc 查询业务号列表结果
  * @param groups 业务号列表
  *[
  * {
  *    "callNumber":"10089",
  *    "memo":"办卡业务"
  *  },
  * {
  *     "callNumber":"10088",
  *     "memo":"视频面签"
  *  }
  *]
  */
webPlugin.OnQueryGroupsResult = function (list) {
  groupList = list;
  for (i = 0; i < list.length; i++) {
    option = document.createElement('option');
    selectDOM.options.add(new Option(list[i].memo, list[i].businessNumber));
  }

  selectDOM.selectIndex = 0;
  callback();
}

# 4. 查询指定组号的空闲座席

通过组号查询空闲的座席:

var webPlugin = new WebPlugin();

/**
  * @desc 查询空闲座席
  * @param groupId 业务号
  * @interface QueryAvailableAgentList
  */
webPlugin.QueryAvailableAgentList(groupId);

指定组号的空闲座席查询结果通过 webPlugin.OnQueryAvailableAgentsResult 回调上报。

var webPlugin = new WebPlugin();

/**
  * @desc 查询空闲座席结果
  * @param agents 座席
  *[
  *  agent1
  *]
  */
webPlugin.OnQueryAvailableAgentsResult(agents) {
  agentList = list;
  for (var i = 0; i < list.length; i++) {
    option = document.createElement('option');
    selectDOM.options.add(new Option(list[i], list[i]));
  }
}