mui.init({
preloadPages: [{
url: 'tpl/communicate/chats.html',
id: 'tpl/communicate/chats.html'
}]
});
mui(document.body).on('tap', '.address-box', function() {
if(mui(this)[0].parentNode.childNodes[1].style.display == 'block') {
mui(this)[0].parentNode.childNodes[1].style.display = 'none';
mui(this)[0].parentNode.childNodes[0].childNodes[0].classList.remove('icons')
} else {
mui(this)[0].parentNode.childNodes[1].style.display = 'block';
mui(this)[0].parentNode.childNodes[0].childNodes[0].classList.add('icons')
}
});
var socket;
var UserCode;
mui.plusReady(function() {
var str = plus.storage.getItem('user');
var user = JSON.parse(str);
var token = user.Data.Token;
UserCode = user.Data.UserCode;
mui('.mui-scroll-wrapper').scroll({
deceleration: 0.0006 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
});
//查询储存的消息
chats(token.substring(0, 32));
if(socket == null) {
//连接
if(str != null && str != "[]") {
//socket = new WebSocket('ws://139.129.200.116:9000');
socket = new WebSocket('ws://120.132.20.11:9000');
//socket = new WebSocket('ws://192.168.1.106:9000');
socket.onopen = function() {
var a = "员工编码:" + user.Data.UserCode + "";
socket.send(a);
};
socket.onmessage = function(res) {
var datas = JSON.parse(res.data);
//存储记录
storageMsg(token + datas.mine[0].id, datas);
var detailPage = plus.webview.getWebviewById('tpl/communicate/chats.html');
mui.fire(detailPage, 'Msg', {
content: datas.mine[0].content
});
if(mui.os.ios){
plus.ios.invoke(null, "AudioServicesPlaySystemSound", 1000);
}
};
window.addEventListener('sendMsg', function(event) {
var list = plus.storage.getItem('list');
var user_list = JSON.parse(list);
for(var i = 0; i < user_list.length; i++) {
for(var j = 0; j < user_list[i].list.length; j++) {
var tokenId = token + user_list[i].list[j].id;
if(tokenId == event.detail.to) {
var a = {
"mine": [{
"avatar": event.detail.msg.src.substring(24, event.detail.msg.src.length),
"content": event.detail.msg.content,
"id": UserCode,
"mine": "true",
"username": user.Data.Name
}],
"to": [{
"avatar": user_list[i].list[j].avatar,
"content": "",
"id": event.detail.mine,
"name": user_list[i].list[j].username,
"type": 'friend'
}]
};
storageMsg(token + a.to[0].id, a);
socket.send(JSON.stringify(a));
}
}
}
}, false);
}
}
mui.ajax('http://www.bosshand.cn/api/Customer/GetInfoFriendGroupchat', {
dataType: 'json',
type: "get",
timeout: 10000, //超时时间设置为10秒;
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
authorization: token
},
success: function(data) {
var data = data.data.friend;
plus.storage.setItem('list', JSON.stringify(data))
var html = '';
for(var i = 0; i < data.length; i++) {
html += '
'
html += ''
html += ''
html += '' + data[i].groupname + ''
html += '
'
html += ''
for(var j = 0; j < data[i].list.length; j++) {
if(data[i].id == 2) {
html += '- '
html += ''
html += '
'
html += ''
html += '' + data[i].list[j].username + ''
html += ' '
} else {
html += '- '
html += ''
html += '
'
html += ''
html += '' + data[i].list[j].username + ''
html += ' '
}
}
html += '
'
html += ''
}
mui('.address-list')[0].innerHTML = html;
}
})
function chatlist() {
var arrayId = JSON.parse(plus.storage.getItem('chartId'))
var arrContent = [];
for(var i = 0; i < arrayId.length; i++) {
if(arrayId[i].substring(0, 56) == token) {
arrContent.push(JSON.parse(plus.storage.getItem(arrayId[i]))[JSON.parse(plus.storage.getItem(arrayId[i])).length - 1]);
}
}
}
});
//$(doc.body).on('tap', '.imgs', function() {
// $('.bg .imgss')[0].innerHTML = '
';
// alert(JSON.stringify($(this)[0].id))
// $('.bg')[0].style.display = 'block';
// });
// $(doc.body).on('tap', '.close', function() {
// $('.bg')[0].style.display = 'none';
// });
//存储聊天记录;
function storageMsg(userid, tempObj) {
//存储token+id
if(plus.storage.getItem('chartId') != null || plus.storage.getItem('chartId') != undefined) {
var arrayId = JSON.parse(plus.storage.getItem('chartId'));
var isId = true;
for(var i = 0; i < arrayId.length; i++) {
if(userid == arrayId[i]) {
isId = false;
break;
}
}
if(isId) {
arrayId.push(userid);
}
plus.storage.setItem('chartId', JSON.stringify(arrayId));
} else {
var tempIdArr = [];
tempIdArr.push(userid)
var idStr = JSON.stringify(tempIdArr);
plus.storage.setItem('chartId', idStr);
};
//根据token+id存储数据
if(plus.storage.getItem(userid) != null || plus.storage.getItem(userid) != undefined) {
var arrayObj = JSON.parse(plus.storage.getItem(userid));
arrayObj.push(tempObj);
plus.storage.setItem(userid, JSON.stringify(arrayObj));
} else {
var tempArr = [];
tempArr.push(tempObj)
var objStr = JSON.stringify(tempArr);
plus.storage.setItem(userid, objStr);
};
chats(userid.substring(0, 32));
};
//渲染页面
function chats(token) {
var arrayId = JSON.parse(plus.storage.getItem('chartId'));
if(arrayId != null || arrayId != undefined) {
var arrContent = [];
for(var i = 0; i < arrayId.length; i++) {
if(arrayId[i].substring(0, 32) == token) {
arrContent.push(JSON.parse(plus.storage.getItem(arrayId[i]))[JSON.parse(plus.storage.getItem(arrayId[i])).length - 1]);
}
}
var htmls = '';
for(var j = 0; j < arrContent.length; j++) {
if(arrContent[j].mine[0].id != UserCode) {
htmls += '';
htmls += '
';
htmls += ' ' + arrContent[j].mine[0].username + '
' + arrContent[j].mine[0].content + '
';
htmls += '
';
htmls += '';
} else {
htmls += '';
htmls += '
';
htmls += ' ' + arrContent[j].to[0].name + '
' + arrContent[j].mine[0].content + '
';
htmls += '
';
htmls += '';
}
mui('.chat-list')[0].innerHTML = '';
};
};
};
//打开聊天面板
function openChats(id) {
mui.openWindow({
url: 'tpl/communicate/chats.html',
waiting: {
autoShow: false, //自动显示等待框,默认为true
},
extras: {
data: id
},
show: {
autoShow: true, //页面loaded事件发生后自动显示,默认为true
duration: 300, //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
},
hardwareAccelerated: true //开启硬件加速
});
};
function removeStorage() {
plus.storage.removeItem("chartId");
};