my.uvue.map 23 KB

1
  1. {"version":3,"sources":["pages/index/my.uvue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <view class=\"page-container\">\r\n\r\n <!-- 1. 用户信息头部 -->\r\n <view class=\"user-header\">\r\n <image :src=\"userInfo['avatar']\" class=\"avatar\" mode=\"aspectFill\" />\r\n <view class=\"user-info\">\r\n <text class=\"username\">\r\n {{ userInfo['name'] }}\r\n </text>\r\n <view class=\"badge-row\">\r\n <text class=\"badge vip\">\r\n 王牌\r\n </text>\r\n </view>\r\n </view>\r\n <view class=\"header-actions\">\r\n <view class=\"action-item\" @click=\"contactService\">\r\n <u-icon type=\"customer-service\" size=\"24\" color=\"#666\">\r\n </u-icon>\r\n <text>\r\n 客服\r\n </text>\r\n </view>\r\n <view class=\"action-item\" @click=\"openSettings\">\r\n <u-icon type=\"gear\" size=\"24\" color=\"#666\">\r\n </u-icon>\r\n <text>\r\n 设置\r\n </text>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <!-- 2. 等级卡片 -->\r\n <view class=\"level-card\">\r\n <view class=\"level-main\">\r\n <text class=\"level-title\">\r\n V{{ userInfo['level'] }}\r\n </text>\r\n <text class=\"level-sub\">\r\n 成长值 {{ userInfo['growthValue'] }}\r\n </text>\r\n </view>\r\n <view class=\"level-progress\">\r\n <text class=\"progress-text\">\r\n 还差{{ userInfo['nextLevelGap'] }}成长值可升至V{{ userInfo['nextLevel'] }}\r\n </text>\r\n <view class=\"progress-bar\">\r\n <view class=\"progress-fill\" :style=\"{ width: progressWidth }\">\r\n </view>\r\n </view>\r\n <view class=\"progress-labels\">\r\n <text>\r\n V1\r\n </text>\r\n <text>\r\n V2\r\n </text>\r\n </view>\r\n </view>\r\n <view class=\"level-badge\" @click=\"viewLevelDetail\">\r\n <u-icon type=\"vip\" size=\"40\" color=\"#ffffff\">\r\n </u-icon>\r\n <text>\r\n 我的等级\r\n </text>\r\n </view>\r\n </view>\r\n\r\n <!-- 3. 我的档案 -->\r\n <view class=\"section-title\">\r\n 我的档案\r\n </view>\r\n <view class=\"profile-stats\">\r\n <view class=\"stat-item\">\r\n <text class=\"stat-value\">\r\n 60\r\n </text>\r\n <text class=\"stat-label\">\r\n 签约\r\n </text>\r\n </view>\r\n <view class=\"stat-item\">\r\n <text class=\"stat-value\">\r\n 21\r\n </text>\r\n <text class=\"stat-label\">\r\n 解约\r\n </text>\r\n </view>\r\n <view class=\"stat-item\">\r\n <u-icon type=\"location\" size=\"24\" color=\"#666\">\r\n </u-icon>\r\n <text class=\"stat-label\">\r\n 异地签到\r\n </text>\r\n </view>\r\n <view class=\"stat-item\">\r\n <u-icon type=\"cart\" size=\"24\" color=\"#666\">\r\n </u-icon>\r\n <text class=\"stat-label\">\r\n 购买物料\r\n </text>\r\n </view>\r\n </view>\r\n\r\n <!-- 4. 我的工具 -->\r\n <view class=\"section-title\">\r\n 我的工具\r\n </view>\r\n <view class=\"tools-grid\">\r\n <view class=\"tool-item\" v-for=\"(tool, idx) in tools\" :key=\"idx\" @click=\"handleToolClick(tool)\">\r\n <u-icon :type=\"tool.icon\" size=\"32\" :color=\"tool.color\">\r\n </u-icon>\r\n <text class=\"tool-name\">\r\n {{ tool.name }}\r\n </text>\r\n </view>\r\n </view>\r\n\r\n <!-- 5. 推广卡片 -->\r\n <view class=\"promo-cards\">\r\n <!-- 邀请好友 -->\r\n <view class=\"promo-card invite\" @click=\"inviteFriends\">\r\n <view class=\"promo-content\">\r\n <text class=\"promo-title\">\r\n 邀请好友赚钱\r\n </text>\r\n <text class=\"promo-subtitle\">\r\n 单次最高可奖200元\r\n </text>\r\n </view>\r\n <u-icon type=\"gift\" size=\"40\" color=\"#ffd700\">\r\n </u-icon>\r\n </view>\r\n\r\n <!-- 我的团队 -->\r\n <view class=\"promo-card team\" @click=\"viewTeam\">\r\n <view class=\"promo-content\">\r\n <text class=\"promo-title\">\r\n 我的团队\r\n </text>\r\n <text class=\"promo-subtitle\">\r\n 团队成员100人\r\n </text>\r\n </view>\r\n <u-icon type=\"person\" size=\"40\" color=\"#4a90e2\">\r\n </u-icon>\r\n </view>\r\n </view>\r\n\r\n <!-- 6. 城市合伙人 banner -->\r\n <view class=\"partner-banner\" @click=\"joinPartner\">\r\n <view class=\"partner-content\">\r\n <text class=\"partner-title\">\r\n 寻找城市合伙人\r\n </text>\r\n <text class=\"partner-subtitle\">\r\n 全新盈利模式助你创业\r\n </text>\r\n </view>\r\n <view class=\"partner-icon\">\r\n <u-icon type=\"person\" size=\"50\" color=\"#ffffff\">\r\n </u-icon>\r\n <u-icon type=\"person\" size=\"30\" color=\"#ffffff\" style=\"margin-left: -20rpx;\">\r\n </u-icon>\r\n </view>\r\n </view>\r\n\r\n </view>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n import { ref, reactive } from 'vue';\r\n\r\n // --- 用户信息 ---\r\n\r\n\ttype UserInfo = {\r\n\t\tname : string;\r\n\t\tavatar : string;\r\n\t\tlevel : number;\r\n\t\tgrowthValue : number;\r\n\t\tnextLevel : number;\r\n\t\tnextLevelGap : number;\r\n\t\tprogressPercent : number;\r\n\t}\r\n const userInfo = reactive<UserInfo>({\r\n name: '刘大锤',\r\n avatar: 'https://via.placeholder.com/100x100/4a90e2/ffffff?text=LD', // 替换为实际头像\r\n level: 30,\r\n growthValue: 50,\r\n nextLevel: 2,\r\n nextLevelGap: 15,\r\n progressPercent: 75 // (50 / (50+15)) * 100 ≈ 75%\r\n });\r\n\r\n // computed helpers to satisfy UTS inference rules\r\n // convert percent to a fixed rpx width (assuming 750rpx full width)\r\n const progressWidth = computed(() => `${userInfo.progressPercent * 7.5}rpx`);\r\n\r\n // --- 工具列表 ---\r\n\r\n\ttype ToolItem = {\r\n\t\tname : string;\r\n\t\ticon : string;\r\n\t\tcolor : string;\r\n\t};\r\n\r\n // avoid generic parameter on ref which earlier triggered an \"interface does not\r\n // have constructors\" error; cast the initial value instead.\r\n const tools = ref([\r\n { name: '学习园地', icon: 'book', color: '#ff9900' },\r\n { name: '问题反馈', icon: 'chat', color: '#52c41a' },\r\n { name: '定制优惠', icon: 'wallet', color: '#1890ff' },\r\n { name: 'VIP俱乐部', icon: 'vip', color: '#faad14' }\r\n ] as ToolItem[]);\r\n\r\n // --- 方法 ---\r\n const contactService = () => {\r\n uni.showToast({ title: '联系客服', icon: 'none' });\r\n };\r\n\r\n const openSettings = () => {\r\n uni.showToast({ title: '打开设置', icon: 'none' });\r\n };\r\n\r\n const viewLevelDetail = () => {\r\n uni.showToast({ title: '查看等级详情', icon: 'none' });\r\n };\r\n\r\n const handleToolClick = (tool : ToolItem) => {\r\n uni.showToast({ title: `点击${tool.name}`, icon: 'none' });\r\n };\r\n\r\n const inviteFriends = () => {\r\n uni.showModal({\r\n title: '邀请好友',\r\n content: '分享链接邀请好友加入,单次最高可获奖励200元!',\r\n success: (res) => {\r\n if (res.confirm) {\r\n uni.showToast({ title: '已生成邀请链接', icon: 'success' });\r\n }\r\n }\r\n });\r\n };\r\n\r\n const viewTeam = () => {\r\n uni.showToast({ title: '查看团队成员', icon: 'none' });\r\n };\r\n\r\n const joinPartner = () => {\r\n uni.showModal({\r\n title: '城市合伙人',\r\n content: '全新盈利模式助你创业,立即申请成为城市合伙人!',\r\n success: (res) => {\r\n if (res.confirm) {\r\n uni.showToast({ title: '申请已提交', icon: 'success' });\r\n }\r\n }\r\n });\r\n };\r\n</script>\r\n\r\n<style scoped>\r\n /*\r\n UniApp X 默认 page 是 flex-direction: column\r\n 所以 .page-container 会自动垂直排列子元素\r\n */\r\n\r\n .page-container {\r\n background-color: #f5f6f8;\r\n /* min-height: 100vh unsupported */\r\n min-height: 1000rpx;\r\n /* width: 100%; default block behavior */\r\n box-sizing: border-box;\r\n padding: 20rpx;\r\n /* gap: 20rpx; */\r\n /* 各模块间间距 */\r\n }\r\n\r\n /* --- 用户头部 --- */\r\n .user-header {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n /* gap: 20rpx; */\r\n padding: 20rpx;\r\n background: #ffffff;\r\n border-radius: 16rpx;\r\n box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);\r\n }\r\n\r\n .avatar {\r\n width: 100rpx;\r\n height: 100rpx;\r\n border-radius: 50rpx;\r\n border: 2rpx solid #eee;\r\n }\r\n\r\n .user-info {\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n /* */\r\n }\r\n\r\n .username {\r\n font-size: 32rpx;\r\n font-weight: bold;\r\n color: #333;\r\n }\r\n\r\n .badge-row {\r\n display: flex;\r\n flex-direction: row;\r\n /* gap: 10rpx; */\r\n }\r\n\r\n .badge {\r\n font-size: 22rpx;\r\n padding: 4rpx 12rpx;\r\n border-radius: 20rpx;\r\n font-weight: bold;\r\n }\r\n\r\n .badge.vip {\r\n background: linear-gradient(90deg, #4a90e2, #67b26f);\r\n color: #ffffff;\r\n }\r\n\r\n .header-actions {\r\n display: flex;\r\n flex-direction: row;\r\n /* gap: 30rpx; */\r\n }\r\n\r\n .action-item {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n /* gap: 4rpx; unsupported */\r\n font-size: 22rpx;\r\n color: #666;\r\n }\r\n\r\n /* --- 等级卡片 --- */\r\n .level-card {\r\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\r\n border-radius: 16rpx;\r\n padding: 30rpx;\r\n color: #ffffff;\r\n position: relative;\r\n overflow: hidden;\r\n }\r\n\r\n .level-main {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-start;\r\n /* baseline unsupported */\r\n /* gap: 15rpx; not supported by uvue */\r\n margin-bottom: 20rpx;\r\n }\r\n\r\n .level-title {\r\n font-size: 48rpx;\r\n font-weight: bold;\r\n }\r\n\r\n .level-sub {\r\n font-size: 28rpx;\r\n opacity: 0.9;\r\n }\r\n\r\n .level-progress {\r\n margin-bottom: 20rpx;\r\n }\r\n\r\n .progress-text {\r\n font-size: 24rpx;\r\n opacity: 0.8;\r\n margin-bottom: 10rpx;\r\n /* display:block removed; inline text is fine */\r\n }\r\n\r\n .progress-bar {\r\n /* width: 100%; */\r\n /* 全宽默认,无需指定百分比 */\r\n height: 12rpx;\r\n background: rgba(255, 255, 255, 0.3);\r\n border-radius: 6rpx;\r\n overflow: hidden;\r\n margin-bottom: 8rpx;\r\n }\r\n\r\n .progress-fill {\r\n /* 使用与父容器相同的固定高度 */\r\n height: 12rpx;\r\n background: #ffffff;\r\n border-radius: 6rpx;\r\n transition: width 0.3s ease;\r\n }\r\n\r\n .progress-labels {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n font-size: 22rpx;\r\n opacity: 0.7;\r\n }\r\n\r\n .level-badge {\r\n position: absolute;\r\n top: 20rpx;\r\n right: 20rpx;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n /* */\r\n font-size: 24rpx;\r\n opacity: 0.9;\r\n }\r\n\r\n /* --- 章节标题 --- */\r\n .section-title {\r\n font-size: 30rpx;\r\n font-weight: bold;\r\n color: #333;\r\n margin-top: 10rpx;\r\n margin-bottom: 15rpx;\r\n padding-left: 10rpx;\r\n border-left: 4rpx solid #4a90e2;\r\n }\r\n\r\n /* --- 档案统计 --- */\r\n .profile-stats {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-around;\r\n background: #ffffff;\r\n border-radius: 16rpx;\r\n padding: 30rpx 20rpx;\r\n box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);\r\n }\r\n\r\n .stat-item {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n }\r\n\r\n .stat-value {\r\n font-size: 32rpx;\r\n font-weight: bold;\r\n color: #333;\r\n }\r\n\r\n .stat-label {\r\n font-size: 24rpx;\r\n color: #666;\r\n }\r\n\r\n /* --- 工具网格 --- */\r\n .tools-grid {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n /* gap: 20rpx; */\r\n background: #ffffff;\r\n border-radius: 16rpx;\r\n padding: 30rpx;\r\n box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);\r\n }\r\n\r\n .tool-item {\r\n /* width: calc(25% - 15rpx); not supported */\r\n width: 168rpx;\r\n /* approximate quarter width */\r\n /* 4列,减去gap */\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n /* gap: 10rpx; */\r\n padding: 20rpx 0;\r\n }\r\n\r\n .tool-name {\r\n font-size: 24rpx;\r\n color: #666;\r\n text-align: center;\r\n }\r\n\r\n /* --- 推广卡片 --- */\r\n .promo-cards {\r\n display: flex;\r\n flex-direction: row;\r\n /* gap: 20rpx; */\r\n }\r\n\r\n .promo-card {\r\n flex: 1;\r\n border-radius: 16rpx;\r\n padding: 25rpx;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);\r\n }\r\n\r\n .promo-card.invite {\r\n background: linear-gradient(135deg, #fff9e6 0%, #ffeaa7 100%);\r\n }\r\n\r\n .promo-card.team {\r\n background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);\r\n }\r\n\r\n .promo-content {\r\n display: flex;\r\n flex-direction: column;\r\n /* */\r\n }\r\n\r\n .promo-title {\r\n font-size: 28rpx;\r\n font-weight: bold;\r\n color: #333;\r\n }\r\n\r\n .promo-subtitle {\r\n font-size: 24rpx;\r\n color: #666;\r\n }\r\n\r\n /* --- 合伙人 Banner --- */\r\n .partner-banner {\r\n background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);\r\n border-radius: 16rpx;\r\n padding: 30rpx;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n color: #ffffff;\r\n box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);\r\n }\r\n\r\n .partner-content {\r\n display: flex;\r\n flex-direction: column;\r\n /* gap: 10rpx; */\r\n }\r\n\r\n .partner-title {\r\n font-size: 32rpx;\r\n font-weight: bold;\r\n }\r\n\r\n .partner-subtitle {\r\n font-size: 26rpx;\r\n opacity: 0.9;\r\n }\r\n\r\n .partner-icon {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n</style>"]}