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