使用egg.js框架开发项目,使用中间件做拦截器
app/middleware/auth.js中做简单的判断session中user是否为空对象,登陆页面不做拦截
module.exports = options => {
return function* auth(next) {
yield next;
if(this.path=='/'||this.path=='/login'){
return;
}
if(!this.session.user.username){
this.redirect('/', 'login.index');
}
};
};
然后再app/config/config.default.js中添加中间件的配置
config.middleware=[ 'auth' ];
在登陆的api中有一系列的判断,然后会返回相应的code 和message,
this.ctx.body = {
'code':code,
'message':message
};
但是添加了中间件后
前台点击登陆,登录api中也能打印出相应的code和message,但是前台发送登录请求的回调函数接收到的相应参数的body成了当前登陆页面
小唯快跑啊
相关分类