From 5817012cc8c320500fa229a67628d92fb1ae9f44 Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Tue, 23 Dec 2025 23:58:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=80=E8=AF=B71?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/services/invitationService.js | 34 ++++++++++--------- .../src/pages/me/invite-reward-page.vue | 5 +-- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/backend/src/services/invitationService.js b/backend/src/services/invitationService.js index b39940a..0b5b3d9 100644 --- a/backend/src/services/invitationService.js +++ b/backend/src/services/invitationService.js @@ -107,22 +107,24 @@ const getInvitationRecords = async (userId, options = {}) => { offset: parseInt(offset), }); - // Format records - const records = rows.map(invitation => ({ - id: invitation.id, - invitee: { - id: invitation.invitee.id, - uid: invitation.invitee.uid, - nickname: invitation.invitee.nickname, - avatar: invitation.invitee.avatar, - registeredAt: invitation.registeredAt, - }, - firstPaymentAt: invitation.firstPaymentAt, - firstPaymentAmount: invitation.firstPaymentAmount ? parseFloat(invitation.firstPaymentAmount).toFixed(2) : null, - rewardAmount: invitation.rewardAmount ? parseFloat(invitation.rewardAmount).toFixed(2) : null, - rewardStatus: invitation.rewardStatus, - createdAt: invitation.createdAt, - })); + // Format records - filter out records where invitee was deleted + const records = rows + .filter(invitation => invitation.invitee != null) + .map(invitation => ({ + id: invitation.id, + invitee: { + id: invitation.invitee.id, + uid: invitation.invitee.uid, + nickname: invitation.invitee.nickname, + avatar: invitation.invitee.avatar, + registeredAt: invitation.registeredAt, + }, + firstPaymentAt: invitation.firstPaymentAt, + firstPaymentAmount: invitation.firstPaymentAmount ? parseFloat(invitation.firstPaymentAmount).toFixed(2) : null, + rewardAmount: invitation.rewardAmount ? parseFloat(invitation.rewardAmount).toFixed(2) : null, + rewardStatus: invitation.rewardStatus, + createdAt: invitation.createdAt, + })); return { records, diff --git a/miniprogram/src/pages/me/invite-reward-page.vue b/miniprogram/src/pages/me/invite-reward-page.vue index 9c86708..1f3b4d1 100644 --- a/miniprogram/src/pages/me/invite-reward-page.vue +++ b/miniprogram/src/pages/me/invite-reward-page.vue @@ -455,8 +455,9 @@ try { // 使用邀请记录API,显示所有被邀请的用户(包括未支付的) const res = await appServer.GetInvitationRecords() - // 后端返回格式: { success: true, data: { records: [...] } } - if (res && res.success && res.data && res.data.records) { + console.log('GetInvitationRecords response:', res) + // 后端返回格式: { code: 0, message: "", data: { records: [...] } } + if (res && res.code === 0 && res.data && res.data.records) { this.inviteRecords = res.data.records.map(item => ({ username: item.invitee?.nickname || '-', uid: item.invitee?.uid || '-',