如果不删除会话的时候,从好友列表点击进入可以显示历史聊天的的消息,只要执行删除会话,在从好友列表进入会话,聊天消息不显示,如果在聊天输入框发送消息,所有消息又会显示出来。
下面是调取环信接口的代码片段:
//调用环信删除会话
function fnDeleteConversation(conversationId_,type_) {
// console.log(conversationId_)
fneaseChatDeleteConversation(conversationId_,type_,false);
}
//环信删除会话
function fneaseChatDeleteConversation(conversationId_,type_,isDeleteMessages_){
easeChat = api.require('easeChat');
easeChat.deleteConversation({
conversationId: conversationId_,
isDeleteMessages: isDeleteMessages_
},function(ret,err) {
console.log(JSON.stringify(ret));
if(ret.status){
fngetAllConversations();
}else{
api.alert({ msg:JSON.stringify(err)});
}
});
}
//获取所有会话
function fngetAllConversations(){
easeChat = api.require('easeChat');
easeChat.getAllConversations(function(ret) {
// console.log(JSON.stringify(ret.conversations));
var _total = 0;
for(var i in ret.conversations){
_total += ret.conversations[i].unreadMessagesCount;
}
//存储未读消息总数
$api.setStorage('unread_total', _total);
//刷新底部导航消息数
api.execScript({
name: 'main',
script: 'fnNewsBadge('+_total+');'
});
//刷新会话消息
api.execScript({
name: 'main',
frameName: 'message_frame',
script: 'fnLoadConversation('+JSON.stringify(ret)+');'
});
//ret.conversation =_conversation;
// fnLoadConversation(ret);
});
}
//获取聊天消息
function fnMessageFromDB(_conversationId,_type,_loadMore,_lastid,_pagesize){
var ePagesize;
if(_pagesize){
ePagesize++;
}else{
ePagesize=6;
}
easeChat = api.require('easeChat');
easeChat.loadMessageFromDB({
conversationId: _conversationId,
type: _type,
startMsgId:_lastid,
pagesize:ePagesize
},function(ret) {
api.refreshHeaderLoadDone();
// console.log(JSON.stringify(ret));
fnLoadMessageFromDB(ret,_loadMore);
});
}
//从好友列表点击进入带参数
api.openWin({
name: 'message_chat',
url: 'widget://html/message/message_chat.html',
pageParam: {
name: name,
id: id,
type: type
}
});