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 { useRequest } from '@/hooks/useRequest' import { getDealerSetting } from '@/api/shop/shopMemberCenter' import MemberBadge from '@/components/business/MemberBadge' definePageConfig({ navigationBarTitleText: '会员升级', }) interface LevelInfo { id: number levelName: string levelIcon: string upgradeCondition: string upgradeAmount: number commissionRate: number selfBuyRate: number } const MemberUpgradePage: React.FC = () => { const { user, isLoggedIn } = useUser() const scrollHeight = useScrollHeight() const [currentLevel, setCurrentLevel] = useState(0) // 获取会员等级列表 const { data: levelList, run: runLevelList, loading } = useRequest(getDealerSetting, { manual: true, }) useEffect(() => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) return } runLevelList() }, [isLoggedIn]) // 处理升级 const handleUpgrade = (level: LevelInfo) => { Taro.showModal({ title: '升级确认', content: `确定升级为${level.levelName}吗?升级后将享受更多权益。`, success: (res) => { if (res.confirm) { Taro.showToast({ title: '升级功能开发中', icon: 'none', }) } }, }) } // 当前等级信息 const currentLevelName = user?.memberLevelName || '普通会员' const currentLevelIndex = levelList?.findIndex(l => l.levelName === currentLevelName) || 0 // 会员等级图标映射 const levelIcons: Record = { '普通会员': '👤', '白银会员': '🥈', '黄金会员': '🥇', '铂金会员': '💎', '钻石会员': '💠', '黑金会员': '🏆', } // 获取图标 const getLevelIcon = (name: string) => levelIcons[name] || '⭐' if (!isLoggedIn) { return null } return ( {/* 顶部背景 */} {getLevelIcon(currentLevelName)} 当前等级 {/* 升级说明 */} 💡 升级说明 升级会员后可享受更多权益,包括更高的佣金比例、专属折扣、优先客服等特权。详情请联系客服了解。 {/* 会员等级列表 */} 选择升级方案 {loading ? ( 加载中... ) : !levelList || levelList.length === 0 ? ( 暂无升级方案 请联系客服了解详情 ) : ( {levelList.map((level, idx) => { const isCurrent = level.levelName === currentLevelName const isHigher = idx > currentLevelIndex return ( {/* 等级图标 */} {getLevelIcon(level.levelName)} {/* 等级信息 */} {level.levelName} {isCurrent && ( 当前 )} {isHigher && ( 可升级 )} {/* 佣金比例 */} 团队佣金 {(level.commissionRate * 100).toFixed(1)}% 自购返利 {(level.selfBuyRate * 100).toFixed(1)}% {/* 升级条件 */} {level.upgradeCondition && ( {level.upgradeCondition} )} {/* 升级按钮 */} {isHigher && ( handleUpgrade(level)} > 升级 )} ) })} )} {/* 权益对比 */} 权益对比 权益项目 {['普通会员', '白银会员', '黄金会员'].map(name => ( {name} ))} {[ { label: '购物折扣', values: ['9.5折', '9折', '8.5折'] }, { label: '团队佣金', values: ['5%', '10%', '15%'] }, { label: '自购返利', values: ['1%', '3%', '5%'] }, { label: '专属客服', values: ['❌', '✔', '✔'] }, { label: '优先发货', values: ['❌', '❌', '✔'] }, ].map((row, idx) => ( {row.label} {row.values.map((val, vIdx) => ( {val} ))} ))} {/* 联系客服 */} Taro.navigateTo({ url: '/pages/user/customer-service/index' })} > 📞 如有疑问 联系客服帮您解答 ) } export default MemberUpgradePage