小电商项目实战 互动版

请求处理


在home的get请求处理中,我们需要首先判断用户的登陆状态,只有用户登录了方可跳转到商品页,如果为登陆呢则跳转到登录页,而且在进入商品页的时候并传入Commodity集合的所有数据数据在页面展示。

首先呢,在models.js文件中定义Commodity集合的Schema属性,共包括商品名称、商品价格、商品图片,这里简单定义如下:

commodity: {
   name: String,
   price: Number,
   imgSrc: String
}

routes目录下添加home.js文件(index.js文件中引用)。

具体处理方式可参考如下代码:

module.exports = function ( app ) {
    app.get('/home', function (req, res) {
        if(req.session.user){
            var Commodity = global.dbHelper.getModel('commodity');
            Commodity.find({}, function (error, docs) {
               //将Commoditys变量传入home模板
               res.render('home',{Commoditys:docs});
            });
        }else{
            req.session.error = "请先登录"
            res.redirect('/login');
        }
    });
}