我正在使用 vuex、nodeJS 和 express 开发一家网上商店,我制作了一个购物车。
这是我从购物车中移除商品的后端代码
app.delete('/cart/delete', (req, res) => {
const productId = req.body.id;
fs.readFile(CART_DATA_FILE, (err, data) => {
const newCartProducts = JSON.parse(data).map((cartProduct) => {
if (productId === cartProduct.id && cartProduct.quantity > 1) {
cartProduct.quantity--;
if(productId === cartProduct.id && cartProduct.quantity === 1) {
cartIndexToRemove = newCartProducts.findIndex(cartProduct => cartProduct.id ===
productId);
newCartProducts.splice(cartIndexToRemove, 1);
}
}
return cartProduct;
}).filter((cartProduct) => cartProduct.quantity <= 1);
fs.writeFile(CART_DATA_FILE, JSON.stringify(newCartProducts, null, 4), () => {
res.setHeader('Cache-Control', 'no-cache');
res.json(newCartProducts);
});
});
});
当数量为 1 时,我无法从购物车中移除商品,但当数量大于 1 时,它不会减少数量,只会将其全部删除。
有人可以帮忙吗?