vesh-cli
Version:
码农村nodejs版本VESH框架脚手架搭建器
113 lines • 5.35 kB
JavaScript
(function (V, W, $) {
V.registScript(function (path, vm) {
var _ = this, __ = {};
{
//warning", "error", "success" and "info
V.inherit.apply(_, [W.Control, [path || '<div style="display:none;"></div>', vm || { data: { signname: 'SignLogin'}}]]);
__.onLoad = _.onLoad;
__.render = _.render;
_.addDesc('\tsignname:登陆请求');
_.addDesc('\t事件');
_.addDesc('\terror错误提醒');
_.addDesc('\tlogin登陆成功');
_.addDesc('\tfail登陆失败');
}
_.onLoad = function (node) {
V.forC(_.events, function (k, v) {
switch (k.toLowerCase()) {
case 'error':
case 'login':
case 'seal':
case 'fail':
case 'signature':
break;
default:
_.bindEvent(_.node, k, v);
break;
}
}, function () { __.onLoad(node) });
};
__.getClient2 = function () {
try {
return __.cli2 ? __.cli2 : (function () {
__.cli2 = new HebcaWebSealObject();
return __.cli2;
})();
} catch (e) {
alert(e.message);
_.call('error', { error: e.message });
return null;
}
};
_.render = function (data) {
data = __.render(data);
V.forC(data, function (k, v) {
switch (k.toLowerCase()) {
case 'sign':
var cli = __.getClient2();
if (cli) {
try {
try{cli.Reset();}catch(e){}
var sealSN = cli.GetSealSn(0);
var cert = cli.GetCert(sealSN)
var signature = cli.Sign(v, sealSN, 1);
if(signature)
_.ni.excute('template', _.vm.data.signname, { cert: cert, signature: signature, randomString: v }, function (res) {
if (res.hasData()) {
var ret = res.last();
if (ret.error) {
_.call("fail", { error: ret.error });
} else if (ret.UserID) {
_.call("login", { value: ret });
//window.location.href = "/Module/home2/Home.html";
} else {
_.call("fail", { error: '登陆失敗,無效返回值!' + V.toJsonString(ret) });
}
}
});
} catch (e) {
_.call('error', { error: cli.GetLastErr() });
}
}
break;
case 'seal':
var cli = __.getClient2();
if (cli) {
try {
//自动选择最远的章
if (cli.GetSealCount() <= 1) {
_.call('error', { error: '请同时插入印章U盘' });
return;
}
var sealSN = cli.GetSealSn(1);
var result = cli.SignAndSealForResult(v, "", 1, true, false);
if(V.isValid(result)) _.call('seal', { sealresult: result, sealsn: sealSN });
} catch (e) {
var msg = cli.GetLastErr();
_.call('error', { error: msg || e.message });
}
}
break;
case 'signature':
var cli = __.getClient2();
if (cli) {
try {
//自动选择最远的章
if (cli.GetSealCount() < 1) {
_.call('error', { error: '请插入个人U盘' });
return;
}
var sealSN = cli.GetSealSn(0);
var result = cli.SignAndSealForResult(v, "", 1, true, false);
if (V.isValid(result)) _.call('signature', { sealresult: result, sealsn: sealSN });
} catch (e) {
var msg = cli.GetLastErr();
_.call('error', { error: msg || e.message });
}
}
break;
}
});
}
});
})(VJ, VJ.view, jQuery);