UNPKG

16.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["fkpcore/index.js"],"names":["app","AotooConfigs","AotooServerHooks","get","context","configs","routerOptions","prefixes","length","_","map","params","prefix","myOptions","merge","parameters","router","registerRouterPrefixes","presets","innerData","route","preset_keys","short_prefix","multi_part_prefix","filter","item","split","single_part_prefix","sort_prefixs","forEach","_routepreset","fkp","baseRoot","fs","readdirAsync","Path","resolve","__dirname","_utilesFiles","utileFile","valideFile","utileFun","require","default","utileHand","parse","name","registerUtile","pluginRoot","pluginStat","statSync","isDirectory","_pluginFiles","pluginFile","plugin","join","plugins","registerPlugins","options","instance","aks","dfts","apis","pages","index","mapper","pluginsFolder","server","socketio","init","staticMapper","apilist","statics","bind","routepreset","existsSync","console","log","getRouter","getRoute","ctx","use","next","Fetch","run","core","request","global","Sio","sio","Promise","promisifyAll","IGNORE_CHARS","_fkp","opts","that","isAjax","ctxx","header","value","undefined","set","fkpInstanc","property","_name","_value","env","process","NODE_ENV","fn","apply","arguments","prototype","_file","firstChar","charAt","indexOf","module","exports"],"mappings":"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","file":"../../fkpcore/index.js","sourcesContent":["const Path = require('path')\nconst request = require('request')\n\nlet fs = require('fs')\nlet socketio = require('./modules/wsocket'); global.Sio = socketio.sio\n// let cache = require('./modules/cache'); global.Cache = cache\n// let _fetch = require('./modules/fetch');\nlet router = require('./router')\nconst Promise = require('bluebird')\nfs = Promise.promisifyAll(fs)\n\n// 内部变量\nlet innerData = {\n route: {\n prefix: [],\n presets: {}\n }\n}\n\nconst IGNORE_CHARS = ['_', '.']\n\n// 实例, fkp中间件\nfunction _fkp(ctx, opts){\n this.ctx = ctx\n this.opts = opts\n const that = this\n this.isAjax = function(ctxx) {\n return header(ctxx||that.ctx, 'X-Requested-With') === 'XMLHttpRequest';\n }\n}\n\nfunction header(ctx, name, value) {\n if (ctx) {\n if (value != undefined) {\n ctx.request.set(name, value);\n } else {\n return ctx.request.get(name);\n }\n }\n}\n\n// 静态, fkp()返回实例\nfunction fkp(ctx, opts) {\n let fkpInstanc = new _fkp(ctx, opts)\n for (const property of Object.entries(fkp)) {\n const [_name, _value] = property\n fkpInstanc[_name] = _value\n }\n return fkpInstanc\n}\n\nasync function registerRouterPrefixes(app) {\n const AotooConfigs = AotooServerHooks.get().context.configs\n if (Object.keys(AotooConfigs.routerOptions.prefixes).length) {\n _.map(AotooConfigs.routerOptions.prefixes, async (params, prefix) => {\n const myOptions = _.merge({}, AotooConfigs.routerOptions.parameters, params)\n await router(app, prefix, myOptions)\n })\n }\n}\n\nasync function _routepreset(app) {\n await registerRouterPrefixes(app)\n const presets = innerData.route.presets\n const preset_keys = Object.keys(presets)\n const short_prefix = []\n\n const multi_part_prefix = preset_keys.filter(item => item.split('/').length > 2)\n const single_part_prefix = preset_keys.filter(item => item.split('/').length <= 2)\n const sort_prefixs = [...multi_part_prefix, ...single_part_prefix]\n\n sort_prefixs.forEach(async (prefix) => {\n await router(app, prefix, presets[prefix])\n })\n}\n\n\n// manual set static property or fun or some resource\nfkp.env = process.env.NODE_ENV == 'development' ? 'dev' : 'pro'\n\n// Register utile function\nfkp.utileHand = function(name, fn){\n if (typeof fn == 'function') {\n fkp[name] = function() {\n if (fn && typeof fn=='function') { return fn.apply(null, [fkp, ...arguments]) }\n }\n }\n}\n\n// Register plugins function\nfkp.plugins = function(name, fn){\n if (typeof fn == 'function') {\n _fkp.prototype[name] = function() {\n if (fn && typeof fn=='function') { return fn.apply(this, [this.ctx, ...arguments]) }\n }\n }\n}\n\n// as plugins, it look nice\nfkp.use = function(name, fn){\n _fkp.prototype[name] = function() {\n if (fn && typeof fn=='function') return fn.apply(this, [this.ctx, ...arguments])\n }\n}\n\nfunction valideFile(_file) {\n const firstChar = _file && _file.charAt(0)\n return IGNORE_CHARS.indexOf(firstChar) > -1 ? false : true\n}\n\nasync function registerUtile(app) {\n // register utile\n const fkp = app.fkp\n const baseRoot = './base'\n let _utilesFiles = await fs.readdirAsync(Path.resolve(__dirname, baseRoot))\n if (_utilesFiles && _utilesFiles.length) {\n for (let utileFile of _utilesFiles) {\n if (valideFile(utileFile)) {\n // let utileFun = require('./base/' + utileFile).default()\n let utileFun = require('./base/' + utileFile)\n if (utileFun.default) utileFun = utileFun.default()\n else {\n utileFun = utileFun()\n }\n fkp.utileHand(Path.parse(utileFile).name, utileFun)\n }\n }\n }\n}\n\nasync function registerPlugins(pluginRoot, app) {\n const fkp = app.fkp\n const pluginStat = fs.statSync(pluginRoot)\n if (pluginStat.isDirectory()) {\n let _pluginFiles = await fs.readdirAsync(pluginRoot)\n if (_pluginFiles && _pluginFiles.length) {\n for (let pluginFile of _pluginFiles) {\n if (valideFile(pluginFile)) {\n // let plugin = require(Path.join(pluginRoot, pluginFile)).default(fkp)\n let plugin = require(Path.join(pluginRoot, pluginFile))\n if (plugin.default) plugin = plugin.default(fkp)\n else {\n plugin = plugin(fkp)\n }\n fkp.plugins(Path.parse(pluginFile).name, plugin)\n }\n }\n }\n\n // let _pluginFiles = fs.readdirSync(pluginRoot)\n // if (_pluginFiles && _pluginFiles.length) {\n // for (let pluginFile of _pluginFiles) {\n // if (valideFile(pluginFile)) {\n // let plugin = require(Path.join(pluginRoot, pluginFile)).default(fkp)\n // fkp.plugins(Path.parse(pluginFile).name, plugin)\n // }\n // }\n // }\n }\n}\n\n// export default async function(app, options) {\nasync function core(app, options) {\n const instance = this\n // =========== 注册fkp中间件 =============\n app.fkp = fkp\n app.aks = fkp\n\n let dfts = {\n apis: options.apis,\n pages: options.pages, \n index: options.index,\n mapper: options.mapper,\n pluginsFolder: options.pluginsFolder\n }\n\n // 初始化controls目录\n router.pages(dfts.pages) \n\n // 初始化socket.io\n let server = socketio.init(app) \n\n // 传入apis\n // const fetch = _fetch({apis: dfts.apis}); \n // global.Fetch = fetch\n\n fkp.staticMapper = dfts.mapper\n fkp.router = router\n fkp.apilist = dfts.apis\n fkp.index = dfts.index\n fkp.statics = instance.statics.bind(instance)\n\n\n /**\n * 预动态设置路由, 在plugins方法中使用\n * @param {String} prefix koa-router's prefix\n * @param {JSON} routerOptions koa-router's route\n */\n fkp.routepreset = async function(prefix, routerOptions) {\n if (prefix) {\n prefix = Path.join('/', prefix)\n innerData.route.presets[prefix] = routerOptions\n // prefix = Path.join('/', prefix)\n // let presets = innerData.route.presets\n // if (!presets[prefix]) {\n // presets[prefix] = true\n // await router(app, prefix, routerOptions)\n // }\n }\n\n // if (!prefix) return\n // if (prefix.indexOf('/')==-1) return\n // let prefixs = innerData.route.prefix\n // if (prefixs.indexOf(prefix)>-1) return\n // prefixs.push(prefix)\n // await router(app, prefix, routerOptions)\n }\n\n\n /*\n =============== 注册助手方法及plugins =============\n 1、助手方法为一般的静态方法,第一个参数fkp,通过fkp.xxx调用,助手方法不能调用plugins方法\n 2、插件方法为new fkp后的对象方法,带有this的上下文,第一个参数ctx,为koa环境对象,插件方法挂载在fkp上,调用方法同样为fkp.xxx\n =================================================*/\n\n try {\n // register utile\n await registerUtile(app)\n\n // register plugins\n const pluginRoot = dfts.pluginsFolder\n if ( pluginRoot && fs.existsSync(pluginRoot) ) {\n await registerPlugins(pluginRoot, app)\n }\n } catch (e) {\n console.log(e);\n }\n \n // 获取当前的路由信息\n fkp.getRouter = function(){\n return router.getRoute(ctx)\n }\n\n // const myfkp = fkp(null)\n \n // 封装koa中间件\n app.use(async (ctx, next) => {\n // controle层使用的fkp都是实例化的fkp\n \n // myfkp.ctx = ctx\n ctx.fkp = ctx.aks = fkp(ctx)\n // ctx.aks = myfkp\n\n // 定义Fetch的上下文环境\n Fetch.init(ctx)\n await next()\n })\n \n await _routepreset(app)\n \n // 初始化路由\n await router(app)\n\n // socketio运行时\n socketio.run()\n return server\n}\n\nmodule.exports = {\n core: core,\n fkp: fkp\n}\n"]}
\No newline at end of file