// var onlineAdress,wimadress,user,uname,userInfo = window.sessionStorage.currentUser; layui.config({ base: 'static/layui/js/' //扩展 JS 所在目录 }) .extend({ readyMenu: 'readyMenu' }); /* * 下面的代码暂时不用,只需要一个扩展注册代码即可 * * */ // layui.use(['layim', 'readyMenu','layer'], function (layim) { // if(!userInfo) return ; // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/head/getInfo', // data: {tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // onlineAdress = data.onlineAdress//在线管理地址 // wimadress = data.wimadress //即时聊天地址 // user = data.USERNAME //用户名 // uname = data.NAME // window.user = data.USERNAME // // let f = setInterval(function () { // if ("" != wimadress) { // clearInterval(f); // if (window.WebSocket) { // window.webSocket = new WebSocket(encodeURI('ws://' + wimadress)); //wimadress参数在 assets/js-v/sys/index.js 中定义并赋值 // window.webSocket.onopen = function () { // window.webSocket.send(',fhadmin-join,' + user); //发送上线消息(把上线状态发送给好友,对方好友栏目本头像从黑白色变彩色)(前提条件:本身在线状态设置为在线状态,否则对方看到的依然是离线状态) // layer.msg("即时通讯已连接成功"); // // }; // window.webSocket.onerror = function () { //连接失败 // layer.msg("连接发生错误,刷新或者更换浏览器试试"); // }; // window.webSocket.onclose = function () { //连接断开 // layer.msg("已经断开连接"); // // window.webSocket.send(',fhadmin-leave,'); //发送下线消息 // }; // window.webSocket.onmessage = function (message) { //消息接收 // console.log(message) // message = JSON.parse(message.data); // // if ('friend' == message.type || 'group' == message.type) { //接收好友或群发送的消息 // getFHMessage(message); // } else if ('user_join' == message.type) { // // friendOnline(message.user);//message.user // layer.msg('好友'+message.name+'上线了'); // // } else if ('user_leave' == message.type) { // friendOffline(message.user); // layer.msg('好友'+message.name+'下线了'); // // } else if ('user_online' == message.type) { // friendOnline(message.user); //好友设置在线状态 // } else if ('user_hide' == message.type) { // friendOffline(message.user); //好友设置隐身状态 // } else if ('user_applyfriend' == message.type) { // applyIFriend(); //申请加好友 // } else if ('user_emove' == message.type) { // removeFriend(message.user); //删除好友(被动删,被拉黑) // } else if ('agreefriend' == message.type) { // addFriend(message); //对方同意添加好友 // } else if ('applyqgroup' == message.type) { // applyIQgroup(); //申请加群申请 // } else if ('agreeqgroup' == message.type) { // addIQgroup(message); //对方同意群申请 // } else if ('kickoutqgroup' == message.type) { // kickoutIQgroup(message.id); //踢出群 // } else if ('delqgroup' == message.type) { // delQgroup(message.QGROUP_ID); //群解散 // layer.msg(message.CONTENT); // } // }; // } else { // layer.msg('此浏览器不支持websocket,请用支持HTML5的浏览器或者使用最新谷歌、火狐、360等浏览器'); // } // // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/getImsign', // data: {tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // layim.config({ // init: { // url: window.httpurl + '/iminterface/getList'//初始化接口 // , type: 'post' // , data: {} // } // , members: { // url: window.httpurl + '/iminterface/getMembers' //查看群员接口 // , data: {} // , type: 'post' // } // , uploadImage: { // url: window.httpurl + '/iminterface/updateImg' //上传图片接口 // , type: 'post' //默认post // ,headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // } // // , uploadFile: { // url: window.httpurl + '/iminterface/updateFile' //上传文件接口 // , type: 'post' //默认post // } // , isAudio: true //开启聊天工具栏音频 // , isVideo: true //开启聊天工具栏视频 // /**扩展工具栏*/ // , tool: [{ // alias: 'code' // , title: '代码' // , icon: '' // }] // //,brief: true //是否简约模式(若开启则不显示主面板) // , title: '我的通讯' //自定义主面板最小化时的标题 // //,right: '100px' //主面板相对浏览器右侧距离 // //,minRight: '90px' //聊天面板最小化时相对浏览器右侧距离 // , initSkin: data ? data.imsign : "" //1-5 设置初始背景 res.imsign // //,skin: ['aaa.jpg'] //新增皮肤 // //,isfriend: false //是否开启好友 // ,isgroup: true //是否开启群组 // //,min: true //是否始终最小化主面板,默认false // , notice: true //是否开启桌面消息提醒,默认false // //,voice: false //声音提醒,默认开启,声音文件为:default.mp3 // , msgbox: window.pageurl + "/static/IM/messageBox.html" //消息盒子页面地址,若不开启,剔除该项即可 // , find: window.pageurl + "/static/IM/addFrined.html" //发现页面地址,若不开启,剔除该项即可 // , chatLog: '/static/IM/messageBox.html' //聊天记录页面地址,若不开启,剔除该项即可 // // }); // } // }); // // } // }, 1000); // // layim.on('online', function (data) { //监听在线状态的切换事件 // console.log(data) // window.webSocket.send(',fhadmin-' + data + ',' + user); //发送在线隐身消息 // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/editState', // data: {ONLINE: data, TYPE: "online", tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // } // }); // }); // // layim.on('sign', function (data) { //监听签名修改 // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/editState', // data: {AUTOGRAPH: data, TYPE: "auto", tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // } // }); // }); // // layim.on('setSkin', function (filename, src) { //监听更换背景皮肤 // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/editState', // data: {SIGN: filename, TYPE: "sign", tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // } // }); // }); // // layim.on('tool(code)', function (insert) { //监听自定义工具栏点击,以添加代码为例 // layer.prompt({ // title: '插入代码' // , formType: 2 // , shade: 0 // }, function (text, index) { // layer.close(index); // insert('[pre class=layui-code]' + text + '[/pre]'); //将内容插入到编辑器 // }); // }); // // /*监听layim建立就绪*/ // layim.on('ready', function (res) { // layui.readyMenu.init(); //更新右键点击事件 // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/getMsgCount', //未读消息(加好友群等)总数 // data: {tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // if ('01' == data.result) { // layim.msgbox(data.count); //消息盒子有新消息 // } // } // }); // $.ajax({ // xhrFields: { // withCredentials: false // }, // headers: { // Authorization: "Bearer " + JSON.parse(userInfo).token // }, // type: "POST", // url: window.httpurl + '/iminterface/getNoreadMsg', //未读消息(离线消息)接口 // data: {tm: new Date().getTime()}, // dataType: 'json', // success: function (data) { // if ('has' == data.result) { // $.each(data.list, function (i, list) { // layim.getMessage({ // username: list.NAME //消息来源用户名 // , avatar: list.PHOTO //消息来源用户头像 // , id: list.USERNAME //消息的来源ID(如果是私聊,则是用户id,如果是群聊,则是群组id) // , type: "friend" //聊天窗口来源类型,从发送消息传递的to里面获取 // , content: list.CONTENT //消息内容 // , timestamp: list.CTIME // }); // }); // } // } // }); // }) // } // }); // // //接收到好友或群的消息 // function getFHMessage(data){ // // data.id = data.uid; // data['mine'] = false; // data['fromid'] = data.uid; // console.log(data) // // layim.getMessage({ // // username: "纸飞机" //消息来源用户名 // // ,avatar: "http://tp1.sinaimg.cn/1571889140/180/40030060651/1" //消息来源用户头像 // // ,id: "100000" //消息的来源ID(如果是私聊,则是用户id,如果是群聊,则是群组id) // // ,type: "friend" //聊天窗口来源类型,从发送消息传递的to里面获取 // // ,content: "嗨,你好!本消息系离线消息。" //消息内容 // // ,cid: 0 //消息id,可不传。除非你要对消息进行一些操作(如撤回) // // ,mine: false //是否我发送的消息,如果为true,则会显示在右方 // // ,fromid: "100000" //消息的发送者id(比如群组中的某个消息发送者),可用于自动解决浏览器多窗口时的一些问题 // // ,timestamp: 1467475443306 //服务端时间戳毫秒数。注意:如果你返回的是标准的 unix 时间戳,记得要 *1000 // // }); // layim.getMessage(data); // } // // //接收到好友上线消息,头像取消置灰 // function friendOnline(id){ // id = id == 'admin' ? '1387957900227514368' : '1387957765170925568' // console.log('上线',id) // layim.setFriendStatus(id, 'online'); //设置指定好友在线,即头像取消置灰 // } // // //接收到好友下线消息,头像置灰 // function friendOffline(id){ // id = id == 'admin' ? '1387957900227514368' : '1387957765170925568' // console.log(id) // layim.setFriendStatus(id, 'offline'); //设置指定好友下线,即头像置灰 // } // // //申请好友消息 // function applyIFriend(){ // layim.msgbox('新'); // $("#fhsmsobj").html(''); // } // // //申请加群消息 // function applyIQgroup(){ // layim.msgbox('新'); // $("#fhsmsobj").html(''); // } // // //踢出消息 // function kickoutIQgroup(QGROUP_ID){ // layui.layim.removeList({ // type: 'group' // ,id: QGROUP_ID //群ID // }); // layim.msgbox('新'); // $("#fhsmsobj").html(''); // } // // //删除好友(被对方拉黑) // function removeFriend(FUSERNAME){ // layim.removeList({ // type: 'friend' //或者group // ,id: FUSERNAME //好友用户名 // }); // } // // //对方同意添加好友(加入好友栏目) // function addFriend(message) { // layim.addList({ // type: 'friend' //列表类型,只支持friend和group两种 // ,avatar: message.avatar //好友头像 // ,username: message.username //好友昵称 // ,groupid: message.groupid //所在的分组id // ,id: message.id //好友id // ,status: message.status //在线状态 // ,sign: message.sign //好友签名 // }); // layim.msgbox('新'); // $("#fhsmsobj").html(''); // layui.readyMenu.init(); //更新右键点击事件 // } // // //对方同意添群(加入群组栏目) // function addIQgroup(message) { // layim.addList({ // type: 'group' //列表类型,只支持friend和group两种 // ,avatar: message.avatar //群组头像 // ,groupname: message.groupname //群组名称 // ,id: message.id //群组id // }); // layim.msgbox('新'); // $("#fhsmsobj").html(''); // } // // //群解散 // function delQgroup(QGROUP_ID) { // layui.layim.removeList({ // type: 'group' // ,id: QGROUP_ID //群ID // }); // layim.msgbox('新'); // $("#fhsmsobj").html(''); // } // // //监听发送消息 // layim.on('sendMessage', function (data) { // layer.closeAll('loading'); // let To = data.to; //当前用户资料 // let mine = data.mine; //发送者数据(消息内容以及发送者资料) // /** // * user:发送者用户名 // * uname:发送者用户姓名 // * To.id:对方用户名 // * To.type:消息类型 group or friend // * mine.avatar:发送者用户头像 // * mine.content:消息内容 // */ // console.log(To)//uname // console.log(mine) // console.log(",fhadmin-msg," + user + ",fh," + mine.username + ",fh," + To.username + ",fh," + To.type + ",fh," + mine.avatar + ",fh," + mine.content + ',fh,' +mine.id) // window.webSocket.send(",fhadmin-msg," + user + ",fh," + mine.username + ",fh," + To.username + ",fh," + To.type + ",fh," + mine.avatar + ",fh," + mine.content + ',fh,' +mine.id); // }); // // //监听群员 // layim.on('members', function (data) { // // console.log(data); // }); // // //监听聊天窗口的切换 // layim.on('chatChange', function (res) { // let type = res.data.type; // if (type === 'friend') { // } else if (type === 'group') { // } // }); // });