feat: update param filters in listContractProcess

refactor
style
This commit is contained in:
Frank.R.Wu
2021-06-30 10:39:00 +08:00
parent 10841c1b03
commit 59d54cb2b5
12 changed files with 1449 additions and 1457 deletions

View File

@@ -1,28 +1,31 @@
var expandOrCollapse = function () {
if ($("#outputNav").hasClass("col-2")) {
$("#outputNav").removeClass("col-2").addClass("col-6");
function expandOrCollapse() {
const outputNavEl = $("#outputNav")
if (outputNavEl.hasClass("col-2")) {
outputNavEl.removeClass("col-2").addClass("col-6");
$("#mainBox").removeClass("col-8").addClass("col-4");
$("#expand").html("收起");
} else {
$("#outputNav").removeClass("col-6").addClass("col-2");
outputNavEl.removeClass("col-6").addClass("col-2");
$("#mainBox").removeClass("col-4").addClass("col-8");
$("#expand").html("展开");
}
};
var listContracts = function () {
var request = {};
request.action = "listContractProcess";
global.wssocket.send(JSON.stringify(request));
};
}
var startContract = function () {
var key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
var sm2Key = JSON.parse(key.sm2Key);
var projectId = $("#selectedProject")[0].value;
var project = global.projects[projectId];
function listContracts() {
global.wssocket.send(JSON.stringify({
action: 'listContractProcess',
filters: 2
}));
}
function startContract() {
const key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
const sm2Key = JSON.parse(key.sm2Key);
const projectId = $("#selectedProject")[0].value;
const project = global.projects[projectId];
startResult.innerText = "正在启动合约:" + project;
var request = {};
const request = {};
request.action = "startContract";
request.isPrivate = $("#privateprojecttab").hasClass("active");
@@ -38,17 +41,16 @@ var startContract = function () {
request.script = "empty";
}
global.wssocket.send(JSON.stringify(request));
}
};
var startContractAsDebug = function () {
var key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
var sm2Key = JSON.parse(key.sm2Key);
var projectId = $("#selectedProject")[0].value;
var project = global.projects[projectId];
function startContractAsDebug() {
const key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
const sm2Key = JSON.parse(key.sm2Key);
const projectId = $("#selectedProject")[0].value;
const project = global.projects[projectId];
startResult.innerText = "正在以调试模式启动合约:" + project;
var request = {};
const request = {};
request.action = "startContractAsDebug";
request.isPrivate = $("#privateprojecttab").hasClass("active");
@@ -64,32 +66,32 @@ var startContractAsDebug = function () {
request.script = "empty";
}
global.wssocket.send(JSON.stringify(request));
}
};
var stopContract = function () {
var request = {};
request.action = "killContractProcess";
request.requestID = new Date().getTime() + "";
request.name = mainVue.contracts[selectedContract.value].name;
request.id = mainVue.contracts[selectedContract.value].id;
global.wssocket.send(JSON.stringify(request));
};
function stopContract() {
global.wssocket.send(JSON.stringify({
action: 'killContractProcess',
requestID: new Date().getTime().toString(),
name: mainVue.contracts[selectedContract.value].name,
id: mainVue.contracts[selectedContract.value].id
}));
}
var genReadme = function () {
var request = {};
request.isPrivate = global.currentFile.isPrivate;
request.path = global.currentFile.path;
var tmpIndex = request.path.lastIndexOf('/');
var yjsName = request.path.substring(tmpIndex + 1, request.path.length - 4);
function genReadme() {
const request = {
isPrivate: global.currentFile.isPrivate,
path: global.currentFile.path
};
const tmpIndex = request.path.lastIndexOf('/');
const yjsName = request.path.substring(tmpIndex + 1, request.path.length - 4);
request.path = request.path.substring(0, tmpIndex);
var key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
var sm2Key = JSON.parse(key.sm2Key);
const key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
const sm2Key = JSON.parse(key.sm2Key);
for (c of mainVue.contracts) {
for (const c of mainVue.contracts) {
// 这里假设合约名同文件名
if (yjsName == c.name) {
var exportedFunction = c.exportedFunctions;
if (yjsName === c.name) {
const exportedFunction = c.exportedFunctions;
ReadmeFunction = [];
for (let f of exportedFunction) {
let description = "暂无描述";
@@ -97,11 +99,11 @@ var genReadme = function () {
readmeFunc.functionName = f.functionName;
readmeFunc.description = description;
for (let anno of f.annotations) {
if (anno.type == 'Param') {
if (anno.type === 'Param') {
readmeFunc.args = anno.args[0];
} else if (anno.type == 'Description') {
} else if (anno.type === 'Description') {
readmeFunc.description = anno.args[0];
} else if (anno.type == 'Result') {
} else if (anno.type === 'Result') {
readmeFunc.result = anno.args[0];
}
}
@@ -117,174 +119,168 @@ var genReadme = function () {
}
}
myToast("生成文档失败", "请启动合约并检查合约与文件名是否一致!");
};
}
var genData = function () {
var key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
var sm2Key = JSON.parse(key.sm2Key);
var value = selectedContract.value;
if (value != undefined && value != "选择合约实例") {
var request = {};
function genData() {
const key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
const sm2Key = JSON.parse(key.sm2Key);
const value = selectedContract.value;
if (value && value !== "选择合约实例") {
const request = {};
request.action = "generateDataFromRM";
request.requestID = new Date().getTime() + "_"
+ Math.floor(Math.random() * 10000);
var contract = mainVue.contracts[selectedContract.value];
request.requestID = `${new Date().getTime()}_${Math.floor(Math.random() * 10000)}`;
const contract = mainVue.contracts[selectedContract.value];
request.isPrivate = $("#privateprojecttab").hasClass("active");
request.contractID = contract.id;
request.contractName = mainVue.contracts[selectedContract.value].name;
var arg = {};
if ($('#gasLimit').val() == undefined || $('#gasLimit').val() == "") {
arg.gasLimit = '1000';
} else {
arg.gasLimit = $('#gasLimit').val();
}
// console.log("[arg.gasLimit]"+arg.gasLimit);
request.pubkey = sm2Key.publicKey;
request.signature = sm2.doSignature(request.contractID + "|" + arg.action
+ "|" + arg.arg + "|" + sm2Key.publicKey, sm2Key.privateKey);
request.arg = JSON.stringify(arg);
request.signature = sm2.doSignature(
`${request.contractID}|${arg.action}|${arg.arg}|${sm2Key.publicKey}`,
sm2Key.privateKey,
{hash: true, der: true});
const gasLimit = $('#gasLimit').val()
request.arg = JSON.stringify({
gasLimit: gasLimit ? gasLimit : '1000'
});
localStorage.setItem("persisArg", JSON.stringify(request));
global.wssocket.send(JSON.stringify(request));
}
};
}
function queryContractInstanceDOI() {
global.wssocket.send(JSON.stringify({
action: "queryContractInstanceDOI",
requestID: new Date().getTime().toString(),
name: mainVue.contracts[selectedContract.value].name,
id: mainVue.contracts[selectedContract.value].id
}));
}
var queryContractInstanceDOI = function () {
var request = {};
request.action = "queryContractInstanceDOI";
request.requestID = new Date().getTime() + "";
request.name = mainVue.contracts[selectedContract.value].name;
request.id = mainVue.contracts[selectedContract.value].id;
global.wssocket.send(JSON.stringify(request));
};
function queryContractInstanceInfoByDOI() {
global.wssocket.send(JSON.stringify({
action: 'queryContractInstanceInfoByDOI',
requestID: new Date().getTime().toString(),
doi: contractInstanceDOIInput.value
}));
}
var queryContractInstanceInfoByDOI = function () {
var request = {};
request.action = "queryContractInstanceInfoByDOI";
request.requestID = new Date().getTime() + "";
request.doi = contractInstanceDOIInput.value;
global.wssocket.send(JSON.stringify(request));
};
function importContractInstanceCodeByDOI() {
global.wssocket.send(JSON.stringify({
action: "importContractInstanceCodeByDOI",
requestID: new Date().getTime().toString(),
doi: contractInstanceDOIInput.value
}));
}
var importContractInstanceCodeByDOI = function () {
var request = {};
request.action = "importContractInstanceCodeByDOI";
request.requestID = new Date().getTime() + "";
request.doi = contractInstanceDOIInput.value;
global.wssocket.send(JSON.stringify(request));
};
function openInClient() {
window.open(isBaaS ?
`${location.origin}/client/BaaSClient.html${location.search}` :
`${location.origin}/client/bdwareclient.html?self=true&` +
`contract=${mainVue.contracts[selectedContract.value].id}`);
}
var openinClient = function () {
let url
if (isBaaS) {
url = `${location.origin}/client/BaaSClient.html${location.search}`;
} else {
url = `${location.origin}/client/bdwareclient.html?self=true&contract=${mainVue.contracts[selectedContract.value].id}`
function stopAllContract() {
global.wssocket.send(JSON.stringify({
action: 'killAllContract'
}));
}
function selectContractToExecute() {
const value = selectedContractAtExecute.value;
if (value && value !== "选择实例" && mainVue.contracts[value]) {
mainVue.contractFunctions = mainVue.contracts[value].exportedFunctions;
global.wssocket.send(JSON.stringify({
action: "connectTo",
name: mainVue.contracts[value].name,
id: mainVue.contracts[value].id
}));
}
window.open(url);
};
}
var stopAllContract = function () {
var request = {};
request.action = "killAllContract";
global.wssocket.send(JSON.stringify(request));
};
var selectContractToExecute = function () {
var value = selectedContractAtExecute.value;
if (value && value !== "选择实例") {
var exportedFunction = mainVue.contracts[value].exportedFunctions;
mainVue.contractFunctions = exportedFunction;
var pingObj = {};
pingObj.action = "connectTo";
pingObj.name = mainVue.contracts[value].name;
pingObj.id = mainVue.contracts[value].id;
global.wssocket.send(JSON.stringify(pingObj));
}
};
var executeContract = function () {
if (selectedFunction.value == undefined) {
function executeContract() {
if (!selectedFunction.value) {
myToast("调用合约失败", "请选择合约方法");
return;
}
if (selectedContractAtExecute.value == undefined) {
if (!selectedContractAtExecute.value) {
myToast("调用合约失败", "请选择合约");
return;
}
var key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
var sm2Key = JSON.parse(key.sm2Key);
var request = {};
const key = pubkeyDialogVue.sm2KeyList[pubkeyDialogVue.selectedSM2Key];
const sm2Key = JSON.parse(key.sm2Key);
const request = {};
request.action = "executeContract";
request.requestID = new Date().getTime() + "_"
+ Math.floor(Math.random() * 10000);
var contract = mainVue.contracts[selectedContractAtExecute.value];
const contract = mainVue.contracts[selectedContractAtExecute.value];
request.contractID = contract.id;
request.operation = contract.exportedFunctions[selectedFunction.value].functionName;
arg = executeContractArgInput.value;
if ($('#gasLimit').val() == undefined || $('#gasLimit').val() == "") {
request.gasLimit = '1000';
} else {
request.gasLimit = $('#gasLimit').val();
}
const arg = executeContractArgInput.value;
const gasLimit = $('#gasLimit').val()
request.gasLimit = gasLimit ? gasLimit : '1000'
request.pubkey = sm2Key.publicKey;
request.signature = sm2.doSignature(request.contractID + "|" + request.operation
+ "|" + arg + "|" + sm2Key.publicKey, sm2Key.privateKey, {hash: true, der: true});
request.signature = sm2.doSignature(
`${request.contractID}|${request.operation}|${arg}|${sm2Key.publicKey}`,
sm2Key.privateKey,
{hash: true, der: true});
request.arg = arg;
localStorage.setItem("persisArg", JSON.stringify(request));
global.wssocket.send(JSON.stringify(request));
};
var executeContractWithDynamicResult = function () {
if (selectedFunction.value == undefined) {
}
function executeContractWithDynamicResult() {
if (!selectedFunction.value) {
myToast("调用合约失败", "请选择合约方法");
return;
}
if (selectedContractAtExecute.value == undefined) {
if (!selectedContractAtExecute.value) {
myToast("调用合约失败", "请选择合约");
return;
}
console.log("executeContractWithDynamicResult");
var request = {};
const request = {};
request.action = "executeContract";
request.requestID = new Date().getTime() + "";
var contract = mainVue.contracts[selectedContractAtExecute.value];
const contract = mainVue.contracts[selectedContractAtExecute.value];
request.contractName = contract.id;
var arg = {};
arg.action = contract.exportedFunctions[selectedFunction.value].functionName;
arg.arg = executeContractArgInput.value;
const arg = {
action: contract.exportedFunctions[selectedFunction.value].functionName,
arg: executeContractArgInput.value
};
request.withDyanmicAnalysis = true;
request.arg = "{\"action\":\"" + arg.action + "\",\"arg\":\"" + arg.arg
+ "\"}";
request.pubkey = global.sm2Key.publicKey;
request.signature = sm2.doSignature(request.contractID + "|" + arg.action
+ "|" + arg.arg + "|" + global.sm2Key.publicKey,
global.sm2Key.privateKey, {hash: true, der: true});
request.signature = sm2.doSignature(
`${request.contractID}|${arg.action}|${arg.arg}|${global.sm2Key.publicKey}`,
global.sm2Key.privateKey,
{hash: true, der: true});
localStorage.setItem("persisArg", JSON.stringify(request));
global.wssocket.send(JSON.stringify(request));
};
var testEvaluates = function () {
if (selectedFunction.value == undefined) {
}
function testEvaluates() {
if (!selectedFunction.value) {
myToast("调用合约失败", "请选择合约方法");
return;
}
if (selectedContractAtExecute.value == undefined) {
if (!selectedContractAtExecute.value) {
myToast("调用合约失败", "请选择合约");
return;
}
console.log("Evaluates");
var contract = mainVue.contracts[selectedContractAtExecute.value];
const contract = mainVue.contracts[selectedContractAtExecute.value];
var request = {};
request.action = "evaluates";
request.contractName = contract.id;
request.functionName = contract.exportedFunctions[selectedFunction.value].functionName;
request.args = executeContractArgInput.value;
global.wssocket.send(JSON.stringify(request));
};
global.wssocket.send(JSON.stringify({
action: "evaluates",
contractName: contract.id,
functionName: contract.exportedFunctions[selectedFunction.value].functionName,
args: executeContractArgInput.value
}));
}

View File

@@ -12,6 +12,7 @@ var expandOrCollapse = function () {
var listContracts = function () {
var request = {};
request.action = "listContractProcess";
request.filters = 2;
global.wssocket.send(JSON.stringify(request));
};
@@ -75,7 +76,7 @@ var importContractInstanceCodeByDOI = function () {
global.wssocket.send(JSON.stringify(request));
};
var openinClient = function () {
var openInClient = function () {
var path = document.location.pathname;
path = path.replace("/SCIDE", "");
path = path.replace("/OnlineIDE.html", "");