全开源即时通讯(IM)系统-仿微信

简介: E聊SDK是一套适用于PC端, 移动端的即时通讯解决方案,源代码开放。E聊整合了即时通讯的基础能力,使用E聊,您可以让您的应用快速接入即时聊天的功能。E聊现已适配PC Web, 移动Web, Android, iOS 等平台

1.目标:

E聊SDK目标是打造一个免费开源,接入简单,适应多平台的即时通信SDK,为广大开发者提供便利。

2.简介:

E聊SDK是一套适用于PC端, 移动端的即时通讯解决方案,源代码开放。E聊整合了即时通讯的基础能力,使用E聊,您可以让您的应用快速接入即时聊天的功能。E聊现已适配PC Web, 移动Web, Android, iOS 等平台。

3.系统架构:

image.png

3.1 各模块介绍

E聊服务器: 提供了基础的消息转发功能,用户管理、群组管理等功能;
E聊管理台: 向E聊服务器申请接入SDK 所需要的App Key, Client Secret, App Secret 等;
应用客户端: 使用E聊账号登入E聊服务器,实现单聊、群聊消息收发等功能;
应用后台: 业务应用后台,维护原有的业务用户列表,此外,需维护一张与E聊用户的关系映射表。

3.2 E聊功能介绍

3.2.1 单聊
点对点的基础聊天,支持文字,图片,文件等方式;

3.2.2 群聊
一对多的群聊/讨论组,支持文字,图片,文件等方式;

3.2.3 用户资料管理
用户账号(auid), 密码(token), 昵称,性别,头像,签名,手机,邮箱等;

3.2.4 用户关系管理
用户的好友关系管理,黑名单列表,禁言列表等;

3.2.5 消息通知
客户端SDK可以接受到基础的消息通知,比如用户上线/离线,被加好友,被拉入群聊等;

3.2.6 离线消息
E聊服务器能缓存一定日期内的离线消息,待客户端上线时会自动推送到客户端;

3.3 接入流程

(1).注册登录E聊管理台,在管理台创建APP, 记录App Key, Client Secret, App Secret;
(2).创建E聊用户,可以使用服务端API创建,也可以在E聊管理台创建,在应用后台记录业务用户与E聊用户的映射关系;
(3).整合客户端SDK 进应用客户端,配置SDK参数(如: E聊服务器地址,App Key, Client Secret);
(4).登录应用后台,获取E聊用户账号(auid, token)实现登录,消息收发;

4.Web客户端简介:

E聊SDK提供了一个基本的Web版客户端Demo源码,通过编译该客户端,可以接入E聊服务器,实现单聊/群聊等功能。WEB客户端源码包含了两部分,一部分是核心SDK(使用TypeScript 开发),一部分是演示Demo(使用JavaScript + BootstrapVue 2.9.0 开发)。以下介绍如何从源码编译Web客户端。

4.操作步骤:

4.1 下载Release v1.01 源码

git clone https://gitee.com/dzqmeiji/echatim-client-web.git
cd echatim-client-web/
git checkout -b v1.01 v1.01
AI 代码解读

4.2 编辑客户端连接配置

我们使用E聊线上服务器做为聊天后台,配置都使用默认的配置,只需在src/main.js 中更改AppKey 的配置项即可,关于AppKey的获取请参考 E聊SDK-简介(3): 管理平台使用

//      src/main.js 文件内容
719     sdkConfig.host = 'api.echatim.cn';  //使用线上默认配置
720     sdkConfig.httpPort = 58082;  //使用线上默认配置
721     sdkConfig.socketPort = 59092;  //使用线上默认配置
722     sdkConfig.key = '修改这一项为自己的AppKey';
723     sdkConfig.secret = '';  // 这是保留配置, 不需要更改
AI 代码解读

4.3 编译源码并启动Web Demo项目

yarn install    #下载项目依赖
yarn lib    #编译sdk 核心库
yarn start    #启动web项目
AI 代码解读

启动后访问: http://localhost:80 即可访问Web Demo项目。

4.4 体验Web Demo项目

之前已在 E聊SDK-简介(3): 管理平台使用 中创建了E聊用户,使用在管理台创建的用户auid, 用户token 登录即可。
image.png
登录后的聊天界面如下,畅快体验吧!

image.png

4.5 打包成发布版本

这里介绍在mac, linux 上的打包方法,若开发平台是windows, 也可安装git bash工具在bash cmd 窗口上实现打包。

cd echatim-client-web  # 在项目根目录准备打包
mkdir -p dist/deploy  # 创建打包目录
cp ./src/faces.js  dist/deploy/
cp ./src/main.js  dist/deploy/
cp ./src/utils.js  dist/deploy/
cp ./src/index.html  dist/deploy/
cp ./src/login.html  dist/deploy/
cp ./src/app.html  dist/deploy/
cp -rf ./static dist/deploy/  # 拷贝static 资源目录
tar -cvzf deploy-v1.01.tar.gz  dist/deploy # 打包成ddeploy-v1.01.tar.gz 发布版本
AI 代码解读

5.移动后台端简介:

E聊SDK提供了一个基础的后端社区版源码,通过编译/修改该后端源码,可以实现更深度的业务定制,比如文件上传/下载、用户在线/离线监听、API权限功能、集群功能等。后端项目使用了springboot+mybatis 进行开发,使用maven 进行项目管理。以下介绍如何从源码编译后端项目。

5.操作步骤:

5.1 下载broker Release v1.01 源码

git clone https://gitee.com/dzqmeiji/echatim-server-broker-community.git
cd echatim-server-broker-community/
git checkout -b v1.01 v1.01
mvn clean install -DskipTests=true  # 编译后端中间件
AI 代码解读

5.2 下载server Release v1.02 源码

git clone https://gitee.com/dzqmeiji/echatim-server-community.git
cd echatim-server-community/
git checkout -b v1.02 v1.02
mvn clean install -DskipTests=true  # 编译后端项目
AI 代码解读

5.4 导入数据库结构与初始数据

安装mysql5.7数据服务, 在mysql创建echatim 数据库, 导入sqls/echatim-2020-04-30.sql 文件到echatim 到数据库。创建mysql root 用户, 密码为空.

5.5 启动后端项目

cd server-community-deploy/target/
java -jar server-community-deploy-1.0.jar
AI 代码解读

启动成功后见到:

swagger test started. http://localhost:8082/swagger-ui.html
socket.io started. http://localhost:9092
AI 代码解读

API调试: http://localhost:8082/swagger-ui.html
socketIO地址: http://localhost:9092

5.6 编辑Web客户端配置 源码地址

我们使用E聊本地服务器做为聊天后台,配置都使用本地服务器配置(社区版没有文件服务的功能)

//      src/main.js 文件内容
719     sdkConfig.host = 'localhost';  //使用本地服务器
720     sdkConfig.httpPort = 8082;  //使用本地默认配置
721     sdkConfig.socketPort = 9092;  //使用本地默认配置
722     sdkConfig.key = 'TSDKTEST00001'; # 查看数据库sdk_app表
723     sdkConfig.secret = '';  // 这是保留配置, 不需要更改
AI 代码解读

使用yarn start 即可使用本地后端项目实现聊天功能.

技术支持:

E聊
进入官网
进入管理台
SDK版本:v1.01
技术交流QQ群: 471688937

dzq
+关注
目录
打赏
0
0
0
0
1
分享
相关文章
2025年国内工单系统推荐:技术架构、场景适配与行业实践
分析了智能化升级、大数据驱动、云原生架构及全渠道融合四大技术趋势,从功能适配性、易用性、集成能力、安全性和性价比五个维度指导企业选型,并推荐合力亿捷等三家系统的优劣对比,结合电商和制造行业的实际案例,帮助企业提升客户服务水平与竞争力。
61 11
2025年国内工单系统推荐:技术架构、场景适配与行业实践
AI技术如何重塑客服系统?解析合力亿捷AI智能客服系统实践案例
本文探讨了人工智能技术在客服系统中的应用,涵盖技术架构、关键技术和优化策略。通过感知层、认知层、决策层和执行层的协同工作,结合自然语言处理、知识库构建和多模态交互技术,合力亿捷客服系统实现了智能化服务。文章还提出了用户体验优化、服务质量提升和系统性能改进的方法,并展望了未来发展方向,强调其在客户服务领域的核心价值与潜力。
49 6
零基础IM开发入门(五):什么是IM系统的端到端加密?
本篇将通俗易懂地讲解IM系统中的端到端加密原理,为了降低阅读门槛,相关的技术概念会提及但不深入展开。
25 2
DeepSeek大模型在客服系统中的应用场景解析
在数字化浪潮下,客户服务领域正经历深刻变革,AI技术成为提升服务效能与体验的关键。DeepSeek大模型凭借自然语言处理、语音交互及多模态技术,显著优化客服流程,提升用户满意度。它通过智能问答、多轮对话引导、多模态语音客服和情绪监测等功能,革新服务模式,实现高效应答与精准分析,推动人机协作,为企业和客户创造更大价值。
127 5
DeepSeek 大模型在合力亿捷工单系统中的5大应用场景解析
工单系统是企业客户服务与内部运营的核心工具,传统系统在分类、派发和处理效率方面面临挑战。DeepSeek大模型通过自然语言处理和智能化算法,实现精准分类、智能分配、自动填充、优先级排序及流程优化,大幅提升工单处理效率和质量,降低运营成本,改善客户体验。
64 2
一键部署开源DeepSeek并集成到企业微信
DeepSeek近期发布了两款先进AI模型V3和R1,分别适用于通用应用和推理任务。由于官方API流量过大,建议通过阿里云的计算巢进行私有化部署,以确保稳定使用。用户无需编写代码即可完成部署,并可通过AppFlow轻松集成到钉钉、企业微信等渠道。具体步骤包括选择适合的机器资源、配置安全组、创建企业微信应用及连接流,最后完成API接收消息配置和测试应用。整个过程简单快捷,帮助用户快速搭建专属AI服务。
一键部署开源DeepSeek并集成到企业微信
2025最新排名|盘点值得推荐的5个在线客服系统
在数字化浪潮下,在线客服系统迅速发展,成为企业提升竞争力的关键。本文推荐五款2025年值得使用的在线客服系统:合力亿捷、淘宝、京东、华为云和中国移动客服系统。它们各自具备全渠道接入、智能问答、数据分析、高稳定性等亮点,助力企业高效服务客户,优化营销策略并提升整体运营效率。
125 24
基于DeepSeek的智能客服系统实战:从开发到部署
本文详细介绍如何将基于DeepSeek的智能客服系统从开发到部署,涵盖服务器选择、环境配置、代码部署及Web服务器设置。通过具体案例和代码示例,讲解系统上线步骤,并介绍使用Prometheus、Grafana等工具进行性能监控的方法。此外,针对高并发、API调用失败等常见问题提供解决方案,确保系统的稳定运行。最后强调数据安全与隐私保护的重要性,帮助读者全面掌握智能客服系统的部署与维护。
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
84 18
从零开始构建基于DeepSeek的智能客服系统
在数字化时代,智能客服系统成为企业与客户沟通的重要桥梁。本文介绍如何使用PHP和DeepSeek技术构建智能客服系统,涵盖环境搭建、核心功能实现、多轮对话支持及电商客服案例。DeepSeek基于深度学习,能理解复杂意图并提供个性化服务,显著提升客户体验和运营效率。通过具体代码示例,帮助开发者从零开始构建强大智能客服系统。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等