diff --git a/honey_box/pages/shouye/index.vue b/honey_box/pages/shouye/index.vue index 68ebad28..22fc115e 100644 --- a/honey_box/pages/shouye/index.vue +++ b/honey_box/pages/shouye/index.vue @@ -378,13 +378,22 @@ async getCoupon() { const res = await getAvailableCoupons(); - if (res.status == 1 && res.data.status != 2) { + if (res.status == 1 && res.data && res.data.status != 2) { res.data.totalMoney = 0; - if (res.data.goods.list.length > 0) { - res.data.totalMoney = res.data.goods.list.reduce((pre, item) => { + // 安全检查 goods 和 list 是否存在 + const goodsList = res.data.goods?.list || res.data.goods || []; + if (Array.isArray(goodsList) && goodsList.length > 0) { + res.data.totalMoney = goodsList.reduce((pre, item) => { return pre + Number(item.price); }, 0); + + // 确保 goods.list 格式正确 + if (!res.data.goods) { + res.data.goods = { list: goodsList }; + } else if (!res.data.goods.list) { + res.data.goods.list = goodsList; + } this.$refs.couponPop.open(); }