|
@@ -54,7 +54,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
rewards: [
|
|
|
- { renshu: 6, title: '邀请6人实名认证', reward: '奖励30积分以及60000元保障金', status: 'not-reached' },
|
|
|
+ { renshu: 6, title: '邀请6人实名认证', reward: '奖励60积分以及60000元保障金', status: 'not-reached' },
|
|
|
{ renshu: 15, title: '邀请15人实名认证', reward: '奖励150积分以及150000元保障金', status: 'not-reached' },
|
|
|
{ renshu: 30, title: '邀请30人实名认证', reward: '奖励300积分以及300000元保障金', status: 'not-reached' },
|
|
|
{ renshu: 60, title: '邀请60人实名认证', reward: '奖励600积分以及600000元保障金', status: 'not-reached' },
|
|
@@ -69,33 +69,105 @@ export default {
|
|
|
try {
|
|
|
const res = await getUserInfo();
|
|
|
this.userInfo = res.data;
|
|
|
+ console.log('用户信息:', this.userInfo);
|
|
|
+ console.log('直推人数 totleone:', this.userInfo.totleone);
|
|
|
+
|
|
|
// 检查是否已实名认证
|
|
|
if (this.userInfo.if_real === 0) {
|
|
|
this.showAuthDialog = true;
|
|
|
}
|
|
|
+
|
|
|
+ // 获取用户信息后立即更新奖励状态
|
|
|
+ this.updateRewardStatus();
|
|
|
} catch (error) {
|
|
|
console.error('获取用户信息失败:', error);
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ // 新增方法:根据直推人数更新奖励状态
|
|
|
+ updateRewardStatus() {
|
|
|
+ const directCount = this.userInfo.totleone || 0;
|
|
|
+ console.log('根据直推人数更新奖励状态,当前直推人数:', directCount);
|
|
|
+
|
|
|
+ this.rewards = this.rewards.map(item => {
|
|
|
+ if (directCount >= item.renshu) {
|
|
|
+ console.log(`${item.renshu}人奖励:达标,可领取`);
|
|
|
+ return { ...item, status: 'can-receive' };
|
|
|
+ } else {
|
|
|
+ console.log(`${item.renshu}人奖励:未达标 (需要${item.renshu}人,当前${directCount}人)`);
|
|
|
+ return { ...item, status: 'not-reached' };
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
async getShareccbList() {
|
|
|
try {
|
|
|
const res = await getShareccbList();
|
|
|
+ console.log('getShareccbList接口返回:', res);
|
|
|
+
|
|
|
+ // 获取当前直推人数
|
|
|
+ const directCount = this.userInfo.totleone || 0;
|
|
|
+ console.log('当前直推人数:', directCount);
|
|
|
+
|
|
|
if (res.code === 1 && Array.isArray(res.data)) {
|
|
|
// 根据接口返回的received状态,更新rewards
|
|
|
this.rewards = this.rewards.map(item => {
|
|
|
const found = res.data.find(d => d.renshu === item.renshu);
|
|
|
if (found) {
|
|
|
- // 假设接口返回的状态有 received(已领取), canReceive(可领取), notReached(未达标)
|
|
|
- let status = 'not-reached';
|
|
|
- if (found.received) status = 'received';
|
|
|
- else if (found.canReceive) status = 'can-receive';
|
|
|
- return { ...item, status };
|
|
|
+ console.log(`找到${item.renshu}人的奖励状态:`, found);
|
|
|
+
|
|
|
+ // 判断是否已领取:received_coins 和 received_jifen 都为 true 表示已领取
|
|
|
+ if (found.received_coins === true && found.received_jifen === true) {
|
|
|
+ console.log(`${item.renshu}人奖励:已领取`);
|
|
|
+ return { ...item, status: 'received' };
|
|
|
+ } else if (directCount >= item.renshu) {
|
|
|
+ // 直推人数达标且未领取,可以领取
|
|
|
+ console.log(`${item.renshu}人奖励:达标可领取`);
|
|
|
+ return { ...item, status: 'can-receive' };
|
|
|
+ } else {
|
|
|
+ // 直推人数未达标
|
|
|
+ console.log(`${item.renshu}人奖励:未达标`);
|
|
|
+ return { ...item, status: 'not-reached' };
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 如果接口没有返回该奖励的状态,根据用户直推人数判断
|
|
|
+ console.log(`接口未返回${item.renshu}人的状态,根据直推人数判断`);
|
|
|
+ console.log(`当前直推人数: ${directCount}, 需要人数: ${item.renshu}`);
|
|
|
+
|
|
|
+ if (directCount >= item.renshu) {
|
|
|
+ // 直推人数达标,可以领取
|
|
|
+ return { ...item, status: 'can-receive' };
|
|
|
+ } else {
|
|
|
+ // 直推人数未达标
|
|
|
+ return { ...item, status: 'not-reached' };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.log('接口返回异常,根据直推人数判断状态');
|
|
|
+ // 如果接口异常,根据用户直推人数判断状态
|
|
|
+ console.log(`当前直推人数: ${directCount}`);
|
|
|
+
|
|
|
+ this.rewards = this.rewards.map(item => {
|
|
|
+ if (directCount >= item.renshu) {
|
|
|
+ return { ...item, status: 'can-receive' };
|
|
|
+ } else {
|
|
|
+ return { ...item, status: 'not-reached' };
|
|
|
}
|
|
|
- return item;
|
|
|
});
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error('获取奖励列表失败:', error);
|
|
|
+ // 接口异常时,根据用户直推人数判断状态
|
|
|
+ const directCount = this.userInfo.totleone || 0;
|
|
|
+ console.log(`接口异常,根据直推人数${directCount}判断状态`);
|
|
|
+
|
|
|
+ this.rewards = this.rewards.map(item => {
|
|
|
+ if (directCount >= item.renshu) {
|
|
|
+ return { ...item, status: 'can-receive' };
|
|
|
+ } else {
|
|
|
+ return { ...item, status: 'not-reached' };
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
async receiveReward(renshu, received) {
|
|
@@ -118,6 +190,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getUserInfo();
|
|
|
+ // 可选:也调用接口获取服务器端的奖励状态
|
|
|
this.getShareccbList();
|
|
|
}
|
|
|
}
|