webIm demo 是基於環信sdk開發的一款具備單聊、羣聊、聊天室、音視頻等功能的應用,爲了react用戶可以快速集成環信 im sdk和音視頻sdk,咱們特使用了react全家桶,爲你們提供參考。vue
開發環境
徹底基於React + Redux的單向數據流,引入ant-design組件庫。 node
響應式佈局, 一套Demo同時支持PC和H5,自適應不一樣終端屏幕尺寸react
支持全部的現代瀏覽器(不支持IE6-11)git
npm i
運行demogithub
cd demo && npm start
(requires node@>=6)
cd demo && HTTPS=true npm start
(webrtc supports HTTPS only)
注意:只有在https的狀況才支持語音視頻功能web
打包發佈demo
macos
cd demo && npm run build
可能碰見的問題:npm
1. 若是在npm i的過程當中遇到瀏覽器
> phantomjs-prebuilt@2.1.14 install /Users/will/work/my-project/node_modules/phantomjs-prebuilt> node install.jsPhantomJS not found on PATHDownloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-macosx.zipSaving to /var/folders/mh/2ptfthxj2qb49jscj1b0gjsm0000gn/T/phantomjs/phantomjs-2.1.1-macosx.zipReceiving...Error making request.Error: connect ETIMEDOUT 54.231.113.227:443 at Object.exports._errnoException (util.js:1018:11) at exports._exceptionWithHostPort (util.js:1041:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
PHANTOMJS_CDNURL=https://npm.taobao.org/mirrors/phantomjs/ npm install --save-dev phantomjs-prebuilt
來解決
2. 執行npm start時若是出現佈局
> node scripts/start.js/Users/wenke/www/web-im/demo/scripts/start.js:23const { ^SyntaxError: Unexpected token { at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:974:3
項目模塊
本項目包含兩部分:
一部分是項目主模塊,這部分主要包含了項目的業務邏輯,好比增,刪好友、音視頻聊天、信息修改、羣設置等
另外一部分是 環信sdk集成(包含音視頻sdk)
src項目結構
參與貢獻
若是你有什麼好的想法,或者好的實現,能夠經過下邊的步驟參與進來,讓咱們一塊兒把這個項目作得更好,歡迎參與
1.Fork本倉庫
2.新建feature_xxx分支 (單首創建一個實現你本身想法的分支)
3.提交代碼
4.新建Pull Request
5.等待咱們的Review & Merge
最後的最後若是你有更好的建議,或者你的疑惑,請隨時給我留言。