|
@@ -0,0 +1,76 @@
|
|
|
|
+import WebIM from '../newSDK/Easemob-chat.js'
|
|
|
|
+import config from './WebIMConfig.js'
|
|
|
|
+
|
|
|
|
+//初始化
|
|
|
|
+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: false, // 是否使用自己的上传方式(如将图片文件等上传到自己的服务器,构建消息时只传url)
|
|
|
|
+// WebIM.config 为之前集成里介绍的WebIMConfig.js
|
|
|
|
+})
|
|
|
|
+
|
|
|
|
+let login = false
|
|
|
|
+
|
|
|
|
+//回调
|
|
|
|
+conn.listen({
|
|
|
|
+ onOpened: function ( message ) {
|
|
|
|
+ console.log('环信登录成功');
|
|
|
|
+ }, //连接成功回调
|
|
|
|
+ onClosed: function ( message ) {
|
|
|
|
+ console.log('环信断开链接');
|
|
|
|
+ this.$u.toast('你已在其他地方登录')
|
|
|
|
+ }, //连接关闭回调
|
|
|
|
+ onTextMessage: function ( message ) {}, //收到文本消息
|
|
|
|
+ onEmojiMessage: function ( message ) {
|
|
|
|
+
|
|
|
|
+ }, //收到表情消息
|
|
|
|
+ onPictureMessage: function ( message ) {}, //收到图片消息
|
|
|
|
+ onCmdMessage: function ( message ) {}, //收到命令消息
|
|
|
|
+ onAudioMessage: function ( 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};
|