From 8fd77fd8dc113e7e477c6897799f166345391d2e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 16 Apr 2022 16:15:22 +0800 Subject: [PATCH] 1 --- server/web3helper/services/baseservice.js | 13 +++++++++++++ server/web3helper/services/factory.js | 22 +++++++++++++++++++++- server/web3helper/services/present.js | 10 ++++++++-- 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 server/web3helper/services/baseservice.js diff --git a/server/web3helper/services/baseservice.js b/server/web3helper/services/baseservice.js new file mode 100644 index 0000000..d1eca1f --- /dev/null +++ b/server/web3helper/services/baseservice.js @@ -0,0 +1,13 @@ +class BaseService { + + constructor(session) { + this.session = session; + } + + getSession() { + return this.session; + } + +} + +module.exports = BaseService; diff --git a/server/web3helper/services/factory.js b/server/web3helper/services/factory.js index adf60be..6b0317f 100644 --- a/server/web3helper/services/factory.js +++ b/server/web3helper/services/factory.js @@ -1,5 +1,25 @@ -function init() { +const services = {}; +function add(clsNames, modName) { + const modClass = require('./' + modName); + clsNames.forEach((clsName) => { + services[clsName] = { + 'clsName': clsName, + 'modName': modName, + 'class': modClass + } + }); +} + +function init() { + add(['Present'], 'present'); + create('Present', null).init(); +} + +function create(name, session) { + const module = services[name]; + return new module['class'](session); } exports.init = init; +exports.create = create; diff --git a/server/web3helper/services/present.js b/server/web3helper/services/present.js index adf60be..bd5878d 100644 --- a/server/web3helper/services/present.js +++ b/server/web3helper/services/present.js @@ -1,5 +1,11 @@ -function init() { +const BaseService = require('./baseservice'); + +class Present extends BaseService { + + async init() { + + } } -exports.init = init; +module.exports = Present;