LeanCloud获取最近会话列表和获取最后一条聊天记录
来源:互联网 发布:mac 获取当前文件路径 编辑:程序博客网 时间:2024/05/29 13:00
最近公司有项目需要集成IM聊天功能,领导要求用LeanCloud集成,搞不出来就要背包滚蛋啊,没办法只能硬着头皮搞了。
刚拿到官方提供的demo感觉:嗯,不错。图片语音啥的都有了,但尼玛这还不够啊,还有最近会话列表呢?看看他们的代码,突然发现提供了一个封装好的方法findRecentConversationWithBlock,会是这个吗?
不管了先试试再说。额。。。怎么获取的老是最新的一个呢?查看下代码黄色别墅http://www.326dy.com/
我们继续查看这个方法声明在AVIMConversationQuery.h这个文件中,发现会话有三个条件查询
好吧,看来这个方法查询的只是最新的一个会话了,不是我们所需要的,既如此,那我们试试第三个方法吧,看方法名应该可以查询到所有会话的记录。试试,果不其然,重新写个方法
326电影网http://www.326dy.com/
OK,就他了。那我们继续写获取每个会话最后一条聊天记录,不可能我们在循环会话列表中再循环获取每个会话的最后一条聊天记录(不要问我为什么,想不通可以去找警察叔叔),这时我们要判断这个会话最后一次更新时间是否与本地缓存的最后一个聊天记录时间一致,否则才需要更新。(PS:我这里所有数据都放在云端,本地只保存会话列表和最后一条聊天记录信息,受我这种缓存模式限制,所以需要每次都同步一下数据的,不多解释了)
眼看是不是即将完成最后一步,只需要根据最后一次聊天更新时间来判断是否需要更新该会话最后一条聊天记录时,又出幺蛾子了,官方文档上说好的updatedAt这个时间呢?怎么点不出来啊???!!查找
性喜剧http://www.326ys.com/尼玛,这有个鸡巴,我们最关注的updatedAt竟然没有,好吧,再去查看下官方文档,发现现在的官方文档是2.0版本的,那么这个聊天类库不会是1.X的吧!!!!!肿么办,,,,难道我要跑过去告诉领导,搞不定了,我要背包滚蛋了?????
当然不行,即使滚蛋了也要把这个问题解决这才是程序员之道是不。既然如此,再去研究官方文档,这次发现2.0版本之后,他们把所有的聊天会话其实都存放在_Conversation表中了,那我们把这张表数据读出来岂不是就ok了呀。OK,怎么读数据,研究下LeanCloud的数据存储发现,原来读数据这么简单,那我们还等什么,开始敲吧
测试下是否拿到了所有的数据。哈哈果然。拿到了我们需要的会话列表,那我们再来获取每个会话的最后一条聊天记录吧
代码里用的时候
OK,所有都搞定,整理整理准备砸领导个碧莲去:什么都想搞,坑爹不,非得需要这个最后一次聊天记录,要是不要得省多少事啊,你知道不?你知道不?你知道不?
326影视http://www.326ys.com/
以上纯属个人观点,言语措辞有些不当请多担待。写此文章只为让有同样需求的童鞋们可以少走一些弯路而已。同时希望LeanCloud的童鞋们可以提供更好的demo供我等屌丝简单的集成,也祝LeanCloud越来越好。谢谢!
- LeanCloud获取最近会话列表和获取最后一条聊天记录
- LeanCloud获取最近会话列表和获取最后一条聊天记录
- 如何获取最后一条数据
- 获取数据库最后一条数据
- Android 获取短信会话列表
- Android 获取短信会话列表
- Android 获取短信会话列表
- MYSQL中如何获取最后一条记录?
- v-for获取最后一条记录
- Android获取收件箱列表与会话内容
- android 群发会话中获取联系人列表
- ListView怎么获取第一条完全显示和最后一条完全显示的Index
- QQ2013 聊天记录获取(Hook)
- Android获取手机最近任务列表
- oracle 编写sql语句获取表中的最后一条数据
- sql server 获取最后一条插入的记录的主键
- 获取离当前时间最近的一条数据
- 消息列表统计最后一条
- 2014acm亚洲赛总结
- Android IOS WebRTC 音视频开发总结(四四)-- webrtc图书
- C代码实现数组
- UVA - 10763 Foreign Exchange
- java中的内部类总结
- LeanCloud获取最近会话列表和获取最后一条聊天记录
- 第一次写博客
- 使用rand()与srand()产生随机数
- WPF中使用ReportViewer报表
- window操作系统快捷键
- 关于C#中params关键字的作用及用法
- Java的字符串分割的不同实现
- 引用和应用对象的区别
- zhendeshizaikanbudong