import {useState} from "react"; import Taro, {useDidShow} from '@tarojs/taro' import {Button, Cell, CellGroup, Space, Empty, ConfigProvider, Divider} from '@nutui/nutui-react-taro' import {Dongdong, ArrowRight, CheckNormal, Checked} from '@nutui/icons-react-taro' import {View} from '@tarojs/components' import {ShopUserAddress} from "@/api/shop/shopUserAddress/model"; import {listShopUserAddress, removeShopUserAddress, updateShopUserAddress} from "@/api/shop/shopUserAddress"; import FixedButton from "@/components/FixedButton"; const Address = () => { const [list, setList] = useState([]) const [address, setAddress] = useState() const reload = () => { listShopUserAddress({ userId: Taro.getStorageSync('UserId') }) .then(data => { setList(data || []) // 默认地址 setAddress(data.find(item => item.isDefault)) }) .catch(() => { Taro.showToast({ title: '获取地址失败', icon: 'error' }); }) } const onDefault = async (item: ShopUserAddress) => { if (address) { await updateShopUserAddress({ ...address, isDefault: false }) } await updateShopUserAddress({ id: item.id, isDefault: true }) Taro.showToast({ title: '设置成功', icon: 'success' }); reload(); } const onDel = async (id?: number) => { await removeShopUserAddress(id) Taro.showToast({ title: '删除成功', icon: 'success' }); reload(); } const selectAddress = async (item: ShopUserAddress) => { if (address) { await updateShopUserAddress({ ...address, isDefault: false }) } await updateShopUserAddress({ id: item.id, isDefault: true }) setTimeout(() => { Taro.navigateBack() }, 500) } useDidShow(() => { reload() }); if (list.length == 0) { return (
) } return ( <> Taro.navigateTo({url: '/user/address/wxAddress'})} >
获取微信地址
{list.map((item, _) => ( selectAddress(item)}> {item.name} {item.phone} {item.province} {item.city} {item.region} {item.address} onDefault(item)}> {item.isDefault ? : } 默认地址 } extra={ <> onDel(item.id)}> 删除 Taro.navigateTo({url: '/user/address/add?id=' + item.id})}> 修改 } /> ))} {/* 底部浮动按钮 */} Taro.navigateTo({url: '/user/address/add'})} /> ); }; export default Address;