my.kt.map 18 KB

1
  1. {"version":3,"sources":["pages/index/my.uvue","App.uvue"],"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>",null],"names":[],"mappings":"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"}