视频客服-访客回调接口 JCCGuestCallback

定义了视频客服访客端的回调事件接口,用于接收业务组列表、通话状态变更、成员更新等事件通知。 应用程序通过实现此接口并注册到 JCCGuestManager 来处理访客端的各种事件。

// 创建回调实现
const guestCallback: JCCGuestCallback = {
// 登录回调
onLogin: (result, reason) => {
if (result) {
console.info("登录成功,可以开始使用访客功能");
// 登录成功后查询业务组
JCCGuestManager.getInstance().queryAllGroups();
} else {
console.error("登录失败,原因:", reason);
}
},

// 获取业务组列表回调
onGetAllGroups: (result, groups) => {
if (result && groups.length > 0) {
// 显示业务组列表
for (const group of groups) {
console.info(`业务组: ${group.businessNumber} - ${group.memo}`);
}
}
},

// 通话状态变化回调
onCallStateChanged: (state, incomingType, inviter, reason) => {
switch (state) {
case JCCCallState.CALLING:
console.info("呼叫已发起");
break;
case JCCCallState.WAITING:
console.info("呼叫等待中");
break;
case JCCCallState.TALKING:
console.info("通话已建立");
break;
case JCCCallState.IDLE:
console.info("通话已结束,原因:", reason);
break;
}
}
};

// 注册回调
JCCGuestManager.getInstance().addCallback(guestCallback);
interface JCCGuestCallback {
    onGetAllGroups?: (
        result: boolean,
        groups: ArrayList<JCCGroupItem>,
    ) => void;
    onCallStateChanged?: (
        state: JCCCallState,
        incomingType: JCCIncomingType,
        inviter: JCCInviter,
        reason: JCCTermReason,
    ) => void;
}

Hierarchy

  • unknown
    • JCCGuestCallback

Properties

onGetAllGroups?: (result: boolean, groups: ArrayList<JCCGroupItem>) => void

获取业务号列表回调

Type declaration

    • (result: boolean, groups: ArrayList<JCCGroupItem>): void
    • Parameters

      • result: boolean

        获取结果是否成功

      • groups: ArrayList<JCCGroupItem>

        业务组列表

      Returns void

当应用调用 JCCGuestManager.queryAllGroups 方法后,会通过此回调返回业务组列表。

  • 当result为true时,groups包含有效的业务组列表
  • 当result为false时,表示获取失败,groups可能为空

业务组列表可用于显示可呼叫的客服类型,用户可选择合适的业务组进行呼叫。

JCCGroupItem 业务组信息详情

onCallStateChanged?: (
    state: JCCCallState,
    incomingType: JCCIncomingType,
    inviter: JCCInviter,
    reason: JCCTermReason,
) => void

通话状态改变回调

Type declaration

    • (
          state: JCCCallState,
          incomingType: JCCIncomingType,
          inviter: JCCInviter,
          reason: JCCTermReason,
      ): void
    • Parameters

      • state: JCCCallState

        当前通话状态

      • incomingType: JCCIncomingType

        来电类型

      • inviter: JCCInviter

        邀请者信息

      • reason: JCCTermReason

        通话挂断原因

      Returns void

当访客端通话状态发生变化时触发此回调。

各个参数的含义如下:

  • state: 通话状态,如空闲状态、发起呼叫、等待接听、来电、通话建立等
  • incomingType: 当 state 为来电(INCOMING)时,此参数指明来电类型,如普通来电、转接、直呼等
  • inviter: 当 state 为来电(INCOMING)时,此参数包含邀请方的信息
  • reason: 当 state 为通话结束(IDLE)时,此参数指明结束原因
  • JCCCallState 通话状态定义
  • JCCIncomingType 来电类型定义
  • JCCInviter 邀请者信息详情
  • JCCTermReason 通话结束原因定义