收藏-即时通讯(IM)开源项目OpenIM-功能手册

OpenIM · · 2234 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

OpenIM简介

OpenIM是由IM技术专家打造的开源即时通讯组件,也是目前最受欢迎的开源IM项目之一,目前github star近万。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时通讯能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

 

github地址:https://github.com/OpenIMSDK

文档中心:https://doc.rentsoft.cn/#/

 

平台支持

以下平台都支持,消息互通,且多端实时同步。

平台IMSDK音视频通话带UI的商业版工作圈组织架构Android支持支持支持未完成未完成iOS支持支持支持未完成未完成Web支持支持支持无支持Uniapp支持不支持支持未完成未完成Flutter支持支持支持支持支持Electron(win/mac)支持支持支持无支持

商业版本是针对政企办公场景,OpenIM技术团队在100%开源的OpenIM服务端和IMSDK基础上,开发功能完整的IM产品。客户经授权后,可以直接部署运营商业版,也可以在此基础上二次开发。

帐号功能

功能类型功能描述帐号导入以管理员身份批量导入帐号和业务系统对接帐号禁用封号,禁止登录用户在线状态查询在线和离线状态查询帐号查询帐号是否导入设置用户资料设置用户昵称、头像、性别、年龄等资料获取用户资料用户查看自己、好友及陌生人资料强制退出登录管理员强制用户退出登录

多端登录

功能类型功能描述双平台登录Android、iOS、iPad、Windows、Mac 每端只能1个在线;Web可同时在线10个

消息类型

功能类型功能描述文本消息消息内容是普通文本图片消息消息内容为图片 URL 地址、尺寸、图片大小等信息,支持MinIO,cos,oss,s3存储表情消息表情消息为开发者自定义语音消息语音数据需要提供时长信息,以秒为单位地理位置消息消息内容为地理位置标题、经度、纬度信息文件消息消息内容为文件的 URL 地址、大小、格式等信息,格式不限,大小不限,支持MinIO,cos,oss,s3存储视频消息消息内容为视频文件的 URL 地址、时长、大小、格式等信息,大小不限,支持MinIO,cos,oss,s3存储自定义消息开发者自定义的消息类型系统通知消息包含内置的系统通知消息和开发者自定义系统通知消息Tips 消息系统性通知消息,例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等,好友申请,好友增加等合并消息最大支持10条消息合并回复消息针对消息进行引用回复阅后即焚消息在单聊下开启后,对方已读后30秒自动删除

消息功能

功能类型功能描述离线消息用户登录后退到后台,当有用户给其发消息时,即时通信 IM 支持离线推送漫游消息在新设备登录时,将服务器记录(云端)的历史消息存储进行同步,可以配置延长多端同步多终端消息同步,可同时收到消息历史消息支持本地历史消息和云端历史消息消息撤回撤回操作支持单聊和群聊消息,撤回时间未限制,群内管理员可以撤回群成员消息已读回执支持单聊已读未读状态,群聊支持查看哪些人已读未读状态消息转发将消息转发给其他用户或群组@功能群内 @ 消息与普通消息没有本质区别,仅是在被 @ 的人在收到消息时,需要在 UI 上做特殊处理正在输入能实时感知对方正在输入离线推送支持极光、个推、google firebase推送消息删除支持删除本地和服务端消息标签推送创建标签,针对标签群发消息本地消息搜索支持搜索好友,搜索群组、群成员;搜索消息,会话

会话功能

功能类型功能描述置顶会话置顶会话,并多端同步删除会话删除会话,会话内消息也会删除设置免打扰接收消息但不提醒;不接收消息设置单聊阅后即焚对方已读就30秒双方自动删除

关系链功能

功能类型功能描述查找好友可通过用户帐号 ID 、二维码查找好友申请添加好友要选择默认是否需要申请理由,目前是默认不需要添加好友发送添加好友请求导入好友支持批量导入单向好友删除好友成为好友后可以删除好友,好友是双向关系获取所有好友获取所有好友,同意/拒绝好友收到请求加好友请求的系统通知后,可以通过或者拒绝添加用户到黑名单把任意用户拉黑,如果此前是好友关系不会解除好友关系移除黑名单把用户从黑名单中移除获取黑名单列表拉取用户黑名单列表好友备注成为好友后可以给好友备注校验好友支持校验好友关系校验黑名单支持校验黑名单关系链资料存储SDK 对关系链资料进行存储好友资料变更系统通知好友资料变更可以收到系统通知

群组功能

创建群组任何人可以创建群组退出群组群主不能退出群组解散群组群主解散群组申请加群可以通过群二维码 群ID申请加群,由群主和管理员审批加群审批群主和管理审批邀请加群群成员邀请加群可直接进群或由管理员审批修改群信息修改群头像、群名称、群公告编辑踢出群群主和管理员移除群成员搜索搜索群成员昵称和UserID群成员资料修改群昵称 群头像修改,并实时通知群成员管理员撤回群内消息不受时间限制撤回消息进群验证设置管理员设置,可直接进群;进群需要验证;群成员邀请直接进群群成员权限设置不允许查看群成员资料;不允许添加群成员为好友群主转让群主身份转让给群成员禁言全体禁言,个人禁言超级大群支持10万人群新成员进群查看历史消息支持新成员进群查看(不查看)历史消息成员变更通知新所有成员都能收到通知,包括成员进群、退群、邀请进群、成员被踢等,并实时通知群资料变更通知所有成员都能收到通知,包括群头像、群名、群公告被修改,并实时通知

音视频通话

1对1音视频支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时多对多音视频支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时

事件回调

用户登录回调用户登录成功后通过callback回调业务服务器用户退出登录回调用户退出登录成功后通过callback回调业务服务器发送单聊消息前回调用户发送单聊消息前通过callback回调业务服务器发送单聊消息后回调用户单聊消息后通过callback回调业务服务器发送群组消息前回调用户发送群组消息前通过callback回调业务服务器发送群组消息后回调用户发送群组消息后通过callback回调业务服务器消息推送前回调消息推送前回调通过callback回调业务服务器

组织架构

创建部门管理员创建部门创建用户管理员创建用户把用户导入某个部门管理员把用户导入某个部门,一个用户可以在多个部门中删除部门管理员删除部门及部门成员删除用户管理员删除用户,用户的部门信息也被删除删除部门中的某个用户管理员删除某个部门的某个用户获取部门的所有成员获取部门的所有成员信息获取子部门列表获取下级子部门列表获取用户所在的所有部门获取用户所有部门的岗位信息更新部门信息管理员更新部门信息更新组织架构中的用户信息管理员更新用户的基本信息更新部门中的用户信息管理员更新用户的岗位信息

工作圈

发布图文、发布视频发布图文,及1分钟视频删除动态删除动态浏览、评论、点赞默认是所有人可以操作评论、点赞实时提醒实时提醒发布者权限设置可设置谁可见

性能

单机8核32G,100Mb带宽, 6个SSD。

同时在线10万人每秒消息数5000条消息延时平均1-2秒消息可达率100%Cpu使用率90%内存占用28G

系统支持集群部署,支持k8s部署,可平行扩展,亿级用户,千亿级消息


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2234 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传