视频客服-访客管理类 JCCGuestManager

提供访客端的核心功能,包括登录认证、业务组查询、呼叫控制等。 通过此类可以实现访客与客服之间的音视频通话和消息交互。 此类采用单例模式设计,通过 JCCGuestManager.getInstance 方法获取实例。

// 初始化并登录
const loginParam = new JCCLoginParam();
loginParam.userId = "guest123";
loginParam.password = "password123";
loginParam.appKey = "your_app_key";

// 注册回调
const callback: JCCGuestCallback = {
// 实现各种回调方法
};
JCCGuestManager.getInstance().addCallback(callback);

// 登录系统
const result = JCCGuestManager.getInstance().login(getContext(), loginParam);
if (result) {
console.info("登录请求已发送");
}

// 查询可用的业务组
JCCGuestManager.getInstance().queryAllGroups();

// 发起呼叫
const callParam = new JCCGuestCallParam();
JCCGuestManager.getInstance().call("10086", callParam, false);

Implements

Methods

  • 获取JCCGuestManager单例实例

    Returns JCCGuestManager

    JCCGuestManager的单例实例

    此方法返回JCCGuestManager的单例实例,确保整个应用程序中只存在一个实例。 首次调用时会创建新实例,后续调用返回已存在的实例。

  • 设置应用前后台状态

    Parameters

    • foreground: boolean

      是否处于前台状态

    Returns void

    通知SDK应用的前后台状态,用于调整SDK内部行为以适应不同状态下的资源使用。

    • true: 应用处于前台
    • false: 应用处于后台
  • 设置UI上下文对象

    Parameters

    • uiContext: UIContext

      UI上下文对象

    Returns void

    如果设置了,我们的通话界面会往该对象获取的 Router 对象中添加页面

  • 设置 NavPathStack 实例

    Parameters

    • pathStack: any

      NavPathStack实例

    • navId: undefined | string

      Navigation容器绑定的id

    Returns void

    如果设置了,我们的通话界面会通过这个实例去进行路由跳转

  • 登录系统

    Parameters

    • applicationContext: ApplicationContext

      应用上下文

    • loginParam: JCCLoginParam

      登录参数

    Returns boolean

    登录请求是否成功发送

    发起登录请求,登录结果通过 JCCGuestCallback.onLogin 回调通知。 登录成功后才能使用其他功能,如获取业务组、发起呼叫等。

    JCCLoginParam 登录参数详情

  • 登出系统

    Returns boolean

    登出请求是否成功发送

    发起登出请求,登出结果通过 JCCGuestCallback.onLogout 回调通知。 登出后将无法使用需要登录的功能,需要重新登录才能继续使用。

  • 销毁管理器实例

    Returns void

    销毁实例,释放资源。 销毁实例后,不能再使用本实例,需要重新创建。

  • 获取当前登录状态

    Returns JClientState

    当前的登录状态

    返回当前客户端的登录状态,可用于判断是否已登录或登录过程中的状态。

    JClientState 客户端状态定义

  • 发送在线消息

    Parameters

    • message: string

      要发送的消息内容

    • userId: string

      接收消息的用户ID

    Returns number

    发送操作的标识ID

    向指定用户发送在线消息,发送结果通过 JCCGuestCallback.onOnlineMessageSendResult 回调通知。 仅当双方都在线时才能成功发送消息。

  • 在通话中发送消息

    Parameters

    • type: string

      消息类型

    • content: string

      消息内容

    • userId: string

      接收消息的用户ID

    Returns boolean

    发送请求是否成功

    在通话过程中向指定用户发送消息,用于实现通话中的文字聊天、控制指令等功能。 只有在通话建立后才能使用此功能。

  • 上传文件

    Parameters

    • param: JCCUploadFileParam

      文件上传参数

    Returns void

    上传文件到服务器,上传结果通过 JCCGuestCallback.onUploadFileResult 或 JCCGuestCallback.onUploadFileError 回调通知。

    JCCUploadFileParam 文件上传参数详情

  • 获取当前通话ID

    Returns undefined | string

    当前通话的唯一标识符,如果没有通话则返回undefined

    返回当前正在进行的通话的唯一标识符,可用于日志记录和问题跟踪。 只有在通话建立后才会返回有效值。

  • 设置自定义配置

    Parameters

    Returns void

    设置访客端的自定义配置,包括UI样式、功能控制等,通常在初始化或登录前设置。

    JCCGuestCustomConfig 自定义配置详情

  • 设置视频角度

    Parameters

    • angle: number

      视频旋转角度,可选值为0、90、180、270

    Returns void

    设置本地视频画面的旋转角度,用于适应不同的设备方向和摄像头方向。

  • 启用或禁用音频上传

    Parameters

    • enable: boolean

      是否启用音频上传

    Returns boolean

    设置是否成功

    控制本地音频是否上传到服务器,可用于实现静音功能。

    • true: 启用音频上传(默认)
    • false: 禁用音频上传(静音)
  • 最小化通话窗口

    Returns void

    将当前通话界面最小化,仅显示悬浮小窗,用户可以同时操作其他界面。

  • 恢复通话窗口

    Returns void

    将最小化的通话窗口恢复为正常大小的通话界面。

  • 获取SDK版本信息

    Returns JCCVersion

    SDK版本信息

    返回当前SDK的版本信息,包括版本号、构建时间等,可用于问题报告和兼容性检查。

    JCCVersion 版本信息详情

  • 获取SDK版本

    Returns string

    SDK版本号

    获取当前SDK的版本号。

  • 开启/关闭远程协作

    Parameters

    • enable: boolean

      true: 开启

      • false: 关闭

    Returns boolean

    接口调用结果

    • true: 接口调用成功
    • false: 接口调用失败
  • 获取JRTCClient实例

    Returns any

    JRTCClient实例

    获取JRTCClient实例,用于访问JRTCClient的API。

  • 获取JRTCMediaDevice实例

    Returns any

    获取JRTCMediaDevice实例

    获取JRTCMediaDevice实例,用于访问JRTCMediaDevice的API。

  • 获取JRTCGuest实例

    Returns any

    获取JRTCGuest实例

    获取JRTCGuest实例,用于访问JRTCGuest的API。

  • 添加回调监听

    Parameters

    Returns void

    注册回调监听器,用于接收各种事件通知,如登录状态、通话状态、消息接收等。 可以注册多个回调监听器,所有注册的监听器都会收到事件通知。

    JCCGuestCallback 回调接口详情

  • 移除回调监听

    Parameters

    Returns void

    移除之前注册的回调监听器,移除后将不再接收事件通知。 在不需要接收事件或组件销毁时应调用此方法,避免内存泄漏。

  • 查询所有业务号列表

    Returns boolean

    查询请求是否成功发送

    查询可用的业务号列表,查询结果通过 JCCGuestCallback.onGetAllGroups 回调通知。 业务号列表用于客户选择要咨询的业务类型,如售前咨询、技术支持等。

    // 查询业务号列表
    JCCGuestManager.getInstance().queryAllGroups();

    // 在回调中处理结果
    onGetAllGroups: (result, groups) => {
    if (result) {
    // 显示业务号列表供用户选择
    this.groupList = groups;
    }
    }
  • 发起呼叫

    Parameters

    • businessNumber: string

      业务组号或座席用户ID

    • param: JCCGuestCallParam

      呼叫参数配置

    • oneToOne: boolean

      是否为点对点呼叫

    Returns boolean

    呼叫请求是否成功发送

    发起客服呼叫,呼叫状态变化通过 JCCGuestCallback.onCallStateChanged 回调通知。

    参数说明:

    • businessNumber: 当oneToOne为false时,此参数为业务组号;当oneToOne为true时,此参数为座席用户ID
    • param: 呼叫参数配置,如视频质量、音频编码等
    • oneToOne: 是否为点对点呼叫。true表示直接呼叫指定座席,false表示呼叫业务组由系统分配座席

    JCCGuestCallParam 呼叫参数详情

    // 呼叫业务组
    const param = new JCCGuestCallParam();
    param.autoRecord = true;
    param.vipPower = 10; // 设置优先级
    JCCGuestManager.getInstance().call("10086", param, false);

    // 直接呼叫指定座席
    JCCGuestManager.getInstance().call("agent123", param, true);
  • 接听来电

    Returns boolean

    接听请求是否成功发送

    接听座席发起的来电,接听结果通过 JCCGuestCallback.onCallStateChanged 回调通知。 当收到 JCCCallState.INCOMING 类型的通话状态变化时, 可以调用此方法接听来电。

    // 在收到来电回调中
    onCallStateChanged: (state, incomingType, inviter, reason) => {
    if (state === JCCCallState.INCOMING) {
    // 显示来电界面,用户点击接听按钮时调用
    JCCGuestManager.getInstance().answer();
    }
    }
  • 结束通话

    Returns boolean

    结束请求是否成功发送

    挂断当前通话或拒绝来电,结果通过 JCCGuestCallback.onCallStateChanged 回调通知。 可以在通话中或收到来电时调用此方法。

    // 结束当前通话
    JCCGuestManager.getInstance().term();

    // 在收到来电回调中拒绝来电
    onCallStateChanged: (state, incomingType, inviter, reason) => {
    if (state === JCCCallState.INCOMING) {
    // 用户点击拒绝按钮时调用
    JCCGuestManager.getInstance().term();
    }
    }