IM扩展功能

扩展功能提供了一些IM相关的扩展功能,比如:消息回复、消息快捷评论、会话置顶、收藏夹、会话消息PIN等等

消息回复(thread)

消息回复指可以对一条已有的消息进行回复。如下图,消息B是对消息A的回复,消息C是对消息B1的回复。则消息B是消息A的父消息,消息C是消息B1的子消息,消息A是消息B和消息C的根消息,我们称消息A、B、C为thread消息

消息回复

一条IM消息可以有0或者一条父消息,可以有0或者n条子消息。当一条消息既没有父消息,也没有子消息时,称之为普通消息,反之有超过0条的父消息或子消息时称之为thread消息,没有特殊说明的消息是普通消息。

除了thread消息的根消息外(如上图中的A),所有的thread消息对象都有threadMsgFromAccountthreadMsgToAccountthreadMsgTimethreadMsgIdServerthreadMsgIdClientreplyMsgFromAccountreplyMsgToAccountreplyMsgTimereplyMsgIdServerreplyMsgIdClient十个属性,代表thread根消息和父消息的fromtotimeidServeridClient

注:如需开通该功能,请联系商务经理

回复一条消息

发送消息时添加replyMsg参数

var msgA = {
  scene: 'p2p',
  from: 'cs2',
  to: 'cs1',
  time: 1589179595804,
  type: 'text',
  sessionId: 'p2p-cs2',
  target: 'cs2',
  flow: 'in',
  status: 'success',
  text: 'hello world!',
  idClient: '1296612f2562e916be8fc4fdbc9e938e',
  idServer: '2798262',
}
nim.sendText({
  scene: 'p2p',
  to: 'cs2',
  text: 'reply hello world',
  replyMsg: msgA,
  done: (e, r) => console.log(e ? '发送消息失败' : '发送消息成功')
})

获取thread消息列表getThreadMsgs

API文档:getThreadMsgs

根据idServer批量查询服务器消息

API文档:getMsgsByIdServer

消息快捷评论

不同于消息,评论只有几个简单的字段,可以删除,不计入未读数。快捷评论模型

注:如需开通该功能,请联系商务经理

添加评论

对一条消息进行快捷评论,对于同一个添加者,同一条消息的同一类型只能添加一次,前面的会被后添加的评论覆盖。

API文档:addQuickComment

删除评论

只能删除自己添加的快捷评论

API文档:deleteQuickComment

查询消息的快捷评论列表

可批量查询,即同时查询多个消息的评论列表

API文档:getQuickComments

收藏功能

收藏的模型对象

增加一个收藏

API文档:addCollect

批量删除收藏

API文档:deleteCollects

查询收藏列表

API文档:getCollects

会话置顶功能

被置顶会话对象isTop属性为true,会话是置顶状态时,也可设置或更新其置顶扩展字段topCustom

除了实现会话置顶外,该功能配合其扩展字段也可用来实现会话盒子、会话分类等多种花样功能

新增置顶会话

API文档:addStickTopSession

更新置顶会话的扩展字段

API文档:updateStickTopSession

取消会话置顶

API文档:deleteStickTopSession

获取置顶会话列表

API文档:getStickTopSessions

会话消息PIN标记

可以给消息添加PIN标记,称之为PIN消息。之后可以根据会话ID查询会话下的所有PIN消息,每个会话的PIN消息有上限

注:如需开通该功能,请联系商务经理

新增PIN一条消息

API文档:addMsgPin

更新PIN消息的扩展字段

API文档:updateMsgPin

取消PIN一条消息,即unPin

API文档:deleteMsgPin

获取会话的PIN消息列表

API文档:getMsgPins