从购物车中移除商品

时间:2021-03-29 17:49:58

标签: node.js vue.js

我正在使用 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 时,它不会减少数量,只会将其全部删除。

有人可以帮忙吗?

0 个答案:

没有答案