移除填写邀请码功能

This commit is contained in:
邹方成 2026-02-04 13:27:10 +08:00
parent 662a31dac8
commit 57178b21b3
2 changed files with 1 additions and 124 deletions

View File

@ -267,14 +267,6 @@ export function getUserInvites(user_id, page = 1, page_size = 20) {
return authRequest({ url: `/api/app/users/${user_id}/invites`, method: 'GET', data: { page, page_size } }) return authRequest({ url: `/api/app/users/${user_id}/invites`, method: 'GET', data: { page, page_size } })
} }
// ============================================
// 兼容性适配接口 (适配 pages/mine/index.vue)
// ============================================
export function bindInviter(invite_code) {
return authRequest({ url: '/api/app/users/inviter/bind', method: 'POST', data: { invite_code } })
}
// ============================================ // ============================================
// 用户信息修改 API // 用户信息修改 API
// ============================================ // ============================================

View File

@ -157,12 +157,6 @@
</view> </view>
<text class="menu-label">任务中心</text> <text class="menu-label">任务中心</text>
</view> </view>
<view class="menu-item" @click="showBindInviterPopup" v-if="!inviterId">
<view class="menu-icon-box">
<image class="menu-icon-img" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMCAxMyxhNSw1IDAgMCwwIDcuNTQsLjU0bDMtM2E1LDUgMCAwLDAgLTcuMDctNy4wN2wtMS43MiwxLjcxIiAvPjxwYXRoIGQ9Ik0xNCAxMSxhNSw1IDAgMCwwIC03LjU0LC0uNTRsLTMsM2E1LDUgMCAwLDAgNy4wNyw3LjA3bDEuNzIsLTEuNzEiIC8+PC9zdmc+" mode="aspectFit"></image>
</view>
<text class="menu-label">填写邀请码</text>
</view>
<view class="menu-item" @click="toInvitesPage"> <view class="menu-item" @click="toInvitesPage">
<view class="menu-icon-box"> <view class="menu-icon-box">
<image class="menu-icon-img" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xNyAyMXYtMmE0IDQgMCAwIDAtNC00SDdhNCA0IDAgMCAwLTQgNHYyIj48L3BhdGg+PGNpcmNsZSBjeD0iMTAiIGN5PSI3IiByPSI0Ij48L2NpcmNsZT48cGF0aCBkPSJNMjMgMjF2LTJhNCA0IDAgMCAwLTMtMy4yNyI+PC9wYXRoPjxwYXRoIGQ9Ik0xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzUiPjwvcGF0aD48L3N2Zz4=" mode="aspectFit"></image> <image class="menu-icon-img" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xNyAyMXYtMmE0IDQgMCAwIDAtNC00SDdhNCA0IDAgMCAwLTQgNHYyIj48L3BhdGg+PGNpcmNsZSBjeD0iMTAiIGN5PSI3IiByPSI0Ij48L2NpcmNsZT48cGF0aCBkPSJNMjMgMjF2LTJhNCA0IDAgMCAwLTMtMy4yNyI+PC9wYXRoPjxwYXRoIGQ9Ik0xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzUiPjwvcGF0aD48L3N2Zz4=" mode="aspectFit"></image>
@ -498,31 +492,13 @@
</view> </view>
</view> </view>
<!-- 绑定邀请码弹窗 -->
<view class="popup-mask" v-if="bindInviterVisible" @tap="closeBindInviterPopup">
<view class="popup-content bind-inviter-popup" @tap.stop>
<view class="popup-header">
<text class="popup-title">填写邀请码</text>
<text class="close-btn" @tap="closeBindInviterPopup">×</text>
</view>
<view class="bind-inviter-body">
<view class="bind-desc">请输入好友的邀请码绑定后双方可获得奖励</view>
<view class="input-wrapper">
<input type="text" v-model="bindInviteCode" class="invite-code-input" placeholder="请输入邀请码" placeholder-class="input-placeholder" />
</view>
<button class="bind-btn" @tap="handleBindInviter">确认绑定</button>
</view>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
import { import {
getUserInfo, getUserStats, getPointsBalance, getUserPoints, getUserCoupons, getItemCards, getUserInfo, getUserStats, getPointsBalance, getUserPoints, getUserCoupons, getItemCards,
getUserTasks, getTaskProgress, getInviteRecords, modifyUser, getUserProfile, bindDouyinID, getPublicConfig, getUserTasks, getTaskProgress, getInviteRecords, modifyUser, getUserProfile, bindDouyinID, getPublicConfig
bindInviter
} from '../../api/appUser.js' } from '../../api/appUser.js'
import { checkPhoneBoundSync } from '../../utils/checkPhone.js' import { checkPhoneBoundSync } from '../../utils/checkPhone.js'
// #ifdef MP-TOUTIAO // #ifdef MP-TOUTIAO
@ -552,10 +528,6 @@ export default {
inviterNickname: '', inviterNickname: '',
inviterAvatar: '', inviterAvatar: '',
// Bind Inviter Popup
bindInviterVisible: false,
bindInviteCode: '',
mobile: '', // mobile: '', //
douyinUserId: '', // ID douyinUserId: '', // ID
customerServiceQrCode: '', // customerServiceQrCode: '', //
@ -957,41 +929,6 @@ export default {
} }
}, },
showBindInviterPopup() {
if (!this.checkPhoneBound()) return
this.bindInviteCode = ''
this.bindInviterVisible = true
},
closeBindInviterPopup() {
this.bindInviterVisible = false
},
async handleBindInviter() {
const code = this.bindInviteCode.trim()
if (!code) {
uni.showToast({ title: '请输入邀请码', icon: 'none' })
return
}
//
if (code === this.inviteCode) {
uni.showToast({ title: '不能绑定自己的邀请码', icon: 'none' })
return
}
try {
uni.showLoading({ title: '绑定中...' })
await bindInviter(code)
uni.hideLoading()
uni.showToast({ title: '绑定成功', icon: 'success' })
this.bindInviterVisible = false
//
this.loadUserInfo()
} catch (err) {
uni.hideLoading()
uni.showToast({ title: err.message || '绑定失败', icon: 'none' })
}
},
resetUser() { resetUser() {
this.userId = '' this.userId = ''
this.nickname = '' this.nickname = ''
@ -2323,58 +2260,6 @@ export default {
.invite-time { font-size: 22rpx; color: $text-tertiary; margin-top: 4rpx; } .invite-time { font-size: 22rpx; color: $text-tertiary; margin-top: 4rpx; }
.invite-status { font-size: 24rpx; color: #10B981; } .invite-status { font-size: 24rpx; color: #10B981; }
/* 绑定邀请码弹窗 */
.bind-inviter-popup {
width: 600rpx;
background: #fff;
border-radius: 24rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.bind-inviter-body {
padding: 40rpx 30rpx 50rpx;
display: flex;
flex-direction: column;
align-items: center;
}
.bind-desc {
font-size: 28rpx;
color: #666;
margin-bottom: 40rpx;
text-align: center;
}
.input-wrapper {
width: 100%;
background: #F5F7FA;
border-radius: 12rpx;
padding: 24rpx;
margin-bottom: 50rpx;
box-sizing: border-box;
border: 1px solid #EBEEF5;
}
.invite-code-input {
width: 100%;
font-size: 32rpx;
color: #333;
text-align: center;
height: 48rpx;
line-height: 48rpx;
}
.bind-btn {
width: 100%;
height: 88rpx;
line-height: 88rpx;
background: linear-gradient(135deg, #FF6B00 0%, #FF9500 100%);
color: #fff;
font-size: 32rpx;
font-weight: bold;
border-radius: 44rpx;
}
.bind-btn:active {
opacity: 0.9;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes zoomIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } } @keyframes zoomIn { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
</style> </style>