简介
中间件:匹配路由前,匹配路由完成做的一系列操作
目录结构
打印时间
//middleware/printdate.js
module.exports = (options,app) => {
return async function printdate(ctx,next){
console.log(options); //打印参数
console.log(new Date()); //打印时间
await next()
}
}
//config/config.default.js
config.middleware = ['printdate'];
config.printdate = {
aaa:"aaa"
}
刷新页面
禁止指定ip访问
//middleware/forbidip.js
module.exports = (options,app) => {
return async function forbidip(ctx,next){
var forbidips = options.forbidips;
var clientIp = ctx.request.ip;
var hasIp = forbidips.some(val => {
if(val == clientIp){
return true;
}
})
if(hasIp){
ctx.status = 403;
ctx.body = '你的ip已经被屏蔽';
}else{
await next()
}
}
}
//config/config.default.js
config.middleware = ['printdate','forbidip'];
config.printdate = {
aaa:"aaa"
}
config.forbidip = {
forbidips:[
'127.0.0.1',
'192.168.0.10'
]
}
页面效果
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。