|
|
@@ -33,8 +33,9 @@
|
|
|
<view class="user-meta">
|
|
|
<view class="user-name-row">
|
|
|
<text class="nickname">{{ nickname || '未设置昵称' }}</text>
|
|
|
- <text class="role-tag">{{ roleLabel }}</text>
|
|
|
+ <text v-if="roleLabel" class="role-tag">{{ roleLabel }}</text>
|
|
|
</view>
|
|
|
+ <text v-if="myReferrer && myReferrer.nickname" class="referrer-line">推荐人:{{ myReferrer.nickname }}</text>
|
|
|
<view class="user-sub" v-if="memberLevel">
|
|
|
<view class="level-badge" :class="'level-' + memberLevel">{{ memberLevelText }}</view>
|
|
|
<text v-if="isLifetime" class="days-left">永久有效</text>
|
|
|
@@ -86,27 +87,6 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 我的推荐人卡片 -->
|
|
|
- <view class="referrer-card" v-if="myReferrer && myReferrer.hasReferrer">
|
|
|
- <view class="referrer-header">
|
|
|
- <text class="referrer-title">我的推荐人</text>
|
|
|
- </view>
|
|
|
- <view class="referrer-content">
|
|
|
- <view class="referrer-avatar-wrap">
|
|
|
- <image v-if="myReferrer.avatar" class="referrer-avatar" :src="myReferrer.avatar" mode="aspectFill"></image>
|
|
|
- <text v-else class="referrer-avatar-text">{{ myReferrer.nickname ? myReferrer.nickname.charAt(0) : '?' }}</text>
|
|
|
- </view>
|
|
|
- <view class="referrer-info">
|
|
|
- <text class="referrer-name">{{ myReferrer.nickname }}</text>
|
|
|
- <text class="referrer-code">邀请码:{{ myReferrer.referralCode }}</text>
|
|
|
- <text class="referrer-time" v-if="myReferrer.bindTime">{{ formatReferralTime(myReferrer.bindTime) }}</text>
|
|
|
- </view>
|
|
|
- <view class="referrer-copy-btn" @click="copyReferrerCode">
|
|
|
- <text>复制</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
<!-- 个人成就统计 -->
|
|
|
<view class="achievement-section">
|
|
|
<view class="section-header-row">
|
|
|
@@ -338,7 +318,7 @@ export default {
|
|
|
return !!uni.getStorageSync('token')
|
|
|
},
|
|
|
roleLabel() {
|
|
|
- var map = { parent: '家长', child: '孩子', teacher: '规划师' }
|
|
|
+ var map = { parent: '', child: '孩子', teacher: '规划师' }
|
|
|
return map[this.role] || '用户'
|
|
|
},
|
|
|
memberLevelText() {
|
|
|
@@ -531,23 +511,6 @@ export default {
|
|
|
goTeamTree() {
|
|
|
uni.navigateTo({ url: '/pages/profile/team-tree' })
|
|
|
},
|
|
|
- copyReferrerCode() {
|
|
|
- if (!this.myReferrer || !this.myReferrer.referralCode) return
|
|
|
- uni.setClipboardData({
|
|
|
- data: this.myReferrer.referralCode,
|
|
|
- success: function() {
|
|
|
- uni.showToast({ title: '邀请码已复制', icon: 'success' })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- formatReferralTime(ts) {
|
|
|
- if (!ts) return ''
|
|
|
- var d = ts
|
|
|
- if (typeof d === 'string' && d.indexOf('T') > -1) {
|
|
|
- d = d.substring(0, 16).replace('T', ' ')
|
|
|
- }
|
|
|
- return '绑定于 ' + d
|
|
|
- },
|
|
|
goLogin: function() {
|
|
|
uni.navigateTo({ url: '/pages/login/login' })
|
|
|
},
|
|
|
@@ -796,6 +759,11 @@ export default {
|
|
|
padding: 4rpx 14rpx;
|
|
|
border-radius: 20rpx;
|
|
|
}
|
|
|
+.referrer-line {
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: rgba(255,255,255,0.7);
|
|
|
+ margin-bottom: 6rpx;
|
|
|
+}
|
|
|
.user-sub {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
@@ -1202,30 +1170,4 @@ export default {
|
|
|
color: #FF4D4F;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
-
|
|
|
-/* 我的推荐人卡片 */
|
|
|
-.referrer-card {
|
|
|
- margin: 0 30rpx 20rpx;
|
|
|
- background: #fff;
|
|
|
- border-radius: 20rpx;
|
|
|
- padding: 24rpx;
|
|
|
- box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.06);
|
|
|
-}
|
|
|
-.referrer-header { margin-bottom: 16rpx; }
|
|
|
-.referrer-title { font-size: 28rpx; font-weight: 600; color: #1E293B; }
|
|
|
-.referrer-content { display: flex; align-items: center; gap: 20rpx; }
|
|
|
-.referrer-avatar-wrap {
|
|
|
- width: 72rpx; height: 72rpx; border-radius: 50%; background: #FEF3C7;
|
|
|
- display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0;
|
|
|
-}
|
|
|
-.referrer-avatar { width: 72rpx; height: 72rpx; border-radius: 50%; }
|
|
|
-.referrer-avatar-text { font-size: 28rpx; color: #F97316; }
|
|
|
-.referrer-info { flex: 1; min-width: 0; }
|
|
|
-.referrer-name { font-size: 28rpx; font-weight: 500; color: #1E293B; display: block; }
|
|
|
-.referrer-code { font-size: 24rpx; color: #F97316; margin-top: 4rpx; display: block; }
|
|
|
-.referrer-time { font-size: 22rpx; color: #94A3B8; margin-top: 4rpx; display: block; }
|
|
|
-.referrer-copy-btn {
|
|
|
- font-size: 26rpx; color: #F97316; padding: 8rpx 16rpx; border: 1rpx solid #FED7AA;
|
|
|
- border-radius: 20rpx; flex-shrink: 0;
|
|
|
-}
|
|
|
</style>
|