Appearance
智能体对话页 SDK 方法说明
on
监听事件并设置回调
方法签名
js
on(eventName: string, callback: function) => void示例代码
js
robot.on("progress", (data) => {
console.log(data);
});once
监听事件(仅触发一次)
方法签名
js
once(eventName: string, callback: function) => void示例代码
js
robot.once("progress", (data) => {
// 以下代码只会打印一次
console.log(data);
});off
取消指定事件的监听回调,callback 为空时取消所有同名事件
方法签名
js
off(eventName: string, callback?: function) => void示例代码
js
const foo = () => {
// to do something
};
const bar = () => {
// to do something
};
// 监听 progress 事件
robot.on("progress", foo);
robot.on("progress", bar);
// 取消 progress 事件的 foo 回调,保留 bar 回调
robot.off("progress", foo);
// 取消所有 progress 事件的回调
robot.off("progress");emit
触发事件,data 为可选参数
方法签名
js
emit(eventName: string, ...data?: any) => void示例代码
js
// 监听 hello 事件
robot.on("hello", (...data) => {
console.log(...data);
});
// 触发 hello 事件并传递参数
robot.emit("hello", "world");
// 触发 hello 事件并传递多个参数
robot.emit("hello", "world", "!");
// 触发 hello 事件并传递对象参数
robot.emit("hello", { name: "world" });send
向聊天窗发送内容,触发回复
方法签名
js
send(text: string, options?: { hidden: boolean }) => void示例代码
js
// 向聊天窗口发送文本
robot.send("请问如何借书");
// 向聊天窗口发送不可见的消息
robot.send("请问如何借书", { hidden: true });clearScreen
清空聊天内容,保留给定条数的记录,默认保留 1 条
方法签名
js
clearScreen(length?: number = 1) => void示例代码
js
// 清空聊天内容,保留 1 条记录
robot.clearScreen();
// 清空聊天内容,不保留记录
robot.clearScreen(0);
// 清空聊天内容,保留 3 条记录
robot.clearScreen(3);speech
启动语音输入;当使用远程输入设备时可监听 speechLinkRefresh 事件获取远程语音输入设备连接地址
方法签名
js
speech(options?: { remoteInput: boolean }) => void示例代码
js
robot.speech(); // 等价于 robot.speech({ remoteInput: true });
// 不使用远程语音输入
robot.speech({ remoteInput: false });stopSpeech
停止语音输入;该方法可以停止远程设备的语音输入连接和本地设备的语音输入
提示
remoteInput: true 模式下启用的远程语音输入,若长时间未接入远程设备应及时调用该方法停止地址生成
方法签名
js
stopSpeech() => void示例代码
js
robot.stopSpeech();destroy
销毁实例
提示
- 请在页面卸载时调用该方法,防止内存泄漏
- 销毁实例后,无法再使用该实例,请重新创建实例
方法签名
js
destory() => void示例代码
js
robot.destroy();vue
// vue2
<script>
export default {
beforeDestroy() {
robot.destroy();
},
};
</script>
// vue3
<script setup>
import { onBeforeUnmount } from "vue";
onBeforeUnmount(() => {
robot.destroy();
});
</script>