235 lines
6.8 KiB
JavaScript
235 lines
6.8 KiB
JavaScript
let socket;
|
|
|
|
|
|
function indexload(){
|
|
console.log("Index loaded");
|
|
socket = io.connect(':9092/socketio');
|
|
|
|
let intervalhandle;
|
|
socket.on('connect', function() {
|
|
console.log("Connected, id: " + socket.id);
|
|
intervalhandle = setInterval(function(){
|
|
socket.emit('command', requestdata('getCpuInfo',''), (response)=>{
|
|
let data = isSuccess(response);
|
|
if (data) {
|
|
let cpuUsage = JSON.parse(data.cpuUsage);
|
|
$('#cpuStatus').text('Temp: ' + data.cpuTemperature + ' °C, Usage: ' + cpuUsage.cpu + '%');
|
|
}
|
|
});
|
|
socket.emit('command', requestdata('getRamInfo','') , (response)=>{
|
|
let data = isSuccess(response);
|
|
if (data) {
|
|
$('#ramStatus').text('Total: ' + data.totalKB + ' , Free: ' + data.availableKB + ' , Usage: ' + data.usedKB);
|
|
}
|
|
});
|
|
socket.emit('command', requestdata('getSipStatus',''), (response)=>{
|
|
let data = isSuccess(response);
|
|
if (data) {
|
|
$('#sipStatus').text(data);
|
|
}
|
|
});
|
|
socket.emit('command', requestdata('getNetworkInfo',''), (response)=>{
|
|
let data = isSuccess(response);
|
|
if (data) {
|
|
let txmap = JSON.parse(data.txmap);
|
|
let rxmap = JSON.parse(data.rxmap);
|
|
$('#networkStatus').text('TX: '+txmap.eth0+', RX: '+rxmap.eth0);
|
|
}
|
|
});
|
|
socket.emit('command', requestdata('getDiskInfo',''), (response)=>{
|
|
let data = isSuccess(response);
|
|
if (data) {
|
|
$('#storageStatus').text('Total: ' + data.total + ' , Free: ' + data.free);
|
|
}
|
|
});
|
|
}, 5000);
|
|
});
|
|
socket.on('disconnect', function() {
|
|
console.log("Disconnected");
|
|
clearInterval(intervalhandle);
|
|
});
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
* Create Socketio RequestData
|
|
* @param {string} request
|
|
* @param {string }data
|
|
* @returns JsonObject
|
|
*/
|
|
function requestdata(request, data){
|
|
return {request: request, data: data};
|
|
}
|
|
|
|
/**
|
|
* Check if response is success
|
|
* @param {Object} value response data to check
|
|
* @return {null} if failed, Object if success
|
|
*/
|
|
function isSuccess(value){
|
|
if (value){
|
|
if (value.hasOwnProperty('response') && value.hasOwnProperty('data')){
|
|
if (value.response && value.response.length>0){
|
|
if (value.response==='success'){
|
|
let len = value.data.length;
|
|
if (len>0){
|
|
if (value.data[0]==='{'){
|
|
if (value.data[len-1]==='}'){
|
|
return JSON.parse(value.data);
|
|
}
|
|
}
|
|
}
|
|
return value.data;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function dialClick(){
|
|
console.log("Dial clicked");
|
|
let number = $('#dialNumber').val();
|
|
if (socket && socket.connected) socket.emit('command', requestdata('dial',number), (response)=>{
|
|
console.log("Dial response: "+response);
|
|
});
|
|
}
|
|
|
|
function hangupClick(){
|
|
console.log("Hangup clicked");
|
|
if (socket && socket.connected) socket.emit('command', requestdata('hangup',''), (response)=>{
|
|
console.log("Hangup response: "+response);
|
|
});
|
|
}
|
|
|
|
function clearDialNumber(){
|
|
$('#dialNumber').val('');
|
|
}
|
|
|
|
function appendDialNumber(number){
|
|
console.log('Append number: '+number);
|
|
$('#dialNumber').val($('#dialNumber').val()+number);
|
|
}
|
|
|
|
function settingload(){
|
|
console.log("Setting loaded");
|
|
if (socket && socket.connected) {
|
|
socket.disconnect();
|
|
}
|
|
fetch('/setting', {method: 'GET'}).then((response)=>{
|
|
response.json().then((data)=>{
|
|
//console.log(JSON.stringify(data));
|
|
$('#webUsername').val(data.loginSetting.Username);
|
|
$('#webPassword').val(data.loginSetting.Password);
|
|
$('#sipServer').val(data.sipSetting.Server);
|
|
$('#sipPort').val(data.sipSetting.Port);
|
|
$('#sipUsername').val(data.sipSetting.Username);
|
|
$('#sipPassword').val(data.sipSetting.Password);
|
|
});
|
|
});
|
|
}
|
|
|
|
function sendLoginData(){
|
|
console.log("Send login data");
|
|
let loginData = {
|
|
Username: $('#webUsername').val(),
|
|
Password: $('#webPassword').val()
|
|
};
|
|
fetch('/logindata', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(loginData)
|
|
}).then((response)=>{
|
|
response.text().then((msg)=>{
|
|
alert(msg);
|
|
});
|
|
});
|
|
}
|
|
|
|
function sendSipData(){
|
|
console.log("Send SIP data");
|
|
let sipData = {
|
|
Server: $('#sipServer').val(),
|
|
Port: $('#sipPort').val(),
|
|
Username: $('#sipUsername').val(),
|
|
Password: $('#sipPassword').val()
|
|
};
|
|
fetch('/sipdata', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(sipData)
|
|
}).then((response)=>{
|
|
response.text().then((msg)=>{
|
|
alert(msg);
|
|
});
|
|
});
|
|
}
|
|
|
|
function loginload(){
|
|
console.log("Login loaded");
|
|
if (socket && socket.connected) {
|
|
socket.disconnect();
|
|
}
|
|
}
|
|
|
|
function logload(){
|
|
console.log("Log loaded");
|
|
if (socket && socket.connected) {
|
|
socket.disconnect();
|
|
}
|
|
getLogFiles();
|
|
$('#logfiles').change(function(){
|
|
let logname = $('#logfiles').val();
|
|
if (logname && logname.length>0){
|
|
getLogData(logname);
|
|
}
|
|
});
|
|
}
|
|
|
|
function getLogFiles(){
|
|
fetch('/logfiles', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
}).then((response)=>{
|
|
response.json().then((data)=>{
|
|
let logList = $('#logfiles');
|
|
logList.empty();
|
|
logList.append('<option value="">Select Logfile</option>');
|
|
data.forEach((log)=>{
|
|
logList.append('<option value="'+log+'">'+log+'</option>');
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
function getLogData(logname){
|
|
fetch('/logdata', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: logname
|
|
}).then((response)=>{
|
|
response.json().then((data)=>{
|
|
let tablebody = $('#tablebody');
|
|
tablebody.empty();
|
|
data.forEach((log)=>{
|
|
let str = '<tr>';
|
|
str += '<td>'+log.Date+'</td>';
|
|
str += '<td>'+log.Time+'</td>';
|
|
str += '<td>'+log.Method+'</td>';
|
|
str += '<td>'+log.Message+'</td>';
|
|
str += '</tr>';
|
|
tablebody.append(str);
|
|
});
|
|
});
|
|
});
|
|
} |