import React, { useState, useEffect } from 'react' import { View, Text, ScrollView } from '@tarojs/components' import Taro from '@tarojs/taro' import { useUser } from '@/hooks/useUser' import { useScrollHeight } from '@/hooks/useScrollHeight' import { listShopDealerWithdraw } from '@/api/shop/shopDealerWithdraw' import EmptyState from '@/components/common/EmptyState' definePageConfig({ navigationBarTitleText: '佣金明细', }) const CommissionPage: React.FC = () => { const { isLoggedIn } = useUser() const [records, setRecords] = useState([]) const [loading, setLoading] = useState(true) const scrollHeight = useScrollHeight(44) useEffect(() => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) return } fetchRecords() }, [isLoggedIn]) const fetchRecords = async () => { try { const data = await listShopDealerWithdraw({}) setRecords(data || []) } catch (e) { console.error('获取佣金记录失败:', e) } finally { setLoading(false) } } const getStatusText = (status: number) => { const statusMap: Record = { 0: '待审核', 10: '审核通过', 20: '待收款', 30: '已拒绝', 40: '已完成', } return statusMap[status] || '未知' } if (!isLoggedIn) { return null } return ( {loading ? ( 加载中... ) : records.length === 0 ? ( ) : ( {records.map((item) => ( {item.type === 'withdraw' ? '佣金提现' : '佣金收入'} 0 ? 'text-green-500' : 'text-red-500' }`} > {item.amount > 0 ? `+${item.amount}` : item.amount} {item.createTime} {getStatusText(item.status)} ))} )} ) } export default CommissionPage