# 事件广播

我们会对某些事件进行广播,你可以通过订阅相关的事件来进行相应的逻辑处理。

注意

所有的事件回调都在后台线程中执行,请谨慎操作 UI 元素。

# API

# registerAsyncEventListener()

调用此方法注册某个事件的回调。

AIHelpSupport.registerAsyncEventListener(YOUR_EVENT, function(jsonEventData, ack) {
    // You can get callback here if the target event is fired
    // checkout at the definition and code examples for more information
    /**
     * 当接收到事件时调用
     *
     * @param jsonEventData  事件数据,格式为 json 字符串
     * @param ack 需要回执给 AIHelp 的回调接口
     */
    console.log(jsonEventData);
    /**
     * 部分事件可能需要将结果回传给 AIHelp,在这种情况下,调用此回调方法发送确认结果。
     * 
     * 目前需要使用此功能的事件:
     * 1. `EventType.ENTERPRISE_AUTH` 企业身份认证,通过 `token` 字段将用户令牌回传;
     * 2. `EventType.UPLOAD_LOG` 日志上传,通过 `content` 字段将上传结果或其它信息回传。
     *
     * @param jsonAckData 事件的回执结果,格式为 json 字符串
     */
    ack(jsonAckData);
});

# unregisterAsyncEventListener()

调用此方法解除对某个事件的监听。

AIHelpSupport.unregisterAsyncEventListener(YOUR_EVENT);

# 参数释义

# eventType

# 事件类型

# 初始化

  • 事件:initialization
  • 数据:{ "isSuccess": true, "message": "Success" }
  • ACK:-

# 用户登录

  • 事件:userLogin
  • 数据:{ "code": 1, "message": "Success" }
  • ACK:-

# 企业授权

  • 事件:enterpriseAuth
  • 数据:-
  • ACK:{ "token": "this_is_your_authenticated_token" }

# 未读消息

# 未读工单

# 日志上传

  • 事件:logUpload
  • 数据:-
  • ACK:{ "content": "this_is_your_authenticated_token" }

# 链接点击

  • 事件:urlClick
  • 数据:{ "url": "https://your.target.url?js-bridge=enable" }
  • ACK:-
  • 说明:参数包含 js-bridge=enable 的链接被点击的时候,该事件就会被触发

# 对话开始

  • 枚举值:conversationStart
  • 数据:{ "message": "this is the first message user sent" }
  • ACK:-

# 窗口打开

  • 事件:sessionOpen
  • 数据:-
  • ACK:-

# 窗口关闭

  • 事件:sessionClose
  • 数据:-
  • ACK:-
上次更新: 8/16/2024, 10:59:25 AM