From 7520c29030ad5e4543595d5f70e6de527746617e Mon Sep 17 00:00:00 2001
From: lowmaster-chen <1119780489@qq.com>
Date: Sun, 28 Jun 2026 17:12:47 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=A4=A7=E7=9B=98?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=BA=AC=E4=B8=9C=20CPS=20=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
改了什么:CPS 总收入合并美团和京东,京东 CPS 卡片展示有效订单、无效订单与佣金,刷新按钮改为刷新全部 CPS 订单。
为什么改:后端已接入京东联盟订单,大盘需要展示真实京东数据。
验证方式:npx tsc --noEmit;浏览器验证 /dashboard 显示京东 CPS ¥0.13、有效订单 1、无效订单 2。
---
src/app/(main)/dashboard/page.tsx | 41 +++++++++++++++++++++----------
src/lib/types.ts | 5 ++++
2 files changed, 33 insertions(+), 13 deletions(-)
diff --git a/src/app/(main)/dashboard/page.tsx b/src/app/(main)/dashboard/page.tsx
index 3fe8427..0b753f8 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