9、 Uniapp+vue+腾讯IM+腾讯音视频开发一款模仿微信的IM聊天App,支持各种消息收发、音视频通话,带有vue实现源代码(开源)-实现聊天会话管理
app开发
APP开发
浏览:774 次

前几篇文章概述。我们讨论了UI。现在让我们回到正题,谈谈聊天会话管理的实现
聊天会话管理的实现1.加载会话列表在插件的底层做好了会话缓存。我们只需要根据腾讯提供的api加载。具体定义如下:
具体调用代码如下。这里我们需要注意,参数nextSeq是由插件反馈的。因此,每次执行getConversationList时,我们都需要在回调中记录最新的nextSeq
导出默认值{
数据(){
返回{
nextSeq:0,
会话列表:[]
}
},
已安装(){
让{data}=等待这个。$txim.getConversationList(this.extSeq,999)

//您需要在此处更新nextSeq
这nextSeq=data.nextSeq
数据conversationList=数据。conversationList | | data.coversations
let conversationList=data.conversationList。sort((a,b)=>b.lastMessage。时间戳-a.lastMessage.timstamp)
这conversationList=会话列表
}
}
2.删除会话项要删除会话项,我们使用deleteConversation api。DeleteConversation是删除会话记录api。请注意,当您删除会话时,本地保存的聊天记录将同时被删除。请谨慎使用。
this.$txim.deleteConversation(会话ID)
//删除此处后,任何事件都不会通知我们您已删除此会话
//因此,我们需要删除会话列表中的元素并触发界面刷新
this.conversationList。拼接(索引,1)

3.在微信中设置会话草稿的一个特例是会话草稿,大致如下图所示
这里我们主要使用setConversationDraft方法,它只是会话项的标记。标记其草稿没有实际效果,仅用于本地显示。
const conversation=uni.requireNativePlugin(“TXIM对话”);
让会话ID=“129308-4291-94810-428190-1238921”
让draftText=“草稿”
会话setConversationDraft(会话ID,草稿文本,res=>{
//res={类型,数据,代码}
控制台.log(res)
})
查看exchange组项目的项目开源地址和成品效果:单击
项目源地址:https://gitee.com/ckong/Zhimi.OpenSource.UniApp.TXIM.Vue
Uniapp开发交流组:755910061