tframe-utility
Version:
minimal unit of smpoo tframe platform
69 lines (63 loc) • 2.56 kB
JavaScript
/* 服务端配置文件预处理器
@config:tFrameV8格式的服务端 config.json文件
*/
module.exports = config => {
let _conf = config;
let _whitelist = [];
// server段处理
for (let k of Object.keys(_conf.server)) {
let val = _conf.server[k].addr;
_conf.server[k].addr = val || _conf.app.defaultAddr;
// 对配置中使用中的服务节添入白名单
if (val && _conf.server[k].inUsed && !_whitelist.includes(val)) {
let _port = parseInt(_conf.server[k].port);
_whitelist.push((_port === 80 && val) || `${val}:${_port}`);
}
}
// db段处理
for (let dbk of Object.keys(_conf.db)) {
let valTp = _conf.db[dbk].dbType;
let valHost = _conf.db[dbk].dbHost;
let valUser = _conf.db[dbk].dbUser;
let valPwd = _conf.db[dbk].dbPwd;
let valPort = _conf.db[dbk].dbPort;
let valPool = _conf.db[dbk].dbPool;
_conf.db[dbk].dbType = valTp || _conf.app.defaultDbType;
_conf.db[dbk].dbHost = valHost || _conf.app.defaultDbHost;
_conf.db[dbk].dbUser = valUser || _conf.app.defaultDbUser;
_conf.db[dbk].dbPwd = valPwd || _conf.app.defaultDbPwd;
_conf.db[dbk].dbPort =
(valPort && parseInt(valPort)) || parseInt(_conf.app.defaultDbPort);
let dbOptKeys = Object.keys(_conf.db[dbk]);
if (dbOptKeys.includes('dbName')) {
let valDBName = _conf.db[dbk].dbName;
_conf.db[dbk].dbName = valDBName || _conf.app.defaultDbName;
}
if (dbOptKeys.includes('dbPool')) {
let dftPool = _conf.app.defaultDbPool;
let valMaxCct = _conf.db[dbk].dbPool.maxConnCount;
let valMinCct = _conf.db[dbk].dbPool.minConnCount;
let valCnnLife = _conf.db[dbk].dbPool.connLifeSpan;
_conf.db[dbk].dbPool.maxConnCount =
(valMaxCct > 0 && valMaxCct) || dftPool.maxConnCount;
_conf.db[dbk].dbPool.minConnCount =
(valMinCct > 0 && valMinCct) || dftPool.minConnCount;
_conf.db[dbk].dbPool.connLifeSpan =
(valCnnLife > 0 && valCnnLife) || dftPool.connLifeSpan;
}
if (dbOptKeys.includes('defaultCharset')) {
let valCharset = _conf.db[dbk].defaultCharset;
_conf.db[dbk].defaultCharset = valCharset || _conf.app.defaultCharset;
}
if (dbOptKeys.includes('defaultCharset')) {
let valCollate = _conf.db[dbk].defaultCollate;
_conf.db[dbk].defaultCollate = valCollate || _conf.app.defaultCollate;
}
}
return {
// 处理后的配置
config: _conf,
// 白名单
whitelist: _whitelist
};
};