import { useState, useEffect } from 'react'; import { getUserBalance, type UserBalance } from '@/lib/api/balance'; export function useBalance() { const [balance, setBalance] = useState({ remainingTokenBalance: 0, totalTokenBalance: 0, usedTokenBalance: 0, }); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); const fetchBalance = async () => { setIsLoading(true); setError(null); const response = await getUserBalance(); if (response.success) { setBalance(response.data); } else { setError(response.message || '获取余额失败'); } setIsLoading(false); }; useEffect(() => { fetchBalance(); }, []); return { balance, isLoading, error, refresh: fetchBalance, }; }