我正在node.js上建立一个电子商务网站,我需要在其中实现购物车,其中用户可以将产品添加到购物车而无需像亚马逊那样登录,当他登录时,这些产品应自动添加到购物车,目前我正在为用户会话添加购物车。任何人都可以帮我解决问题。
var cart = [];
function add_to_cart(req, res, next) {
db.arts.findOne(query, function(err, art) {
if (err) return next(err);
if (!art) {
return res.status(404).send({
error: 'Art not found'
});
}
if (req.session.user) {
var user_id = req.session.user._id;
}
var cart_detail = {
art_id: art._id,
price: art.price,
};
if (cart.length !== 0) {
var arrayTrue = true;
req.session.cart.forEach(function(data) {
if (data.art_id == req.params._id) {
arrayTrue = false;
}
});
console.log(arrayTrue);
if (arrayTrue) {
// Doesn't exist...
console.log("dosent exist");
cart.push(cart_detail);
req.session.cart = cart;
return res.send(req.session.cart);
} else {
return res.send({
error: "Art already present in your cart"
});
}
}
cart.push(cart_detail);
req.session.cart = cart;
console.log(req.session.cart);
return res.send(req.session.cart);
});
}