From ea4b67557d441e7d3a73bc51897b74d7051c1f83 Mon Sep 17 00:00:00 2001 From: "97694732@qq.com" Date: Wed, 3 Jun 2026 16:56:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=92=E8=B4=B9=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E5=A4=9A=E7=A7=8DAPI=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/upload/upload.vue | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pages/upload/upload.vue b/pages/upload/upload.vue index 0e6eadd..3d6b95d 100644 --- a/pages/upload/upload.vue +++ b/pages/upload/upload.vue @@ -1001,7 +1001,24 @@ export default { const list = (productsData.list || []).slice(0, 12) this.productList = list.map(item => { const cleanPrice = parseFloat((item.priceText || '0').replace(/[^\d.]/g, '')) - const shippingFee = item.postage && item.postage.shippingList && item.postage.shippingList.length > 0 ? parseFloat(item.postage.shippingList[0].shippingFee || 0) : 0 + let shippingFee = 0 + // 多种格式兼容处理运费 + if (item.postage) { + if (typeof item.postage === 'number' || typeof item.postage === 'string') { + // 运费直接是数字/字符串 + shippingFee = parseFloat(item.postage) || 0 + } else if (item.postage.shippingList && item.postage.shippingList.length > 0) { + // 标准格式: postage.shippingList[0].shippingFee + shippingFee = parseFloat(item.postage.shippingList[0].shippingFee || 0) + } else if (item.postage.shippingFee) { + // 扁平格式: postage.shippingFee + shippingFee = parseFloat(item.postage.shippingFee || 0) + } + } + // 也检查顶层字段 + if (shippingFee === 0 && item.shippingFee) { + shippingFee = parseFloat(item.shippingFee) || 0 + } const totalPrice = Number((cleanPrice + shippingFee).toFixed(2)) return { image: item.imgBigUrl || '',