野火IM是专业级即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。
主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。详细情况请参考在线文档。
主要包括一下项目:
GitHub仓库地址(主站) | 码云仓库地址(镜像) | 说明 | 备注 |
---|---|---|---|
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 | Web平台的Demo, 体验地址 | |
wx-chat | wx-chat | 微信小程序平台的Demo | |
server | server | IM server | |
app server | app server | 应用服务端 | |
robot_server | robot_server | 机器人服务端 | |
push_server | push_server | 推送服务器 | |
docs | docs | 野火IM相关文档,包含设计、概念、开发、使用说明,在线查看 |
本工程是野火IM PC平台,详情可以阅读docs.
开发一套IM系统真的很艰辛,请路过的朋友们给点个star,支持我们坚持下去🙏🙏🙏🙏🙏
商务合作请优先采用邮箱和我们联系。技术问题请到野火IM论坛发帖交流。
可下载我们已编译好的可执行文件进行体验,pc-chat 下载
请严格安装下面的版本安装对应依赖,否则无法打包
$ npm install
$ npm run copy-mac
$ npm run dev
npm run copy-mac 是用来拷贝平台相关的功能库,如果功能库有更新,一定要再次运行拷贝。常见的错误是客户收到新的功能库,放到功能库目录后,忘记运行次命令,导致运行结果不正确。 开发、调试时,可用
Login/index_dev.js
替换Login/index.js
,这样成功登录之后,刷新页面,不需要重新扫码登录。
npm install
安装依赖npm run package-mac
打包mac版本,软件生成在release目录下不能以管理员模式启动终端,必须以普通用户模式启动终端!!!
请严格安装下面的版本安装对应依赖,否则无法打包
npm install
node -p "process.arch"
, 确认node架构node
为32位时,执行npm run copy-win32
node
为64位时,执行npm run copy-win
npm run dev
npm run copy-XXX 是用来拷贝平台相关的功能库,如果功能库有更新,一定要再次运行拷贝。常见的错误是客户收到新的功能库,放到功能库目录后,忘记运行次命令,导致运行结果不正确。
npm install
安装依赖(不能在管理员权限下运行,要用普通权限)npm run package-win32
打包windows 32位版本,软件生成在release目录下npm run package-win
打包window 64位版本,软件生成在release目录下请严格安装下面的版本安装对应依赖,否则无法打包
具体开发、集成相关说明,请参考pc开发
$ npm install
$ npm run copy-linux
$ npm run dev
npm install
安装依赖npm run package-linux
打包linux版本,软件生成在release目录下请严格安装下面的版本安装对应依赖,否则无法打包
sudo apt-get update
sudo apt-get install ruby-dev build-essential
sudo gem install fpm -v 1.10.2
fpm 1.11版本有问题,需要使用1.10.2版本
具体开发、集成相关说明,请参考pc开发
$ npm install
$ npm run copy-linux-arm64
$ npm run dev
npm install
安装依赖npm run package-linux-arm64
打包linux版本,软件生成在release目录下如何调试?PC使用了Electron,内嵌Chrome浏览器,跟在浏览器上开发调试是一样的。快捷键Ctrl +g(MAC下是CMD+g)打开开发者模式。
打包时,如果一直显示installing production dependencies platform=win32 arch=ia32 appDir=C:\<your path>\pc-chat\dist
,
或者提示下载什么之类的,可将dep
目录下对应平台的electron依赖,解压到对应的目录。
// windows
C:\Users\<你的用户名>\.electron-gyp
// mac/linux
~/.electron-gyp
打包时,如果下载electron版本超时,可以使用我们下载好的electron放到缓存目录。
windows上需要严格按照环境进行安装,mac上环境比较简单一些,安装node和node-gyp就可以了
另外如果还有问题,请试试命令npm cache clean --force
,然后删掉node_modules,再重新在非管理员权限下npm install
有些杀毒软件会对electron打包的软件报病毒,详情请参考electron报病毒 。安装时可能被杀毒软件限制安装,这时候可以让用户使用绿色免安装版(打包后release目录下的unpacked目录)。如果运行时报错,请在杀毒软件里加上例外。另外有条件的公司可以考虑去360官方或其他杀软的官方提交检测。
ubuntu下,启动时,若提示,A JavaScript error occurred in the main process Uncaught Exception:Error: Cannot open /opt/wildfirechat/resources/app.asar/marswrapper.node: Error: libdouble-conversion.so.1: cannot open shared object file: No such file or directory
,可安装libdouble-conversion1解决
win平台野火客户端依赖Visual C++ Redistributable Package runtime。如果用户PC上没有安装就需要安装之后才能运行,请从微软官方下载安装 https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 。注意这个安装包是有32位/64位区分的,需要安装对应架构的版本。
MAC应用截屏时只能截屏空白桌面,无法截图窗口内容。这是因为没有通过mac系统的安全许可,在设置-》安全与隐私-》切换到隐私那个标签-》屏幕录制-》在野火IM PC应用前打勾,并重启应用。
使用cnpm
后打包失败,在某些平台cnpm
是会出现问题的,请使用npm。
npm install
报Unexpected end of JSON input while parsing near...
错误
如果常见问题4解决不了,可以尝试 npm config set registry http://registry.npm.taobao.org/
,然后在按常见问题4的步骤进行
音视频相关问题,请参考以下文档
本项目基于wewechat开发,原项目的READ见wewechat readme
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。