方便查看所有教程,做了个索引目录 www.yuque.com/lzan13/nepe…
在8.23号的版本更新中,使用socket.io自定义实现了一套IM即时通讯业务层逻辑,功能还行,就是还不够完善,这次的配置主要是针对使用三方IM的情况,自定义实现那一套只需要按照配置安装好redis数据库就好了,不需要额外配置
环信IM
这里主要是介绍当前项目需要用到的配置,如果需要开通其他付费服务,或者其他配置,可以参考官方文档
- 首先是注册账户 环信即时通讯云
- 然后在管理控制台创建应用,填写自己的
appname这是Appkey的一部分,尽量有意义一些,剩下部分自己随便填 - 点击新建好的应用右边查看按钮,进入应用详情,后续用到的信息都在这里获取
- 开发者ID部分这三项都复制下来,粘贴到服务器对应的环境变量配置文件中
- 然后点击服务版本下的:即时通讯->查看 进入到即时通讯详情,复制右侧域名配置中的
Rest Api的服务域名,也粘贴到config.xxx.js文件中
服务器端配置
以下就是服务器端项目项目所需集成环信三方IM的全部配置
config.easemob = {
enable: true, // 是否启用环信 IM,这里默认启用,如果设置为false 需要将下方 io 以及 redis 配置放开
host: 'https://a1.easemob.com', // 环信 API 请求接口,在环信后台查看
orgName: 'orgName', // 环信 appKey # 前半段
appName: 'appName', // 环信 appkey # 后半段
clientId: 'client id', // 替换环信后台 clientId
clientSecret: 'client secret', // 替换环信后台 clientSecret
};
客户端配置
客户端配置更简单,只需要复制Appkey到config.gradle文件对应字段即可
自定义IM
这部分主要是在没有使用环信IM的情况下,因为这次改为默认开启三方IM配置,故将自定义的一些配置注释掉了,防止有些同学没有安装redis导致启动服务器报错,主要就是以下两项配置放开,然后将redis配置改为自己的就OK了
// /**
// * socket.io 配置 https://www.eggjs.org/zh-CN/tutorials/socketio
// */
// exports.io = {
// init: {
// path: '/im',
// pingInterval: 10 * 60 * 1000,
// pingTimeout: 10 * 1000,
// },
// namespace: {
// '/': {
// connectionMiddleware: [ 'connection' ],
// packetMiddleware: [ 'packet' ],
// },
// },
// };
// /**
// * egg-redis 配置
// */
// exports.redis = {
// client: {
// host: '127.0.0.1', // redis 服务器地址,如果是本地运行不需要修改
// port: 6379, // redis 端口
// password: 123123, // redis 密码
// db: 0, // redis 数据库索引
// },
// };