import React, { useState, useEffect } from 'react' import { View, Text, Image } from '@tarojs/components' import Taro from '@tarojs/taro' import { useUser } from '@/hooks/useUser' import { useRequest } from '@/hooks/useRequest' import { getMemberCenterData, type MemberCenterData } from '@/api/shop/shopMemberCenter' import { listShopUserReferee } from '@/api/shop/shopUserReferee' import MemberBadge from '@/components/business/MemberBadge' definePageConfig({ navigationBarTitleText: '会员中心', }) const MemberPage: React.FC = () => { const { user, isLoggedIn } = useUser() // 获取会员中心数据 const { data: memberData, run: runMemberData, loading: memberLoading } = useRequest(getMemberCenterData, { manual: true, }) // 获取团队成员数据 const { data: teamData, run: runTeamData } = useRequest(listShopUserReferee, { manual: true, }) // 登录后加载数据 useEffect(() => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) return } runMemberData() runTeamData({}) }, [isLoggedIn]) // 处理升级会员 const handleUpgrade = () => { Taro.navigateTo({ url: '/pages/user/member-upgrade/index' }) } // 处理功能项点击 const handleFeatureClick = (url: string) => { if (url) { Taro.navigateTo({ url }) } } // 会员功能菜单 const memberFeatures = [ { icon: '💰', label: '我的佣金', value: memberData?.commission !== undefined ? `¥${memberData.commission}` : '--', url: '/pages/user/commission/index', }, { icon: '📊', label: '佣金明细', value: '', url: '/pages/user/commission/index', }, { icon: '👥', label: '我的团队', value: memberData?.teamCount !== undefined ? `${memberData.teamCount}人` : '--', url: '/pages/user/team/index', }, { icon: '📋', label: '邀请记录', value: '', url: '/pages/user/invite-record/index', }, ] // 会员权益 const memberBenefits = [ { icon: '🎁', text: '享受会员专属折扣' }, { icon: '💵', text: '获得分销佣金权益' }, { icon: '🎯', text: '优先客服支持' }, { icon: '🎉', text: '专属活动邀请' }, ] if (!isLoggedIn) { return null } return ( {/* 会员卡片 - 渐变背景 */} {/* 装饰圆形 */} {/* 用户信息行 */} {user?.avatar ? ( ) : ( 👤 )} {user?.nickname || user?.phone || '用户'} {/* 升级按钮 */} {memberData?.isDealer ? '已开通' : '升级会员'} {/* 佣金数据 */} {memberLoading ? '...' : (memberData?.totalCommission || 0).toFixed(2)} 累计佣金(元) {memberLoading ? '...' : (memberData?.commission || 0).toFixed(2)} 可提现(元) {memberLoading ? '...' : (memberData?.teamCount || 0)} 团队人数 {/* 功能入口卡片 */} 分销管理 {memberFeatures.map((item, idx) => ( handleFeatureClick(item.url)} > {item.icon} {item.label} {item.value && ( {item.value} )} ))} {/* 会员权益 */} 会员权益 Taro.navigateTo({ url: '/pages/user/member-upgrade/index' })} > 了解更多 › {memberBenefits.map((benefit, idx) => ( {benefit.icon} {benefit.text} ))} {/* 推广赚钱 */} 推广赚钱 🎁 邀请好友赚佣金 每邀请1位好友注册并消费,可获得佣金分成 Taro.navigateTo({ url: '/pages/user/promotion/index' })} > 立即推广 Taro.navigateTo({ url: '/pages/user/invite-record/index' })} > 邀请记录 {/* 团队概况 */} {teamData && teamData.length > 0 && ( 团队概况 Taro.navigateTo({ url: '/pages/user/team/index' })} > 查看全部 › {teamData.length} 团队人数 {teamData.filter(m => (m as any)?.isActive).length} 活跃成员 {teamData.filter(m => (m as any)?.isMember).length} 会员人数 )} ) } export default MemberPage