二次开发
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/config.js拷贝到自己项目,并且wfc目录、platform.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