前端代码: <li v-for="(itme,index) in GoodList"> <div class="pic"> <a href="#"><img v-lazy="'/static/'+itme.productImage" alt=""></a> </div> <div class="main"> <div class="name">{{itme.productName}}</div> <div class="price">{{itme.salePrice}}</div> <div class="btn-area"> <a href="javascript:;" class="btn btn--m" @click="addCart(itme.productId)">加入购物车</a> </div> </div> </li> addCart(productId){ axios.post('/goods/addCart',{productId:productId}).then((res)=>{ if(res.status==0){ alert("添加成功"); }else{ alert("msg:"+res.msg); } })
后端代码:
///加入购物车
router.post("/addCart", function(req, res, next) {
var userId = "100000077";
var productId = req.body.productId;
var User = require('../models/user');
User.findOne({
userId: userId
}, function(err, userDoc) {
if(err) {
res.json({
status: "1",
msg: err.message
})
} else {
if(userDoc) {
console.log("userDoc:" + userDoc);
let goodsItem = '';
userDoc.cartList.forEach(function(item) {
if(item.productId == productId) {
goodsItem = item;
item.productNum++;
}
});
if(goodsItem) {
userDoc.save(function(err2, doc2) {
if(err2) {
res.json({
status: "1",
msg: err2.message
});
} else {
res.json({
status: "0",
msg: "",
result: "suc"
});
}
})
} else {
Goods.findOne({
productId: productId
}, function(err1, doc) {
if(err1) {
res.json({
status: "1",
msg: err1.message
});
} else {
if(doc) {
newobj = { //新创建一个对象,实现转换mongoose不能直接增加属性的坑
productId: doc.productId,
producName: doc.producName,
salePrice: doc.salePrice,
productName: doc.productName,
productImage: doc.productImage,
productNum: "1",
checked: "1",
}
userDoc.cartList.push(newobj);
userDoc.save(function(err2, doc2) {
if(err2) {
res.json({
status: "1",
msg: err2.message
});
} else {
res.json({
status: "0",
msg: "",
result: "suc"
});
}
})
}
}
});
}
}
}
});
});
慕设计2395807
慕设计2395807
冲冲冲奥利给123