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 = {}; const services = {};
function add(clsNames, modName) { async function internalAdd(clsName, modName, isSingle) {
const modClass = require('./' + modName); const modClass = require('./' + modName);
clsNames.forEach((clsName) => { services[clsName] = {
services[clsName] = { 'clsName': clsName,
'clsName': clsName, 'modName': modName,
'modName': modName, 'class': modClass,
'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() { async function init() {
add(['BlockChain'], 'blockchain'); await add("BlockChain", 'blockchain');
add(['PullBcEvent'], 'pull_bcevent'); add(['PullBcEvent'], 'pull_bcevent');
} }
function create(name, session) { function create(name, session = null) {
const module = services[name]; const service = services[name];
return new module['class'](session); return new service['class'](session);
} }
exports.init = init; exports.init = init;