二次开发
vue-chat是一个可以直接使用的demo,推荐参考vue-chat
进行二次开发,如果不想基于vue-chat
进行二次开发
1. 基于vue-chat二次开发
- 修改
config.js
中的配置信息,修改是请仔细阅读所修改字段的相关注释,如果不进行修改或修改错误,将不能正确连接IM:USE_WSS
:是否使用WSS进行连接,IM SERVER
默认没有开启WSS,需要手动配置。ROUTE_PORT
:http route请求的端口,默认是80;当配置https之后,需要修改为对应端口,如443等APP_SERVER
:应用服务器地址,需要指向自行部署的app-server
,注意端口不能省略、http/https需要严格区分。ICE_ADDRESS
、ICE_USERNAME
、ICE_PASSWORD
:音视频通话相关的turn服务信息,开发测试的时候,可以直接使用现有配置,上线时,请修改了指向自行部署的turn服务。
- 根据邮件的说明,替换
proto.min.js
- 没有其他配置了,执行
npm run dev
,浏览器访问localhost:3000
即可访问,然后用野火IM移动端扫码登录。
2. 集成到自己的项目
集成过程,请随时参考
vue-chat
- 将
src/wfc
、src/platform.js
、src/windowEmitter.js
和src/config.js
拷贝到自己项目,并且wfc
目录、platform.js
、src/windowEmitter.js
和config.js
处于同级目录。 安装额外的依赖
npm install --save long detectrtc base64-arraybuffer
- 修改
config.js
中的配置信息,如果不进行修改或修改错误,将不能正确连接IM:USE_WSS
:是否使用WSS进行连接,IM SERVER
默认没有开启WSS,需要手动配置。ROUTE_PORT
:http route请求的端口,默认是80;当配置https之后,需要修改为对应端口,如443等APP_SERVER
:应用服务器地址,需要指向自行部署的app-server
,注意端口不能省略。ICE_ADDRESS
、ICE_USERNAME
、ICE_PASSWORD
:音视频通话相关的turn服务信息,开发测试的时候,可以直接使用现有配置,上线时,请修改了指向自行部署的turn服务。
- 根据邮件的说明,替换
proto.min.js
- 初始化
调用
wfc.init()
进行初始化,全局只需调用一次,需要在应用启动的时候调用。 - 注册事件监听
- 调用
wfc.eventEmitter.on
注册事件监听,支持的事件及每个事件的通知信息,请参考wfc/client/wfcEvent.js
。事件监听一般在需要关心对应事件的页面注册;页面关闭,或者不在关心事件时,必须取消注册,否则会发生泄漏。
- 调用
- 获取
token
- 调用
wfc.getClientId
获取clientId
- 调用
APP SERVER
的pc_session
接口获取token
,可参考vue-chat
的login过程
- 调用
- 连接
- 调用
wfc.connect
进行连接 - 获取token和连接的流程,可参考
vue-chat
- 连接结果,会通过事件(
EventType#ConnectionStatusChanged
)通知回调,需要关注进行并进行处理。
- 调用
- 连接成功之后,就可以进行其他操作了,具体参考
wfc.js