import { View, Text, Image, ScrollView } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { useState, useEffect } from 'react'; import { getBenefitPackageList } from '@/api/shop/shopMemberBenefit'; import EmptyState from '@/components/common/EmptyState'; import './index.scss'; definePageConfig({ navigationBarTitleText: '会员权益包', }); export default function BenefitPackagesPage() { const [list, setList] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { loadList(); }, []); const loadList = async () => { try { const res = await getBenefitPackageList(); if (res.code === 200) setList(res.data || []); } finally { setLoading(false); } }; const handleExchange = (pkg: any) => { Taro.navigateTo({ url: `/pages/user/benefit-exchange-confirm/index?id=${pkg.id}`, }); }; const handleHistory = () => { Taro.navigateTo({ url: '/pages/user/benefit-exchange-list/index' }); }; return ( {/* 顶部提示 */} 专属会员权益 成为会员,即可申请兑换以下权益包 兑换记录 > {!loading && list.length === 0 && ( )} {list.map((pkg) => ( {pkg.coverImage && ( )} {pkg.name} {pkg.tag && {pkg.tag}} {pkg.description && ( {pkg.description} )} {pkg.pointsCost > 0 && ( {pkg.pointsCost}积分 )} {pkg.balanceCost > 0 && ( ¥{pkg.balanceCost} )} {pkg.pointsCost === 0 && pkg.balanceCost === 0 && ( 免费 )} {pkg.stock === -1 ? '不限库存' : `剩余 ${pkg.stock} 件`} pkg.stock !== 0 && handleExchange(pkg)} > {pkg.stock === 0 ? '已兑完' : '立即兑换'} ))} ); }