当前位置:   article > 正文

搭建完整的IM(即时通讯)应用(1)_im 搭建

im 搭建

介绍

即时通讯应用服务,整套包含服务端管理端客户端

预计3篇分享:这次是第一篇,项目的整体介绍和实体关系的梳理

现已部署上线,客户端管理端,欢迎体验

可以注册客户端账号,也可以使用初始默认账号,现有初始账号说明:

账号密码说明
admin123456管理端账号
user123456客户端普通用户账号
muteuser123456客户端被禁言用户账号
disabled123456客户端被封禁用户账号
member1123456客户端普通用户账号
member2123456客户端普通用户账号
123456客户端普通用户账号
member30123456客户端普通用户账号

功能简介

  1. 注册,登录,个人、群组聊天,个人信息编辑等基础功能
  2. 申请添加好友和申请入群
  3. 表情,图片,视频,定位信息支持
  4. 聊天会话列表记录
  5. 消息记录(微信的消息记录真实一言难尽)
  6. 支持多点同时登录
  7. 百度 UNIT 机器人自动回复(todo)
  8. 管理端,进行角色和权限的管理,群状态管理(我也当一回马化腾)

需求简介

移动互联网发展至今,以微信为首的即时通讯服务已经融入了我们生活中的各个角落,在公司的一些业务中也扮演着重要的角色,对于即时通讯我们公司原来是使用的环信的服务,但是有很多定制化的需求无法实现,所以后来决定内部开发一个满足定制化需求的即时通讯微服务。

使用socket.io框架是因为当时后端缺人,加上看了一些例子后觉得使用起来真的很方便,而且全平台支持,所以这个微服务就在前端团队进行落地实践,目前效果还不错。

社区目前这方面的内容比较少或者太简陋(只有一个公共的聊天室这种)。另外就是在业务开发过程中被 PM 搞得很难受,所以想脱离一些特有的业务上的东西,实现一个功能简单五脏俱全的不掺杂公司业务的 IM 应用,包含服务端,管理端和客户端。客户端的模仿对象是微信,因为我很熟悉,不用在产品上面思考太多,另外就是试用的人很熟悉,不需要太多的沟通成本。

框架简介

要开发一套完整的即时通讯服务,需要以下部分:

  1. 服务端:用来实现基础的服务接口和数据持久化
  2. 客户端:完成登录、聊天等基础功能,类似微信
  3. 管理端:管理群组、用户和角色权限

server

为企业级框架和应用而生

选用阿里的 egg.js 框架做支撑,看中的原因是他们内部大规模的落地和安全方面做得比较好,没有选择 nest 的原因是集成 socket.io 比较麻烦,ORM 选用 sequelize,数据库是 mysql ,之前一起使用过,上手难度小

admin

开箱即用的中台前端/设计解决方案

选择 Ant Design Pro 作为模板开发管理端,选用的原因是我对 Vue 全家桶比较熟悉,想借着这个机会熟悉下整套 React 生态 的开发流程,感受下目前国内两大开发框架的本质区别和殊途同归,Ant Design Pro 已经发布了好几年了,也的确给中小型企业带来效率的提升,也正好适合我这的需求。

client

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/858750
推荐阅读
相关标签