import { useEffect, useState } from 'react'; import { View, Text } from '@tarojs/components'; import Taro from '@tarojs/taro'; import PageShell from '../../components/PageShell'; import SubPageHeader from '../../components/SubPageHeader'; import { request } from '../../lib/api'; type LedgerItem = { id: string; title?: string; amount: number; createdAt?: string; type?: string; }; export default function BenefitDetailPage() { const [items, setItems] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { request('/benefit/ledger') .then((data) => setItems(Array.isArray(data) ? data : [])) .catch(() => { // UI shell fallback demo rows when API missing setItems([]); }) .finally(() => setLoading(false)); }, []); return ( { const pages = Taro.getCurrentPages(); if (pages.length > 1) { Taro.navigateBack(); return; } Taro.switchTab({ url: '/pages/mine/index' }); }} /> {loading ? 加载中… : null} {!loading && items.length === 0 ? ( 暂无明细记录 ) : null} {items.map((item) => { const isOut = Number(item.amount) < 0 || item.type === 'REDEEM'; return ( {item.title || (isOut ? '门店核销' : '购酒入账')} {item.createdAt ? String(item.createdAt).slice(0, 19).replace('T', ' ') : '-'} {isOut ? '' : '+'} {Number(item.amount).toFixed(2)} ); })} ); }