This commit is contained in:
aozhiwei 2023-07-03 22:03:34 +08:00
parent 892483ae84
commit e6572a59f0

View File

@ -1,24 +1,34 @@
const services = {};
function add(clsNames, modName) {
async function internalAdd(clsName, modName, isSingle) {
const modClass = require('./' + modName);
clsNames.forEach((clsName) => {
services[clsName] = {
'clsName': clsName,
'modName': modName,
'class': modClass
};
});
services[clsName] = {
'clsName': clsName,
'modName': modName,
'class': modClass,
'isSingle': isSingle
};
if (modClass.staticInit) {
await modClass.staticInit();
}
}
async function add(clsName, modName) {
await internalAdd(clsName, modName, false);
}
async function addSingle(clsName, modName) {
await internalAdd(clsName, modName, true);
}
async function init() {
add(['BlockChain'], 'blockchain');
await add("BlockChain", 'blockchain');
add(['PullBcEvent'], 'pull_bcevent');
}
function create(name, session) {
const module = services[name];
return new module['class'](session);
function create(name, session = null) {
const service = services[name];
return new service['class'](session);
}
exports.init = init;