免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2592 | 回复: 0

[其他] APICloud即时通讯模块使用教程三连发:教你实现即时通讯功能 [复制链接]

论坛徽章:
0
发表于 2015-05-20 14:06 |显示全部楼层
本帖最后由 app3c1 于 2015-05-20 15:49 编辑

【APICloud即时通讯教程第一弹】聊天会话的实现及UI
实现功能:融云会话聊天及UI,发送表情消息
使用模块:rongCloud   chatBox
教程开始:因为融云为第三方模块,每次调试都得需要云编译,建议大家先把UI和基本代码做好。
JS插件使用:zepto.min.js
一、UI的制作
二、融云的链接
详细内容:见附件


【APICloud即时通讯教程第二弹】会话列表及获取最新会话消息

在做会话列表页的时候发现了不少问题,首先我也是第一次使用apicloud和融云,下面讲的可能不是最好的办法,如果有更好的办法欢迎分享。首先说一下会话列表页实现的思路
一、使用 getConversationList 方法来获得全部会话列表,但是这样直接获得的列表并不是我们想要的,rongCloud的会话列表出现了两种情况:
    (1)发送者等于本地用户 ;
(2)接收者等于本地用户。
后面实现的功能是只获得接收者为本地用户的情况。
二、获得会话列表后将列表内容插入容器中,同时加载用户信息(主要为头像和昵称)。
三、监听是否有最新消息写入,我这里实现的逻辑是加载完列表后再来监听,这个就根据自己的需要来就行了。
四、如果有新消息进来,两种情况
(1)发送者已在会话列表中存在--->更新会话内容及时间;
(2)不存在--->写入容器。
五、点击会话列表页进入会话窗口,这里遇到了几个问题没能很好的解决,就使用了一个比较笨的办法。
问题:因为会话列表页在监听消息,当打开聊天页面也会在监听最新消息,中间可能会有冲突导致页面无法正常监听
我的解决方案(这个方法可能有点笨):
当打开聊天页面后,关闭会话列表页rongcloud的连接--------关闭聊天页面时关闭聊天页面的连接并重新打开会话列表页的连接,同时监听最新消息并更新下
详细内容:见附件

【APICloud即时通讯教程第三弹】完整案例开发,可以上线使用
期待的第三弹出来,实现的功能主要是整合前两篇讲的并做了下优化,目前已经上线,想体验的可以下载APP。这次讲的去掉了chatbox功能,只是文字消息的发送,如果是做语音和图片的自己可以去扩展。
详细内容:见附件
首先分析下流程:
  11.png
流程分析出来了,下面再做一下简单的说明
会话列表页消息的监听和获取这个地方的实现是比较容易的,但是在打开会话的时候列表页的监听会失效。所以就要在聊天页面来处理消息的监听时间。
在会话页面制作的时候,初次打开监听都是正常的,但是当发完一条消息后发现监听失效。反复的测试初步认为是键盘的弹出导致,可能是监听输入状态跟监听消息由点冲突。
会话页面监听数据时需要监听全局的消息,如果是当前会话的消息就写入,否则只是提示一下有新消息。
关闭会话页面时,因为列表页的监听已经失效,所以要发送一个刷新事件来获取最新消息和一个监听事件的开启。
详细内容:见附件
APICloud平台融云模块使用教程三连发.zip (15.31 KB, 下载次数: 42)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP