访问视图
接着在routes目录添加cart.js文件(index.js文件中引用),来定义路由处理规则。
比如cart路径的处理,如下:
1.1 检测登陆用户是否过期,已过期则跳转login页同时给出提示信息。
- 1.2 通过global.dbHelper.getModel方法获取cart模型。
- 1.3 通过find查询用户所有商品并传入模板,条件:用户ID,结算状态。
1.4 贴出部分代码:
app.get('/cart', function(req, res) { ...... Cart.find({"uId":用户ID,"cStatus":false},function (error, docs) { res.render('cart',{carts:docs}); }); });
加入购物车按钮链接所对应路径的处理,如:/addToCart/:商品id
app.get("/addToCart/:id", function(req, res) {...});
2.1 通过req.params.id获取商品ID号并检测登陆用户状态。
- 2.2 通过global.dbHelper.getModel方法获取购物车(cart)、商品(commodity)模型。
2.3 商品已存在则进行更新操作,贴出部分参考代码:
Cart.update({"uId":用户ID,"cId":商品ID},{$set:{cQuantity:已有数量+1}}
2.4商品未存在则进行添加操作,贴出部分代码:
Commodity.findOne({"_id": 商品ID}, function (error, doc) { Cart.create({ uId: 用户ID, cId: 商品ID, cName: doc.name, cPrice: doc.price, cImgSrc: doc.imgSrc, cQuantity : 1 },function(error,doc){ if(doc){ res.redirect('/home'); } }); });