'use client' import { useState } from 'react' import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/navigation' import { clearCart, showAlert } from 'store' import { useCreateOrderMutation } from '@/store/services' import { Button, CartInfo, HandleResponse, Icons, ResponsiveImage, WithAddressModal, } from 'components' import { formatNumber } from 'utils' import { useAppDispatch, useAppSelector, useUserInfo } from 'hooks' const ShippingPage = () => { //? Assets const router = useRouter() const dispatch = useAppDispatch() //? Get User Data const { userInfo } = useUserInfo() //? States const [paymentMethod, setPaymentMethod] = useState('在线支付') //? Store const { cartItems, totalItems, totalDiscount, totalPrice } = useAppSelector(state => state.cart) //? Create Order Query const [postData, { data, isSuccess, isError, isLoading, error }] = useCreateOrderMutation() //? Handlers const handleCreateOrder = () => { if ( !userInfo?.address?.city && !userInfo?.address?.province && !userInfo?.address?.area && !userInfo?.address?.street && !userInfo?.address?.postalCode ) return dispatch( showAlert({ status: 'error', title: '请填写您的地址', }) ) else postData({ body: { address: { city: userInfo.address.city.name, area: userInfo.address.area.name, postalCode: userInfo.address.postalCode, provinces: userInfo.address.province.name, street: userInfo.address.street, }, mobile: userInfo.mobile, cart: cartItems, totalItems, totalPrice, totalDiscount, paymentMethod, }, }) } //? Local Components const ChangeAddress = () => { const BasicChangeAddress = ({ addressModalProps }) => { const { openAddressModal } = addressModalProps || {} return ( 改变 | 编辑 ) } return ( ) } //? Render(s) return ( <> {/* Handle Create Order Response */} {(isSuccess || isError) && ( { dispatch(clearCart()) router.push('/profile') }} /> )} {/* header */} 购物车 付款方式 {/* address */} 订单送货地址 {userInfo?.address?.street} {userInfo?.name} {/* products */} 正常发货 有现货 {formatNumber(totalItems)} 件商品 {cartItems.map(item => ( {item.color && ( {item.color.name} )} {item.size && ( {item.size.size} )} ))} 返回购物车 {/* cart info */} setPaymentMethod(e.target.value)} /> 在线支付 setPaymentMethod(e.target.value)} /> 银行卡 完成购买 > ) } export default ShippingPage
{userInfo?.address?.street}