diff --git a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx index d7c29fa0..baba61fc 100644 --- a/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx +++ b/soul-admin/src/pages/find-partner/tabs/MatchPoolTab.tsx @@ -50,6 +50,10 @@ const DEFAULT_CONFIG: MatchConfig = { } const ICONS = ['⭐', '👥', '❤️', '🎮', '💼', '🚀', '💡', '🎯', '🔥', '✨'] +interface PoolCounts { + vip: number; complete: number; all: number +} + export function MatchPoolTab() { const [config, setConfig] = useState(DEFAULT_CONFIG) const [isLoading, setIsLoading] = useState(true) @@ -57,6 +61,17 @@ export function MatchPoolTab() { const [showTypeModal, setShowTypeModal] = useState(false) const [editingType, setEditingType] = useState(null) const [formData, setFormData] = useState({ id: '', label: '', matchLabel: '', icon: '⭐', matchFromDB: false, showJoinAfterMatch: true, price: 1, enabled: true }) + const [poolCounts, setPoolCounts] = useState(null) + const [poolCountsLoading, setPoolCountsLoading] = useState(false) + + const loadPoolCounts = async () => { + setPoolCountsLoading(true) + try { + const data = await get<{ success?: boolean; data?: PoolCounts }>('/api/db/match-pool-counts') + if (data?.success && data.data) setPoolCounts(data.data) + } catch (e) { console.error('加载池子人数失败:', e) } + finally { setPoolCountsLoading(false) } + } const loadConfig = async () => { setIsLoading(true)