yapi/server_dist/yapi.js

78 lines
1.9 KiB
JavaScript
Raw Normal View History

'use strict';
var _map = require('babel-runtime/core-js/map');
var _map2 = _interopRequireDefault(_map);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _fsExtra = require('fs-extra');
var _fsExtra2 = _interopRequireDefault(_fsExtra);
2017-07-11 16:50:17 +08:00
var _nodemailer = require('nodemailer');
var _nodemailer2 = _interopRequireDefault(_nodemailer);
2017-07-27 20:22:54 +08:00
var _config = require('../../config.json');
var _config2 = _interopRequireDefault(_config);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var insts = new _map2.default();
2017-07-11 16:50:17 +08:00
var mail = void 0;
2017-07-05 17:59:53 +08:00
var WEBROOT = _path2.default.resolve(__dirname, '..'); //路径
var WEBROOT_SERVER = __dirname;
2017-07-27 14:21:22 +08:00
var WEBROOT_RUNTIME = _path2.default.resolve(__dirname, '../..');
var WEBROOT_LOG = _path2.default.join(WEBROOT_RUNTIME, 'log');
var WEBCONFIG = _config2.default;
2017-07-11 16:50:17 +08:00
_fsExtra2.default.ensureDirSync(WEBROOT_LOG);
if (WEBCONFIG.mail) {
mail = _nodemailer2.default.createTransport(WEBCONFIG.mail);
}
/**
* 获取一个model实例如果不存在则创建一个新的返回
* @param {*} m class
* @example
* yapi.getInst(groupModel, arg1, arg2)
*/
function getInst(m) {
if (!insts.get(m)) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
insts.set(m, new m(args));
}
return insts.get(m);
}
function delInst(m) {
try {
insts.delete(m);
} catch (err) {
2017-07-27 19:49:26 +08:00
console.error(err); // eslint-disable-line
}
}
2017-07-11 16:50:17 +08:00
var r = {
fs: _fsExtra2.default,
path: _path2.default,
WEBROOT: WEBROOT,
WEBROOT_SERVER: WEBROOT_SERVER,
WEBROOT_RUNTIME: WEBROOT_RUNTIME,
WEBROOT_LOG: WEBROOT_LOG,
WEBCONFIG: WEBCONFIG,
getInst: getInst,
delInst: delInst,
getInsts: insts
2017-07-11 16:50:17 +08:00
};
if (mail) r.mail = mail;
module.exports = r;