Web 网页端即时通讯源码 /IM 聊天源码 RainbowChat-Web

1、基本介绍
RainbowChat-Web 是一套基于MobileIMSDK-Web的网页端 IM 系统。不同于市面上某些开源练手或淘宝售卖的 demo 级代码,RainbowChat-Web 的产品级代码演化自真正运营过的商业产品,其所依赖的通信层核心 SDK 已在数年内经过大量客户及其辐射的最终用户的使用和验证。RainbowChat-Web 同时也是移动端 IM 应用RainbowChat的姊妹产品。

2、品质说明
❶ 源自真正运营的商业产品:RainbowChat-Web 的技术源于真实运营的商业产品。❷ 它不是个 Demo:不同于市面上某些开源或淘宝售卖的 demo 级代码,RainbowChat-Web 的产品级代码演化自真正运营过的商业产品,其所依赖的通信层核心 SDK(即MobileIMSDK-Web)已在数年内经过大量客户及其辐射的最终用户的使用和验证。❸ 简洁、精炼、优化、原生:RainbowChat-Web 为了尽可能降低 2 次开发时的上手门槛、兼容性、可读性、可维护性的难度,坚持不依赖任何前端框架(这些框架通常是指 AngularJS、VUE、EmberJS、React 等),返璞归真,只使用原生 JS+HTML+CSS(再无其它复杂性),极大降低开发者的上手难度、兼容成本,达到最简洁、最精炼、最灵活的目标(简洁、简单、回归本质的东西,才能拥最强的生命力)。截止目前:RainbowChat-Web 努力保证在各主流系统、主流浏览器、不同分辨率屏幕上的体验,包括但不限于:Chrome、Safari、FireFox、Edge、360 浏览器、世界之窗浏览器等▼

3、运行演示
❶ 运行截图,详见:《RainbowChat-Web前端功能截图》❷ 演示视频,详见:《RainbowChat-Web运行演示视频》
4、功能简介
1、支持文本消息、查看语音留言消息(由App产品发送)、图片消息、大文件消息、查看短视频消息(由App产品发送)、名片消息、位置消息、消息表情、快捷消息、消息撤回、消息转发等;2、支持一对一陌生人聊天模式;3、支持一对一正式好友聊天模式;4、支持多对多群聊聊天模式;5、完善的群组信息管理:建群、退群、解散、转让、邀请、踢人、群公告等;6、完整的注册、登陆、密码找回等等功能闭环;7、个人中心功能:改基本信息、改个性签名、改头像、改密码等;8、支持查看个人相册、个人语音介绍;9、完整的离线消息/指令拉取机制;10、完整的历史消息/指令存取机制;11、完整的好友关系管理:查找好友、发出请求、处理请求、删除好友、好友备注等;12、以及其它未提及的功能和特性。
5、技术亮点
1)轻量易使用:纯原生 JS 编写,坚持不依赖任何前端框架(这些框架通常是指 AngularJS、VUE、EmberJS、React 等);
2)模块化设计:所有 UI 模块、数据逻辑均由独立封装的 JS 对象管理,代码规范、低耦合,有效防止代码复杂性扩散;
3)浏览器跨域:所有 AJAX 接口均为 JSONP 实现,百分百支持跨域;
4)通信代码解偶:得益于高内聚的MobileIMSDK-Web工程,实现了 IM 功能逻辑与网络通信的解偶,利于持续升级、重用和维护(这是经验不足的 IM 产品做不到的);
5)支持 WebSocket:并非某些产品中还在使用的过时“长轮询”技术,真正的“即时通讯”;
6)网络兼容性好:核心层基于MobileIMSDK-Web技术,在不支持 WebSocket 的情况下仍可很好地工作;
7)断网恢复能力:拥有网络状况自动检测、断网自动治愈的能力;
8)轻松支持加密:一个参数即可开启 SSL/TLS 通信加密;
9)服务端慢 io 解偶:IM 实例本身坚持不直接进行 DB 等慢 io 的读、写,保证 IM 实时消息高吞吐和性能;
10)服务端逻辑解偶:得益于MobileIMSDK-Web工程,实现了上层逻辑与网络通信核心的解偶,底层数据通信全部通过低偶合的回调通知来实现;
11)完善的 log 记录:服务端使用 log4js 日志框架,确保每一关键步骤都有日志输出,让您的运行调试更为便利;
12)聊天协议兼容:实现了与RainbowChat-APP产品完全兼容的协议模型;
13)消息收发互通:实现了与RainbowChat-APP产品的无缝消息互通。
6、支持的聊天消息类型

7、好友聊天

8、群聊聊天

9、发送“群名片”消息

10、发送“位置”消息

11、“消息撤回”

12、“消息转发”

12、“消息引用”

14、“@”功能

15、其它特性和细节
聊天区上方聊天对象信息显示:(查看视频)

消息送达状态图标显示:(查看视频)

评论