野火IM是一套跨平台开源的即时通讯解决方案,主要包含以下内容。
| GitHub仓库地址(主站) | 码云仓库地址(镜像) | 说明 | 备注 | 
|---|---|---|---|
| im-server | im-server | IM Server | |
| android-chat | android-chat | 野火IM Android SDK源码和App源码 | 可以很方便地进行二次开发,或集成到现有应用当中 | 
| ios-chat | ios-chat | 野火IM iOS SDK源码和App源码 | 可以很方便地进行二次开发,或集成到现有应用当中 | 
| pc-chat | pc-chat | 基于Electron开发的PC 端 | |
| web-chat | web-chat | 野火IM Web 端, 体验地址 | |
| wx-chat | wx-chat | 小程序平台的Demo(支持微信、百度、阿里、字节、QQ 等小程序平台) | |
| app server | app server | 应用服务端 | |
| robot_server | robot_server | 机器人服务端 | |
| push_server | push_server | 推送服务器 | |
| docs | docs | 野火IM相关文档,包含设计、概念、开发、使用说明,在线查看 | 
- 本项目所使用的Web SDK是需要付费的,且依赖于专业版 IM-Server,价格请参考费用详情
- Web SDK和- 专业版 IM-Server都支持试用,具体请参考试用说明
- 本项目默认只能连接到官方服务,购买或申请试用之后,替换Web SDK,即可连到自行部署的服务
- 
PC Web 端 
- 
手机Web/H5 端 请使用微信扫描下方二维码,体验野火IM 手机Web/H5 端 
- master:基于- Vue 3开发,是未来的开发重心
- vue2:基于- Vue 2开发,进入维护模式,不再开发新功能,鉴于- Vue 2已经终止支持且不再维护,建议客户升级到- Vue 3版本
- nodejs v18.19.0
- npm 10.2.3
注意避免使用
cnpm,我们使用cnpm出现过一些奇怪问题的情况。如果您使用cnpm当遇到问题时请切换到npm试一下。
demo 默认只能连到官方服务,如果想要连到自行私有化部署的服务,则需要部署专业版 IM-Server,以及修改相关配置
- 部署专业版 IM-Server
社区版 IM-Server 不支持 Web 端接入 
- 将config.js里面的APP_SERVER修改为自己部署的app-server的地址
- 用通过邮件获取到的 Web SDK,替换wfc/proto/proto.min.js文件
npm install
npm run serve
浏览器访问: http://localhost:8013
// 如果需要 https 访问的话(要求 app-server 和 im-server 都配置了 https),请执行:
npm run serve-https 
$ npm install
$ npm run build
- 执行上面的打包步骤
- 将打包生成的dist目录下的所有文件上传到服务器
- 下面是采用nginx部署的示例配置
server { listen 80; server_name im.xxx.yyy; location / { root /path/to/dist; index index.html; } } 
- 如果需要支持 https,请参考nginx配置https。
- wfc目录整体不能压缩
- config.js不能压缩
由于浏览器限制,页面需要通过 https://im.xxx.yyy 或通过 http://localhost 访问时,才支持音视频通话
默认附带免费版本音视频,关于野火音视频可以参考野火音视频使用说明和野火音视频简介。如果使用音视频高级版,请参考音视频高级版切换方法。
- 
音视频相关问题,请参考以下文档 
- 
纯内网环境,不能显示表情 - 将src/assets/twemoji目录上传到一个内网能访问的服务器,比如部署app server的服务器
- 确保通过http(s)://base_twemoji_url/72x72/1f1e6.png能访问到对应表情,此处1f1e6.png蓝底白字大写字母A
- 修改config.js,将https://static.wildfirechat.net/twemoji/assets/替换成新部署的http(s)://base_twemoji_url/,需要注意,最后一个/不能省略
- 动态表情类似处理
 
- 将
- 
想自己部署表情图片 请常见问题2 
- 
通过 iframe加载需要通过 https 加载、并允许摄像头和麦克风权限,才能正常进行音视频通话,参考如下: <iframe src="https://example.com" allow="camera;microphone"></iframe>
商务合作请优先采用邮箱和我们联系。技术问题请到野火IM论坛 发帖交流。
- heavyrain.lee 邮箱: heavyrain.lee@wildfirechat.cn 微信:wildfirechat
- imndx 邮箱: imndx@wildfirechat.cn 微信:wfchat
- 如果大家发现bug,请在GitHub提issue
- 其他问题,请到野火IM论坛进行交流学习
- 微信公众号
- Under the Creative Commons Attribution-NoDerivs 3.0 Unported license. See the LICENSE file for details.










