This commit is contained in:
aozhiwei 2023-06-13 19:56:28 +08:00
parent ea611c24cd
commit f952818b3b
2 changed files with 27 additions and 4 deletions

View File

@ -0,0 +1,17 @@
class BaseService {
constructor(session) {
this.session = session;
}
getSession() {
return this.session;
}
getUser() {
return this.session.user;
}
}
module.exports = BaseService;

View File

@ -1,24 +1,30 @@
const services = {}; const services = {};
async function add(clsName, modName) { async function internalAdd(clsName, modName, isSingle) {
const modClass = require('./' + modName); const modClass = require('./' + modName);
services[clsName] = { services[clsName] = {
'clsName': clsName, 'clsName': clsName,
'modName': modName, 'modName': modName,
'class': modClass 'class': modClass,
'isSingle': isSingle
}; };
} }
async function add(clsName, modName) {
await internalAdd(clsName, modName, false);
}
async function addSingle(clsName, modName) { async function addSingle(clsName, modName) {
await internalAdd(clsName, modName, true);
} }
async function init() { async function init() {
} }
function create(name) { function create(name, session) {
const service = services[name]; const service = services[name];
return new service['class'](); return new service['class'](session);
} }
exports.init = init; exports.init = init;