egg學習筆記(3)--中介軟體
阿新 • • 發佈:2018-12-10
簡介
中介軟體:匹配路由前,匹配路由完成做的一系列操作
目錄結構
列印時間
//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'
]
}
頁面效果