diff --git a/src/app/(main)/dashboard/page.tsx b/src/app/(main)/dashboard/page.tsx
index 3fe8427..c2d03de 100644
--- a/src/app/(main)/dashboard/page.tsx
+++ b/src/app/(main)/dashboard/page.tsx
@@ -381,19 +381,25 @@ export default function DashboardPage() {
const regularTaskCoinTotal =
periodData?.coins.regular_task_coin_total ??
((signinCoinTotal ?? 0) + (signinBoostCoinTotal ?? 0) + (taskCoinTotal ?? 0));
- const cpsCommissionCents = data?.cps.meituan_commission_cents;
const cpsAvailable = data?.cps.available === true;
+ const meituanCpsCommissionCents = data?.cps.meituan_commission_cents;
+ const jdCpsCommissionCents = data?.cps.jd_commission_cents;
+ const totalCpsCommissionCents = cpsAvailable
+ ? (meituanCpsCommissionCents ?? 0) + (jdCpsCommissionCents ?? 0)
+ : null;
const totalRevenueYuan =
- adReport?.total_revenue_yuan == null && (!cpsAvailable || cpsCommissionCents == null)
+ adReport?.total_revenue_yuan == null && totalCpsCommissionCents == null
? null
- : (adReport?.total_revenue_yuan ?? 0) + (cpsAvailable ? (cpsCommissionCents ?? 0) / 100 : 0);
+ : (adReport?.total_revenue_yuan ?? 0) + ((totalCpsCommissionCents ?? 0) / 100);
const yesterdayTrendPoint = periodData?.trend?.[periodData.trend.length - 1];
const yesterdayActiveUsers = yesterdayTrendPoint?.active_users ?? null;
const arpuYuan =
totalRevenueYuan == null || yesterdayActiveUsers == null || yesterdayActiveUsers <= 0
? null
: totalRevenueYuan / yesterdayActiveUsers;
- const cpsRevenueText = cpsAvailable ? fmtCents(cpsCommissionCents) : '--';
+ const cpsRevenueText = cpsAvailable ? fmtCents(totalCpsCommissionCents) : '--';
+ const meituanCpsRevenueText = cpsAvailable ? fmtCents(meituanCpsCommissionCents) : '--';
+ const jdCpsRevenueText = cpsAvailable ? fmtCents(jdCpsCommissionCents) : '--';
const cpsHitRate = !cpsAvailable || data?.cps.meituan_hit_rate == null ? '--' : pct(data.cps.meituan_hit_rate);
const retentionValue =
periodData?.users.retention_rate == null
@@ -464,7 +470,7 @@ export default function DashboardPage() {
return