From 97b9568823218c39234b695c9804e2d8830435f5 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Fri, 7 Aug 2026 17:05:23 +0800 Subject: [PATCH] fix: task 6 review round 1 --- src/pages/checkout/index.tsx | 10 ++++-- src/pages/shop/detail/index.scss | 54 ++++++-------------------------- src/pages/shop/detail/index.tsx | 29 +++++++++-------- 3 files changed, 31 insertions(+), 62 deletions(-) diff --git a/src/pages/checkout/index.tsx b/src/pages/checkout/index.tsx index 494e990..a4b58e9 100644 --- a/src/pages/checkout/index.tsx +++ b/src/pages/checkout/index.tsx @@ -36,7 +36,7 @@ export default function CheckoutPage() { } Taro.showModal({ title: '确认下单', - content: `确认后将从设计清单生成订单,并寄送至:\n${address.region ? address.region.join(' ') : ''} ${address.detail}`, + content: `确认后将从设计清单生成订单,并寄送至:\n${formatAddress(address.region, address.detail)}`, success: (res) => { if (res.confirm) { designToOrder(design.id) @@ -57,6 +57,10 @@ export default function CheckoutPage() { const hasStickers = design && design.designData && design.designData.stickers && design.designData.stickers.length > 0 const hasLegacyImage = design && design.designData ? design.designData.imageSrc : undefined + const formatAddress = (region: string[] | undefined, detail: string) => { + const regionText = region ? region.join(' ') : '' + return regionText ? `${regionText} ${detail}` : detail + } if (!design) { return ( @@ -158,7 +162,7 @@ export default function CheckoutPage() { {address.phone} - {address.region ? address.region.join(' ') : ''} {address.detail} + {formatAddress(address.region, address.detail)} ) : ( @@ -201,7 +205,7 @@ export default function CheckoutPage() { {addr.isDefault && 默认} - {addr.region ? addr.region.join(' ') : ''} {addr.detail} + {formatAddress(addr.region, addr.detail)} ))} diff --git a/src/pages/shop/detail/index.scss b/src/pages/shop/detail/index.scss index 701d0c4..2ab2dda 100644 --- a/src/pages/shop/detail/index.scss +++ b/src/pages/shop/detail/index.scss @@ -289,59 +289,25 @@ line-height: 1; } -/* --- Bottom CTA Bar --- */ -.shop-cta-bar { - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 60; - padding: 20rpx 32rpx calc(20rpx + env(safe-area-inset-bottom, 0px)); - display: flex; - align-items: center; - justify-content: space-between; - gap: 24rpx; - backdrop-filter: blur(16rpx) saturate(1.2); - -webkit-backdrop-filter: blur(16rpx) saturate(1.2); - box-shadow: var(--shadow-card); - transition: background-color 0.4s ease; +/* --- Bottom Action Bar — 样式由全局 .action-bar 提供,本地只补充价格摘要 --- */ +.action-bar .price-summary { + flex-shrink: 0; } -.shop-cta-price-col { - display: flex; - align-items: baseline; - gap: 12rpx; +.summary-label { + font-size: 22rpx; + color: var(--text-secondary); + display: block; } -.shop-cta-price { +.summary-price { font-size: 40rpx; font-weight: 700; color: var(--accent-primary); } -.shop-cta-original { +.summary-original { font-size: 24rpx; - color: #8a7e72; + color: var(--text-muted); text-decoration: line-through; } - -.shop-cta-btn { - flex: 1; - max-width: 260rpx; - background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-primary-strong) 99%); - color: #fff; - border-radius: 50rpx; - padding: 24rpx 48rpx; - font-size: 30rpx; - font-weight: 600; - text-align: center; - display: flex; - align-items: center; - justify-content: center; - box-shadow: var(--shadow-card); -} - -.shop-cta-btn-text { - color: inherit; - font-weight: 600; -} diff --git a/src/pages/shop/detail/index.tsx b/src/pages/shop/detail/index.tsx index defefde..7177899 100644 --- a/src/pages/shop/detail/index.tsx +++ b/src/pages/shop/detail/index.tsx @@ -108,7 +108,7 @@ export default function ShopDetailPage() { if (!product) { return ( - + 商品不存在 @@ -116,7 +116,7 @@ export default function ShopDetailPage() { } return ( - + {/* Fixed Hero */} @@ -268,24 +268,23 @@ export default function ShopDetailPage() { - {/* Bottom CTA — fixed, glass, links to existing product page */} - - - ¥{product.price} + {/* Bottom CTA — 全局毛玻璃 action-bar,沿用 product/checkout 模式 */} + + + 起价 + ¥{product.price} {product.originalPrice && product.originalPrice > product.price && ( - ¥{product.originalPrice} + ¥{product.originalPrice} )} - Taro.navigateTo({ url: `/pages/product/index?id=${product.id}` })} - > - 立即定制 + Taro.navigateBack()}> + 返回 + + Taro.navigateTo({ url: `/pages/product/index?id=${product.id}` })}> + 立即定制 + ) }