import React, { useState, useEffect } from 'react' import { View, Text, ScrollView, Image } from '@tarojs/components' import Taro from '@tarojs/taro' import { useUser } from '@/hooks/useUser' import { useScrollHeight } from '@/hooks/useScrollHeight' import { listShopUserReferee } from '@/api/shop/shopUserReferee' import type { ShopUserReferee } from '@/api/shop/shopUserReferee/model' import EmptyState from '@/components/common/EmptyState' definePageConfig({ navigationBarTitleText: '我的团队', }) const TeamPage: React.FC = () => { const { isLoggedIn } = useUser() const [teamMembers, setTeamMembers] = useState([]) const [loading, setLoading] = useState(true) const scrollHeight = useScrollHeight(44) useEffect(() => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) return } fetchTeamMembers() }, [isLoggedIn]) const fetchTeamMembers = async () => { try { const data = await listShopUserReferee({}) setTeamMembers(data || []) } catch (e) { console.error('获取团队信息失败:', e) } finally { setLoading(false) } } if (!isLoggedIn) { return null } return ( {/* 团队统计 */} {teamMembers.length} 团队人数 {teamMembers.filter(m => m.isActive).length} 活跃成员 {teamMembers.filter(m => m.isMember).length} 会员人数 {/* 团队成员列表 */} 团队成员 {loading ? ( 加载中... ) : teamMembers.length === 0 ? ( ) : ( {teamMembers.map((member, idx) => ( {member.nickname || '用户'} {member.isMember && ( 会员 )} 加入时间:{member.createTime} ¥{member.totalCommission || 0} 累计佣金 ))} )} ) } export default TeamPage