输入状态
发送输入状态消息
当用户正在输入消息时,可以通过调用 sendTypingStatusMessage 方法,向对方发送“正在输入”的状态提示。
接口
JavaScript
RongIMLib.sendTypingStatusMessage(conversation, typingContentType)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversation | IConversationOption | 是 | 目标会话 |
typingContentType | string | 是 | 输入状态消息类型,融云内置消息的类型名称详见消息类型概述。 |
示例代码
JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "targetId"
}
RongIMLib.sendTypingStatusMessage(conversation, RongIMLib.MessageType.TEXT).then(res => {
// 发送输入状态成功
if ( res.code === 0) {
console.log(res.code, res.data)
} else {
console.log(res.code, res.msg)
}
})
设置输入状态事件监听
监听对方的“正在输入”状态变化,通过事件回调实时获取当前处于输入状态的会话及人员列表。
API 参考:addEventListener
示例代码
JavaScript
const Events = RongIMLib.Events;
function onTyping({ status }) {
// 同一时刻,可能存在多个会话均有人在输入状态中
status.forEach((item) => {
const { targetId, conversationType, channelId, list } = item;
console.log(`当前正在输入的会话:`, targetId, conversationType, channelId);
// 同一时刻可能存在多人在同一个会话中同时输入,如群组;
// list 为该会话内处于输入状态的人员列表
list.forEach(({ userId, timestamp, messageType }) => {
// ...
})
})
}
RongIMLib.addEventListener(Events.TYPING_STATUS, onTyping);