关于web:Web-端使用融云-SDK-集成实现滑动加载历史消息

3次阅读

共计 873 个字符,预计需要花费 3 分钟才能阅读完成。

Web 端应用融云 SDK 集成实现滑动加载历史音讯


刚接触即时通讯的我的项目,在应用融云的 SDK 来实现我的项目需要时,磕磕碰碰,死命看文档和提工单问融云的技术人员,真是一段痛并高兴的历程,哈哈哈!明天分享一个滑动加载获取历史音讯的性能

知识点

先看获取历史音讯的代码:

var conversation = im.Conversation.get({
  targetId: '接管方的 userId',
  type: RongIMLib.CONVERSATION_TYPE.PRIVATE
});
var option = {timestrap: +new Date(),
  count: 20
};
conversation.getMessages(option).then(function(result){
  var list = result.list; // 历史音讯列表
  var hasMore = result.hasMore; // 是否还有历史音讯能够获取
  console.log('获取历史音讯胜利', list, hasMore);
});

参数阐明:

1、因为 Web 端没有本地存储,不提供本地获取办法,只能从远端获取
2、应用获取历史音讯办法须要在开发者后盾开启 IM 商用版 – 单群聊云存储  服务
3、每次最多只能获取 20 条历史音讯
所以问题来了,获取历史音讯的办法最多只能获取 20 条音讯,那我想获取 20 条之前的音讯,怎么办呢?
咱们须要从它的参数来动手,解决思路就是扭转参数 timestrap(工夫戳),在每次调用 conversation.getMessages 胜利取得历史音讯列表 result.list 后,将 result.list 中 sentTime 值最小的赋值给 timestrap 而后滑动持续调用 conversation.getMessages 即可获取不同时间段的历史音讯,也能够通过扭转参数 order 来扭转是获取该时间段之前的音讯还是之后的音讯。

是不是很简略,反正一开始我是迷糊了,所以记录一下,也分享给有须要的同学,有余的中央还请留言斧正,大家共勉 ~ 加油!!!

下图是 result.list 中 message 的属性阐明:

正文完
 0