RongIMLib

引入

var RongIMLib = RongDesktop.require('RongIMLib');

API 说明

基础 API

链接、会话、消息等基础功能请查看 Web SDK 开发指南

桌面版 IMLib 兼容 Web SDK 所有方法

insertMessage

插入本地消息

参数说明:

参数 类型 是否必填 说明 桌面版版本
conversationType Number 会话类型 2.0.1
targetId String 目标 id 2.0.1
message Object 消息内容 2.0.1

message 参数说明

参数 类型 是否必填 说明 桌面版版本
direction Number 发送方向 2.0.1
senderUserId String 发送者 id 2.0.1
objectName String 消息内置名称 2.0.1
content Object 消息内容 2.0.1

示例代码:

var selfId = 'user1';
var message = {
    direction: RongIMLib.MessageDirection.SEND,  // 自己为发送方
    objectName: 'RC:TxtMsg',
    senderUserId: selfId,  // 自己为发送方, 所以发送者 id 为自己的 id
    content: {
        content: 'hello, RongCloud'
    }
};
var conversationType = RongIMLib.ConversationType.PRIVATE;  // 单聊, 其他会话选择相应的消息类型即可
var targetId = 'user2';  // 目标(接收者) Id
RongIMClient.getInstance().insertMessage(conversationType, targetId, message, {
    onSuccess: function (message) {
        console.log('插入本地消息成功', message);
    },
    onError: function (errorCode) {
        console.log('插入本地消息失败 ', errorCode);
    }
});

getMessage

获取消息

var messageId = message.id;  // message 可通过历史消息或消息收发获取
RongIMClient.getInstance().getMessage(messageId, {
    onSuccess: function(message) {
        console.log('获取消息成功', message);
    },
    onError: function(error) {
        console.log('获取消息失败', error);
    }
});

clearHistoryMessages

清除本地历史消息

params 参数说明:

参数 类型 是否必填 说明 桌面版版本
conversationType Number 会话类型 2.0.1
targetId String 目标 id 2.0.1
var params = {
    conversationType: RongIMLib.ConversationType.PRIVATE,  // 单聊
    targetId: 'user1'  // 目标 id
};
RongIMClient.getInstance().clearHistoryMessages(params, {
    onSuccess: function () {
        console.log('清除本地历史消息成功');
    },
    onError: function (errorCode) {
        console.log('清除本地历史消息失败');
    }
});

clearConversations

清空本地会话

RongIMClient.getInstance().clearConversations({
    onSuccess: function () {
        console.log('清除本地会话成功');
    },
    onError: function (errorCode) {
        console.log('清除本地会话失败');
    }
});

setMessageContent

修改消息内容(content)

参数说明

参数 类型 是否必填 说明 桌面版版本
messageId Number 消息 id 2.0.1
objectName String 消息内置名称 2.0.1
content Object 消息内容 2.0.1
var messageId = message.id;  // message 可通过历史消息或消息收发获取
var content = {
    content: 'RongCloud'
};
var objectName = 'RC:TxtMsg';
RongIMClient.getInstance().setMessageContent(messageId, content, objectName);

clearUnreadCountByTimestamp

按时间清除会话未读数

参数说明:

参数 类型 是否必填 说明 桌面版版本
conversationType Number 会话类型 2.0.1
targetId String 目标 id 2.0.1
timestamp Number 清除时间, 清除该时间之前的未读数 2.0.1
var conversationType = RongIMLib.ConversationType.PRIVATE;
var targetId = 'user2';
var timestamp = +new Date();
RongIMClient.getInstance().clearUnreadCountByTimestamp(conversationType, targetId, timestamp, {
    onSuccess: function() {
        console.log('清除未读数成功');
    },
    onError: function(error) {
        console.log('清除未读数失败', error);
    }
});

setMessageReceivedStatus

修改接收状态

参数说明:

参数 类型 是否必填 说明 桌面版版本
messageId Number 消息 id 2.0.1
receivedStatus String 接收状态 2.0.1
var messageId = message.id;  // message 可通过历史消息或消息收发获取
var receivedStatus = RongIMLib.ReceivedStatus.READ;
RongIMClient.getInstance().setMessageReceivedStatus(messageId, receivedStatus, {
    onSuccess: function() {
        console.log('修改接收状态成功');
    },
    onError: function(error) {
        console.log('修改接收状态失败', error);
    }
});

setMessageSentStatus

修改发送状态

参数说明:

参数 类型 是否必填 说明 桌面版版本
messageId Number 消息 id 2.0.1
sentStatus String 发送状态 2.0.1
var messageId = message.id;  // message 可通过历史消息或消息收发获取
var sentStatus = RongIMLib.SentStatus.SENDING;
RongIMClient.getInstance().setMessageSentStatus(messageId, sentStatus, {
    onSuccess: function() {
        console.log('修改发送状态成功');
    },
    onError: function(error) {
        console.log('修改发送状态失败', error);
    }
});

searchConversationByContent

按内容搜索会话

参数说明:

参数 类型 是否必填 说明 桌面版版本
keyword String 搜索内容 2.0.1
conversationTypes Array 搜索的会话类型 2.0.1
var keyword = 'rongcloud';
var conversationTypes = [ RongIMLib.ConversationType.PRIVATE ];
RongIMClient.getInstance().searchConversationByContent(keyword, {
    onSuccess: function(conversationList) {
        console.log('搜索会话成功', conversationList);
    },
    onError: function(error) {
        console.log(搜索会话失败, error);
    }
}, conversationTypes);

searchMessageByContent

按内容搜索会话内的消息

参数说明:

参数 类型 是否必填 说明 桌面版版本
keyword String 搜索内容 2.0.1
conversationType Number 会话类型 2.0.1
targetId String 目标 id 2.0.1
timestamp Number 搜索时间, 搜索该时间之前的消息 2.0.1
count Number 获取的数量 2.0.1
var conversationType = RongIMLib.ConversationType.PRIVATE;
var targetId = 'user1';
var keyword = 'rongcloud';
var timestamp = +new Date();
var count = 100;
var isTotal = true;
RongIMClient.getInstance().searchMessageByContent(conversationType, targetId, keyword, timestamp, count, {
    onSuccess: function(messageList) {
        console.log('搜索消息成功', messageList);
    },
    onError: function(error) {
        console.log(搜索消息失败, error);
    }
});

getUnreadMentionedMessages

获取会话下所有未读的 @ 消息

参数说明:

参数 类型 是否必填 说明 桌面版版本
conversationType Number 会话类型 2.0.1
targetId String 目标 id 2.0.1
var conversationType = RongIMLib.ConversationType.PRIVATE;
var targetId = 'user1';
RongIMClient.getInstance().getUnreadMentionedMessages(conversationType, targetId, {
    onSuccess: function(messageList) {
        console.log('获取 @ 消息成功', messageList);
    },
    onError: function(error) {
        console.log(获取 @ 消息失败, error);
    }
});

results matching ""

    No results matching ""