# 事件广播
我们会对某些事件进行广播,你可以通过订阅相关的事件来进行相应的逻辑处理。
注意
所有的事件回调都在后台线程中执行,请谨慎操作 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
- 类型:
EventType
- 详情:必传参数。 所有 AIHelp 可能会触发的事件。不同的事件可能会携带不同的参数,有些事件可能还会要求回执。
# 事件类型
# 初始化
- 事件:initialization
- 数据:
{ "isSuccess": true, "message": "Success" }
- ACK:
-
# 用户登录
- 事件:userLogin
- 数据:
{ "code": 1, "message": "Success" }
- ACK:
-
# 企业授权
- 事件:enterpriseAuth
- 数据:
-
- ACK:
{ "token": "this_is_your_authenticated_token" }
# 未读消息
- 事件:messageArrival
- 数据:
{ "msgCount": 1 }
- ACK:
-
# 未读工单
- 枚举值:unreadTaskCount
- 数据:
{ "taskCount": 1 }
- ACK:
-
# 日志上传
- 事件: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:
-