350 lines
7.8 KiB
JavaScript
350 lines
7.8 KiB
JavaScript
var applyRole = function(role) {
|
|
global.wssocket.send("{\"action\":\"applyNodeRole\",\"role\":\"" + role
|
|
+ "\",\"pubKey\":\"" + global.sm2Key.publicKey + "\"}");
|
|
};
|
|
var WSHandler = function(event) {
|
|
data = event.data;
|
|
try {
|
|
var obj = JSON.parse(data);
|
|
switch (obj.action) {
|
|
case 'onTransferTo':
|
|
onTransferTo(obj);
|
|
break;
|
|
case 'onListMemoryFiles':
|
|
onListMemoryFiles(obj);
|
|
break;
|
|
case 'onDumpContract':
|
|
onDumpContract(obj);
|
|
break;
|
|
case 'onChangeDumpPeriod':
|
|
onChangeDumpPeriod(obj);
|
|
break;
|
|
case 'onGetDumpPeriod':
|
|
onGetDumpPeriod(obj);
|
|
break;
|
|
case 'onStaticVerifyResult':
|
|
onStaticVerifyResult(obj);
|
|
break;
|
|
case "onListContractProcess":
|
|
onListContractProcess(obj);
|
|
break;
|
|
case "onDeleteFile":
|
|
onDeleteFile(obj);
|
|
break;
|
|
case "onCancelAuth":
|
|
onCancelAuth(obj);
|
|
break;
|
|
case "onDownloadContract":
|
|
onDownloadFile(obj);
|
|
break;
|
|
case "onChangePublic":
|
|
onChangePublic(obj);
|
|
break;
|
|
case "onListProjects":
|
|
onListProjects(obj);
|
|
break;
|
|
case "onListProject":
|
|
onListProject(obj);
|
|
break;
|
|
case "onListLocalNodeLog":
|
|
onListLocalNodeLog(obj);
|
|
break;
|
|
case "onListLocalNodeLogPie":
|
|
onListLocalNodeLogPie(obj);
|
|
break;
|
|
case "onListLocalNodeLogLine":
|
|
onListLocalNodeLogLine(obj);
|
|
break;
|
|
case "onListLocalContractLog":
|
|
onListLocalContractLog(obj);
|
|
break;
|
|
case "onListLocalContractLogPie":
|
|
onListLocalContractLogPie(obj);
|
|
break;
|
|
case "onListLocalContractLogLine":
|
|
onListLocalContractLogLine(obj);
|
|
break;
|
|
case "onGetNodeSessionID":
|
|
onGetNodeSessionID(obj);
|
|
break;
|
|
case "onLogin":
|
|
onNodeLogin(obj);
|
|
break;
|
|
case "onGetNodeRole":
|
|
onGetNodeRole(obj);
|
|
break;
|
|
case "onApplyRole":
|
|
onApplyRole(obj);
|
|
break;
|
|
case "onListAllAuthRole":
|
|
onListAllAuthRole(obj);
|
|
break;
|
|
case "onListUnAuthRole":
|
|
onListUnAuthRole(obj);
|
|
break;
|
|
case "onDeleteRole":
|
|
onDeleteRole(obj);
|
|
break;
|
|
case "onCountRole":
|
|
onCountRole(obj);
|
|
break;
|
|
case "onAuthNodeRole":
|
|
onAuthNodeRole(obj);
|
|
break;
|
|
case "onApplyNet":
|
|
onApplyNet(obj);
|
|
break;
|
|
case "onLoadNodeConfig":
|
|
onLoadNodeConfig(obj);
|
|
break;
|
|
case "onChangeNodeName":
|
|
onChangeNodeName(obj);
|
|
break;
|
|
case "onChangeYJSPath":
|
|
onChangeYJSPath(obj);
|
|
break;
|
|
case "onGetLicenceExpiredDate":
|
|
$("#expiredDate").html(convertDate(data.data));
|
|
break;
|
|
case "onGetPeerID":
|
|
global.peerID = obj.data;
|
|
// getNodeTrustUnits();//still connecting to centerportalws
|
|
break;
|
|
case "onViewContractInstance":
|
|
onViewContractInstance(obj);
|
|
break;
|
|
case 'onExecuteResult':
|
|
onExecuteResult(obj);
|
|
break;
|
|
case 'onUploadFile':
|
|
onUploadFile(obj);
|
|
break;
|
|
case 'onStartContract':
|
|
onStartContract(obj);
|
|
break;
|
|
case 'onKillContractProcess':
|
|
onStopContract(obj);
|
|
break;
|
|
case 'onKillAllContract':
|
|
onKillAllContract(obj);
|
|
break;
|
|
case 'onSetPermission':
|
|
onSetPermission(obj);
|
|
break;
|
|
case 'onOutputStream':
|
|
displayOutput(obj);
|
|
break;
|
|
case 'onOutputStream':
|
|
displayOutput(obj);
|
|
break;
|
|
case 'onChangeNodeCenter':
|
|
onChangeNodeCenter(obj);
|
|
break;
|
|
case 'onHashResult':
|
|
onHashResult(obj);
|
|
break;
|
|
default:
|
|
displayOutput(obj);
|
|
break;
|
|
}
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
};
|
|
|
|
var displayOutput = function(obj) {
|
|
console.log(obj);
|
|
};
|
|
|
|
var getControlWsUrl = function(host) {
|
|
var prefix = "ws://";
|
|
if (document.location.href.startsWith("https"))
|
|
prefix = "wss://";
|
|
var path = document.location.pathname.lastIndexOf("/");
|
|
path = document.location.pathname.substr(0, path + 1);
|
|
if (path.indexOf("SCIDE") < 0)
|
|
path += "SCIDE/";
|
|
path += "SCExecutor";
|
|
return prefix + host + path;
|
|
};
|
|
var initWSocket = function() {
|
|
var host = document.location.host;
|
|
var url = getControlWsUrl(host);
|
|
console.log("connect ws:" + url);
|
|
global.wssocket = createWssocket(url, function() {
|
|
getSession();
|
|
loadNodeConfig();// get center portal & create centerportalsocket in
|
|
// onLoadNodeConfig
|
|
}, WSHandler);
|
|
|
|
};
|
|
|
|
var centerportalWSHandler = function(event) {
|
|
data = event.data;
|
|
try {
|
|
var obj = JSON.parse(data);
|
|
switch (obj.action) {
|
|
case "onGetNodeTrustUnits":
|
|
onGetNodeTrustUnits(obj);
|
|
break;
|
|
case 'onSessionID':
|
|
onSessionID(obj);
|
|
break;
|
|
case 'onStartContract':
|
|
onStartContract(obj);
|
|
break;
|
|
case 'onStartTrustfulContract':
|
|
onStartTrustfulContract(obj);
|
|
break;
|
|
case 'onDistributeContract':
|
|
onDistributeContract(obj);
|
|
break;
|
|
case 'onDistributeFinish':
|
|
onDistributeFinish(obj);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
} catch (err) {
|
|
console.log(err);
|
|
}
|
|
};
|
|
|
|
var getSession = function() {
|
|
global.wssocket.send("{\"action\":\"getNodeSessionID\"}");
|
|
};
|
|
var exportSMKeyPair = function() {
|
|
$("#dialog").html("Save Your key:<br/>" + JSON.stringify(global.sm2Key))
|
|
$("#dialog").dialog("open");
|
|
};
|
|
// ====== wsHandler
|
|
var onGetNodeSessionID = function(data) {
|
|
console.log("onGetNodeSessionID");
|
|
global.session = data.session;
|
|
var loginParam = {};
|
|
loginParam.pubKey = global.sm2Key.publicKey;
|
|
loginParam.signature = sm2.doSignature(global.session,
|
|
global.sm2Key.privateKey);
|
|
loginParam.action = "login";
|
|
global.wssocket.send(JSON.stringify(loginParam));
|
|
};
|
|
var onNodeLogin = function(data) {
|
|
console.log("onNodeLogin");
|
|
var param = {};
|
|
param.action = "getNodeRole";
|
|
global.wssocket.send(JSON.stringify(param));
|
|
};
|
|
var onGetNodeRole = function(data) {
|
|
console.log("onGetNodeRole");
|
|
pubkeyDialogVue.myRole = data.data;
|
|
global.myRole = data.data;
|
|
loadUserMan();
|
|
|
|
};
|
|
var onListLocalNodeLog = function(data) {
|
|
var userManTab = $("#v-pills-userManager-tab")[0];
|
|
var isActive = (userManTab.getAttribute("aria-selected") == "true");
|
|
if (isActive) {
|
|
drawUserActivityGraph(data);
|
|
} else {
|
|
drawLocalLogGraphs(data);
|
|
}
|
|
};
|
|
var onListAllAuthRole = function(data) {
|
|
console.log("onListAllAuthRole");
|
|
fillAuthRoleData(data.data);
|
|
};
|
|
|
|
var onListUnAuthRole = function(data) {
|
|
console.log("onListUnAuthRole");
|
|
fillUnAuthRoleData(data.data);
|
|
};
|
|
|
|
var onApplyNet = function(data) {
|
|
console.log("onApplyNet");
|
|
};
|
|
var onCountRole = function(data) {
|
|
console.log("onCountRole");
|
|
setUserTypeDistribution(data.data);
|
|
}
|
|
|
|
var onAuthNodeRole = function(data) {
|
|
myToast("授权/忽略操作", data.data);
|
|
if (data.data == "success") {
|
|
var arg = {};
|
|
arg.action = "listAllAuthRole";
|
|
global.wssocket.send(JSON.stringify(arg));
|
|
var arg = {};
|
|
arg.action = "listUnAuthRole";
|
|
global.wssocket.send(JSON.stringify(arg));
|
|
}
|
|
};
|
|
|
|
var onApplyRole = function(data) {
|
|
myToast("申请操作", data.data);
|
|
};
|
|
var onDeleteRole = function(data) {
|
|
myToast("删除操作", data.data);
|
|
var loginAllUser = {};
|
|
loginAllUser.action = "listAllAuthRole";
|
|
global.wssocket.send(JSON.stringify(loginAllUser));
|
|
};
|
|
|
|
// ====== wsHandler done!
|
|
var myToast = function(title, msg) {
|
|
toastVue.toastTitle = title;
|
|
toastVue.toastMessage = msg;
|
|
$("#alertDiv").toast("show");
|
|
|
|
}
|
|
|
|
var countChar = function(str, c) {
|
|
var ret = 0;
|
|
for (var i = 0; i < str.length; i++) {
|
|
if (str.charAt(i) == c)
|
|
ret++;
|
|
}
|
|
return ret;
|
|
}
|
|
var generate = function() {
|
|
var key = sm2.generateKeyPairHex();
|
|
global.sm2Key = key;
|
|
localStorage.setItem("PrivKey", JSON.stringify(key));
|
|
}
|
|
|
|
var killAllContract = function() {
|
|
var request = {};
|
|
request.action = "killAllContract";
|
|
global.wssocket.send(JSON.stringify(request));
|
|
};
|
|
|
|
var init = function() {
|
|
initVue();
|
|
initGlobal();
|
|
initWSocket();
|
|
};
|
|
var getRequestParameters = function() {
|
|
var arr = (location.search || "").replace(/^\?/, '').split("&");
|
|
var params = {};
|
|
for (var i = 0; i < arr.length; i++) {
|
|
var data = arr[i].split("=");
|
|
if (data.length == 2) {
|
|
params[data[0]] = data[1];
|
|
}
|
|
}
|
|
return params;
|
|
};
|
|
var prefix = "./SCIDE/SCManager?";
|
|
if (document.location.href.indexOf("SCIDE") != -1) {
|
|
prefix = "./SCManager?";
|
|
}
|
|
$.ajax({
|
|
url : prefix + "action=listAdapters",
|
|
dataType : "json"
|
|
}).done(function(result) {
|
|
console.log("receive result");
|
|
}).error(function(result) {
|
|
console.log("receive result err");
|
|
console.log(result);
|
|
});
|