Appearance
智能体对话页 SDK 事件说明
智能体 Web SDK 采用事件机制向嵌入方提供信息,可按照以下方式监听事件:
js
// 监听某个事件多次触发
robot.on("eventName", (data) => {
// do something
});
// 监听某个事件一次触发
robot.once("eventName", (data) => {
// do something
});
// 移除某个事件的某个监听回调
robot.off("eventName", (data) => {
// do something
});
// 移除某个事件的所有监听
robot.off("eventName");progress
智能体初始化进度变化时触发
示例代码
js
robot.on("progress", (precent) => {
console.log("progress", `${precent}%`);
});initSuccess
智能体初始化成功时触发
示例代码
js
robot.on("initSuccess", () => {
console.log("initSuccess");
});wsConnected
智能体与服务端建立 WebSocket 连接成功时触发
示例代码
js
robot.on("wsConnected", () => {
console.log("wsConnected");
});wsDisconnected
智能体与服务端断开 WebSocket 连接时触发
示例代码
js
robot.on("wsDisconnected", (data) => {
console.log("wsDisconnected", data);
});数据格式
json
{
"reason": string, // 断开原因
"code": number, // 断开代码
"wasClean": number // 是否正常断开
}message
智能体收到消息时触发,用于接收服务端发送的聊天消息
注意
出于数据安全考虑,message 事件需要配置域名白名单。请在监听该事件前确保已向智能体开发团队提交您的调用域名。
内置调试域名:localhost
示例代码
js
robot.on("message", (data) => {
console.log("message", data);
});speechLinkRefresh
远程语音输入连接地址有效期为 30 秒,在有效期内未进行连接则会重新生成连接地址,可用该事件进行接收。
示例代码
js
robot.on("speechLinkRefresh", (link) => {
console.log("speechLinkRefresh", link);
});speechStatusChange
远程语音输入连接状态变化时触发
示例代码
js
robot.on("speechStatusChange", (status) => {
console.log("speechStatusChange", status);
});状态说明
connected 连接成功
losted 连接断开
fail 连接失败
speechText
远程语音输入文本识别成功时触发, 返回识别结果
示例代码
js
robot.on("speechText", (text) => {
console.log("speechText", text);
});speechDuration
语音输入剩余可用时长变化时触发, 单位为秒
注意
仅在
speech(options)的参数中options.remoteInput为false时生效语音输入过程中静默时长达到
10秒时会自动结束语音输入
示例代码
js
robot.on("speechDuration", (duration: number) => {
console.log("speechDuration", duration);
});destroy
智能体销毁时触发
示例代码
js
robot.on("destroy", () => {
console.log("destroy");
});