1 Star 0 Fork 0

pixel / billon-system

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
controller.js 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
pixel 提交于 2018-06-10 22:51 . to
/*
made by QM.奇淼
2018/06/07 14:00
*/
const fs = require('fs');
// 路由 方法
const addMapping = (router,mapping)=>{
for(var url in mapping){
if(url.startsWith('GET')){
let path ='/api'+ url.substring(3)
router.get(path,mapping[url])
console.log(`register URL mapping: GET ${path}`)
}else if(url.startsWith('POST')){
let path ='/api'+ url.substring(4)
router.post(path,mapping[url])
console.log(`register URL mapping: POST ${path}`)
}else{
console.log(`invalid URL: ${url}`);
}
}
}
// 获取控制器并且内部调用写好的路由方法
const addControllers = (router,dir)=>{
let controller = fs.readdirSync(__dirname+"/"+dir)
let js_file = controller.filter(item=>item.endsWith('.js'))
js_file.map(item=>{
console.log(`process controller: ${item}...`)
let mapping = require(__dirname+`/${dir}/` + item)
// 路由方法
console.log(mapping)
addMapping(router,mapping)
})
}
module.exports = function (dir) {
let
controllers_dir = dir || 'controllers', // 如果不传参数,扫描目录默认为'controllers'
router = require('koa-router')();
addControllers(router, controllers_dir);
return router.routes();
};
1
https://gitee.com/pixelmax/billon-system.git
git@gitee.com:pixelmax/billon-system.git
pixelmax
billon-system
billon-system
master

搜索帮助