123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- import WebIM from '../newSDK/Easemob-chat.js'
- import config from './WebIMConfig.js'
- import vueBus from '@/utils/vueBus'
- //初始化
- let conn = {};
- WebIM.config = config;
- conn = WebIM.conn = new WebIM.connection({
- appKey: config.appkey,
- https: true, //是否使用HTTPS
- url: "wss://im-api-wechat.easemob.com/websocket", // socket server (3.0 SDK)
- apiUrl: "https://a1.easemob.com", // rest server
- heartBeatWait: 30000, //心跳间隔
- autoReconnectNumMax: 5, //自动重连次数
- useOwnUploadFun: true, // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url)
- // WebIM.config 为之前集成里介绍的WebIMConfig.js
- })
- let login = false
- //回调
- conn.listen({
- onOpened: function(message) {
- console.log('环信登录成功');
- }, //连接成功回调
- onClosed: function(message) {
- console.log('环信断开链接');
- // uni.showModal({
- // title: '提示',
- // content: '您已在其他地方登录,是否重新登录',
- // success: function(res) {
- // if (res.confirm) {
- // uni.reLaunch({
- // url: "/pages/login/login"
- // })
- // } else if (res.cancel) {
- // console.log('用户点击取消');
- // }
- // }
- // });
- }, //连接关闭回调
- onTextMessage: function(message) {
- uni.showTabBarRedDot({
- index: 3,
- success(res) {
- console.log(res);
- }
- })
- vueBus.$emit('message')
- }, //收到文本消息
- onEmojiMessage: function(message) {
- uni.showTabBarRedDot({
- index: 3,
- success(res) {
- console.log(res);
- }
- })
- vueBus.$emit('message')
- }, //收到表情消息
- onPictureMessage: function(message) {
- uni.showTabBarRedDot({
- index: 3,
- success(res) {
- console.log(res);
- }
- })
- vueBus.$emit('message')
- }, //收到图片消息
- onCmdMessage: function(message) {
- uni.showTabBarRedDot({
- index: 3,
- success(res) {
- console.log(res);
- }
- })
- vueBus.$emit('message')
- }, //收到命令消息
- onAudioMessage: function(message) {
- uni.showTabBarRedDot({
- index: 3,
- success(res) {
- console.log(res);
- }
- })
- vueBus.$emit('message')
- }, //收到音频消息
- onLocationMessage: function(message) {}, //收到位置消息
- onFileMessage: function(message) {
-
- }, //收到文件消息
- onVideoMessage: function(message) {
- var node = document.getElementById('privateVideo');
- var option = {
- url: message.url,
- headers: {
- 'Accept': 'audio/mp4'
- },
- onFileDownloadComplete: function(response) {
- var objectURL = WebIM.utils.parseDownloadResponse.call(conn, response);
- node.src = objectURL;
- },
- onFileDownloadError: function() {
- console.log('File down load error.')
- }
- };
- WebIM.utils.download.call(conn, option);
- }, //收到视频消息
- onPresence: function(message) {}, //处理“广播”或“发布-订阅”消息,如联系人订阅请求、处理群组、聊天室被踢解散等消息
- onRoster: function(message) {}, //处理好友申请
- onInviteMessage: function(message) {}, //处理群组邀请
- onOnline: function() {}, //本机网络连接成功
- onOffline: function() {}, //本机网络掉线
- onError: function(message) {}, //失败回调
- onBlacklistUpdate: function(list) { //黑名单变动
- // 查询黑名单,将好友拉黑,将好友从黑名单移除都会回调这个函数,list则是黑名单现有的所有好友信息
- console.log(list);
- },
- onRecallMessage: function(message) {}, //收到撤回消息回调
- onReceivedMessage: function(message) {}, //收到消息送达服务器回执
- onDeliveredMessage: function(message) {
- }, //收到消息送达客户端回执
- onReadMessage: function(message) {}, //收到消息已读回执
- onCreateGroup: function(message) {}, //创建群组成功回执(需调用createGroupNew)
- onMutedMessage: function(message) {}, //如果用户在A群组被禁言,在A群发消息会走这个回调并且消息不会传递给群其它成员
- onChannelMessage: function(message) {} //收到整个会话已读的回执,在对方发送channel ack时会在这个回调里收到消息
- });
- export {
- conn
- };
|