WebIM.js 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import WebIM from '../newSDK/Easemob-chat.js'
  2. import config from './WebIMConfig.js'
  3. //初始化
  4. let conn = {};
  5. WebIM.config = config;
  6. conn = WebIM.conn = new WebIM.connection({
  7. appKey: config.appkey,
  8. https: true, //是否使用HTTPS
  9. url: "wss://im-api-wechat.easemob.com/websocket", // socket server (3.0 SDK)
  10. apiUrl: "https://a1.easemob.com", // rest server
  11. heartBeatWait: 30000, //心跳间隔
  12. autoReconnectNumMax: 5, //自动重连次数
  13. useOwnUploadFun: false, // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url)
  14. // WebIM.config 为之前集成里介绍的WebIMConfig.js
  15. })
  16. let login = false
  17. //回调
  18. conn.listen({
  19. onOpened: function ( message ) {
  20. console.log('环信登录成功');
  21. }, //连接成功回调
  22. onClosed: function ( message ) {
  23. console.log('环信断开链接');
  24. this.$u.toast('你已在其他地方登录')
  25. }, //连接关闭回调
  26. onTextMessage: function ( message ) {}, //收到文本消息
  27. onEmojiMessage: function ( message ) {
  28. }, //收到表情消息
  29. onPictureMessage: function ( message ) {}, //收到图片消息
  30. onCmdMessage: function ( message ) {}, //收到命令消息
  31. onAudioMessage: function ( message ) {}, //收到音频消息
  32. onLocationMessage: function ( message ) {},//收到位置消息
  33. onFileMessage: function ( message ) {}, //收到文件消息
  34. onVideoMessage: function (message) {
  35. var node = document.getElementById('privateVideo');
  36. var option = {
  37. url: message.url,
  38. headers: {
  39. 'Accept': 'audio/mp4'
  40. },
  41. onFileDownloadComplete: function (response) {
  42. var objectURL = WebIM.utils.parseDownloadResponse.call(conn, response);
  43. node.src = objectURL;
  44. },
  45. onFileDownloadError: function () {
  46. console.log('File down load error.')
  47. }
  48. };
  49. WebIM.utils.download.call(conn, option);
  50. }, //收到视频消息
  51. onPresence: function ( message ) {}, //处理“广播”或“发布-订阅”消息,如联系人订阅请求、处理群组、聊天室被踢解散等消息
  52. onRoster: function ( message ) {}, //处理好友申请
  53. onInviteMessage: function ( message ) {}, //处理群组邀请
  54. onOnline: function () {}, //本机网络连接成功
  55. onOffline: function () {}, //本机网络掉线
  56. onError: function ( message ) {}, //失败回调
  57. onBlacklistUpdate: function (list) { //黑名单变动
  58. // 查询黑名单,将好友拉黑,将好友从黑名单移除都会回调这个函数,list则是黑名单现有的所有好友信息
  59. console.log(list);
  60. },
  61. onRecallMessage: function(message){}, //收到撤回消息回调
  62. onReceivedMessage: function(message){}, //收到消息送达服务器回执
  63. onDeliveredMessage: function(message){
  64. }, //收到消息送达客户端回执
  65. onReadMessage: function(message){}, //收到消息已读回执
  66. onCreateGroup: function(message){}, //创建群组成功回执(需调用createGroupNew)
  67. onMutedMessage: function(message){}, //如果用户在A群组被禁言,在A群发消息会走这个回调并且消息不会传递给群其它成员
  68. onChannelMessage: function(message){} //收到整个会话已读的回执,在对方发送channel ack时会在这个回调里收到消息
  69. });
  70. export {conn};