|
|
@@ -93,10 +93,16 @@ export default function OrderSubmitPage() {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
- // 页面加载时获取订单数据
|
|
|
+ // 页面加载时获取订单数据 - 只执行一次
|
|
|
useEffect(() => {
|
|
|
// 从立即购买获取数据
|
|
|
const buyNowData = Taro.getStorageSync('buyNow')
|
|
|
+ const checkoutData = Taro.getStorageSync('checkoutItems')
|
|
|
+ const cartData = Taro.getStorageSync('mini_cart')
|
|
|
+
|
|
|
+ // console.log("buyNowData",buyNowData)
|
|
|
+ // console.log("checkoutItems",checkoutData)
|
|
|
+ // console.log("mini_cart",cartData)
|
|
|
|
|
|
if (buyNowData && buyNowData.goods) {
|
|
|
// 使用立即购买的商品数据
|
|
|
@@ -111,25 +117,35 @@ export default function OrderSubmitPage() {
|
|
|
setTotalAmount(buyNowData.totalAmount)
|
|
|
// 清除立即购买数据,避免下次进入时重复使用
|
|
|
Taro.removeStorageSync('buyNow')
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else if(checkoutData&&checkoutData.items)
|
|
|
+ {
|
|
|
// 从购物车获取数据
|
|
|
- const checkoutData = Taro.getStorageSync('checkoutItems')
|
|
|
- const cartData = Taro.getStorageSync('mini_cart')
|
|
|
-
|
|
|
- if (checkoutData && checkoutData.items) {
|
|
|
setOrderItems(checkoutData.items)
|
|
|
setTotalAmount(checkoutData.totalAmount)
|
|
|
- } else if (cartData && cartData.items) {
|
|
|
+
|
|
|
+ Taro.removeStorageSync('checkoutItems')
|
|
|
+ }
|
|
|
+ else if (cartData && cartData.items) {
|
|
|
// 使用购物车数据
|
|
|
const items = cartData.items
|
|
|
const total = items.reduce((sum: number, item: CheckoutItem) =>
|
|
|
sum + (item.price * item.quantity), 0)
|
|
|
setOrderItems(items)
|
|
|
setTotalAmount(total)
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- // 设置默认地址
|
|
|
+ Taro.removeStorageSync('mini_cart')
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // 如果没有立即购买数据,清空订单项
|
|
|
+ setOrderItems([])
|
|
|
+ setTotalAmount(0)
|
|
|
+ }
|
|
|
+ }, []) // 空依赖数组,确保只执行一次
|
|
|
+
|
|
|
+ // 设置默认地址 - 单独处理地址数据变化
|
|
|
+ useEffect(() => {
|
|
|
if (addresses?.data) {
|
|
|
const defaultAddress = addresses.data.find(addr => addr.isDefault === 1)
|
|
|
setSelectedAddress(defaultAddress || addresses.data[0] || null)
|