Web 如何获取历史消息

获取历史消息获取机制
发布时间: 2016-05-17 17:16

回答:

var conversationType = RongIMLib.ConversationType.PRIVATE;
var targetId = 'user1';
var timestrap = null; // 默认传 null, 若从头开始获取历史消息, 请赋值为 0
var count = 20;
RongIMLib.RongIMClient.getInstance().getHistoryMessages(conversationType, targetId, timestrap, count, {
    onSuccess: function(list, hasMsg) {
        /* 
        list: 获取的历史消息列表
        hasMsg: 是否还有历史消息可以获取
        */
        console.log('获取历史消息成功', list);
    },
    onError: function(error) {
        // 请排查:单群聊消息云存储是否开通
        console.log('获取历史消息失败', error);
    }
};


当 timestrap = null 时, 拉取历史消息支持自动拉取, 具体逻辑:

条件: 历史记录为 45 条, 每次拉取 20 条(count = 20)

第一次拉取 list 长度为 20, hasMsg 为 true

第二次拉取 list 长度为 20, hasMsg 为 true

第三次拉取 list 长度为 5, hasMsg 为 false

第四次拉取 list 长度为 0, hasMsg 为 false