import React from 'react' import { View, Text, Image, ScrollView } from '@tarojs/components' import Taro from '@tarojs/taro' import { useUser } from '@/hooks/useUser' import MemberBadge from '@/components/business/MemberBadge' const UserPage: React.FC = () => { const { user, isLoggedIn } = useUser() // TabBar 页面列表 const tabBarPages = ['/pages/index/index', '/pages/shop/index', '/pages/order/list', '/pages/user/user'] const handleNavigate = (url: string) => { if (tabBarPages.includes(url)) { Taro.switchTab({ url }) } else { Taro.navigateTo({ url }) } } const menuItems = [ { icon: '📦', label: '我的订单', url: '/pages/order/list' }, { icon: '📅', label: '预约订单', url: '/pages/booking/list' }, { icon: '🏆', label: '赛事活动', url: '/pages/event/my/index' }, { icon: '🎫', label: '优惠券', url: '/pages/user/coupon-list' }, { icon: '💰', label: '我的钱包', url: '/pages/user/wallet' }, { icon: '📍', label: '收货地址', url: '/pages/user/address-list' }, { icon: '⭐', label: '积分明细', url: '/pages/user/points-record' }, { icon: '🔔', label: '消息通知', url: '/pages/index/notification' }, { icon: '⚙️', label: '设置', url: '/pages/user/setting' }, ] const handleLogin = () => { if (!isLoggedIn) { Taro.navigateTo({ url: '/passport/login' }) } } return ( {/* 顶部渐变背景区域 */} {/* 渐变背景 */} {/* 装饰圆形 */} {/* 用户信息卡片 */} {/* 头像区域 */} {isLoggedIn && user?.avatar ? ( ) : ( 👤 )} {/* VIP标识 */} {isLoggedIn && user?.memberLevelName && ( VIP )} {/* 用户信息 */} {isLoggedIn ? (user?.nickname || user?.phone || '用户') : '点击登录'} {isLoggedIn && user?.memberLevelName && ( )} {isLoggedIn ? ( ID: {(user as any)?.id || '暂无'} ) : ( 登录后享受更多服务 )} {/* 箭头 */} {'>'} {/* 数据概览 */} {isLoggedIn && ( Taro.switchTab({ url: '/pages/points/index' })} > {(user as any)?.points || 0} 积分 Taro.navigateTo({ url: '/pages/user/coupon-list' })} > 0 优惠券 Taro.switchTab({ url: '/pages/order/list' })} > 0 订单 )} {/* 我的订单快捷入口 */} 我的订单 Taro.switchTab({ url: '/pages/order/list' })}> 全部订单 {'>'} {[ { icon: '💳', label: '待付款', status: 0, color: '#f093fb' }, { icon: '📦', label: '待发货', status: 1, color: '#667eea' }, { icon: '🚚', label: '待收货', status: 2, color: '#4facfe' }, { icon: '✅', label: '已完成', status: 3, color: '#52c41a' }, ].map(item => ( { Taro.setStorageSync('order_tab', item.status); Taro.switchTab({ url: '/pages/order/list' }) }} > {item.icon} {item.label} ))} {/* 功能菜单 */} {menuItems.map((item, idx) => ( handleNavigate(item.url)} > {item.icon} {item.label} {'>'} ))} {/* 底部安全区域 */} ) } export default UserPage