|
@@ -9,7 +9,14 @@
|
|
|
<div class="invite-title">{{ item.title }}</div>
|
|
|
<div class="invite-reward">{{ item.reward }}</div>
|
|
|
</div>
|
|
|
- <button class="btn" @click="receiveReward(item.renshu)">领取</button>
|
|
|
+ <button
|
|
|
+ class="btn"
|
|
|
+ :class="{ received: item.received }"
|
|
|
+ :disabled="item.received"
|
|
|
+ @click="receiveReward(item.renshu, item.received)"
|
|
|
+ >
|
|
|
+ {{ item.received ? '已领取' : '领取' }}
|
|
|
+ </button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 实名认证提示弹窗 -->
|
|
@@ -34,7 +41,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getShareccb } from '@/api/profile';
|
|
|
+import { getShareccb, getShareccbList } from '@/api/profile';
|
|
|
import { getUserInfo } from '@/api/home';
|
|
|
|
|
|
export default {
|
|
@@ -42,12 +49,12 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
rewards: [
|
|
|
- { renshu: 5, title: '邀请5人实名认证', reward: '奖励60000元红旗资产' },
|
|
|
- { renshu: 10, title: '邀请10人实名认证', reward: '奖励150000元红旗资产' },
|
|
|
- { renshu: 20, title: '邀请20人实名认证', reward: '奖励300000元红旗资产' },
|
|
|
- { renshu: 50, title: '邀请50人实名认证', reward: '奖励800000元红旗资产' },
|
|
|
- { renshu: 100, title: '邀请100人实名认证', reward: '奖励1800000元红旗资产' },
|
|
|
- { renshu: 150, title: '邀请150人实名认证', reward: '获得国家神秘奖励' }
|
|
|
+ { renshu: 5, title: '邀请5人实名认证', reward: '奖励60000元红旗资产', received: false },
|
|
|
+ { renshu: 10, title: '邀请10人实名认证', reward: '奖励150000元红旗资产', received: false },
|
|
|
+ { renshu: 20, title: '邀请20人实名认证', reward: '奖励300000元红旗资产', received: false },
|
|
|
+ { renshu: 50, title: '邀请50人实名认证', reward: '奖励800000元红旗资产', received: false },
|
|
|
+ { renshu: 100, title: '邀请100人实名认证', reward: '奖励1800000元红旗资产', received: false },
|
|
|
+ { renshu: 150, title: '邀请150人实名认证', reward: '获得国家神秘奖励', received: false }
|
|
|
],
|
|
|
userInfo: {},
|
|
|
showAuthDialog: false
|
|
@@ -62,16 +69,30 @@ export default {
|
|
|
console.error('获取用户信息失败:', error);
|
|
|
}
|
|
|
},
|
|
|
- async receiveReward(renshu) {
|
|
|
- // 检查实名认证状态
|
|
|
+ async getShareccbList() {
|
|
|
+ try {
|
|
|
+ const res = await getShareccbList();
|
|
|
+ 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);
|
|
|
+ return found ? { ...item, received: found.received } : item;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取奖励列表失败:', error);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async receiveReward(renshu, received) {
|
|
|
+ if (received) return;
|
|
|
if (this.userInfo.if_real === 0) {
|
|
|
this.showAuthDialog = true;
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
try {
|
|
|
const res = await getShareccb(renshu);
|
|
|
- alert(res.data.msg);
|
|
|
+ alert(res.msg);
|
|
|
+ this.getShareccbList();
|
|
|
} catch (e) {
|
|
|
// 接口异常时不弹窗
|
|
|
}
|
|
@@ -82,6 +103,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getUserInfo();
|
|
|
+ this.getShareccbList();
|
|
|
}
|
|
|
}
|
|
|
</script>
|