From 464d8dd1831d828a0f83713c3c507574ddc09fb7 Mon Sep 17 00:00:00 2001
From: lowmaster-chen <1119780489@qq.com>
Date: Tue, 30 Jun 2026 10:23:49 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A5=E9=BD=90=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E5=A4=A7=E7=9B=98=E4=BA=AC=E4=B8=9C=20CPS=20=E4=B8=8E=E9=87=91?=
=?UTF-8?q?=E5=B8=81=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
改了什么:数据大盘总收入/CPS 收入纳入京东 CPS;京东 CPS 卡片展示有效/无效订单;刷新按钮改为同步全部 CPS 订单;ARPU 展示产品确认的昨日活跃用户分母;激励视频金币展示真实值并标注已计入领券奖励。
验证方式:npx tsc --noEmit;浏览器验证 /dashboard 已显示京东 CPS、ARPU 分母和激励视频金币。
---
src/app/(main)/dashboard/page.tsx | 49 ++++++++++++++++++++-----------
src/lib/types.ts | 5 ++++
2 files changed, 37 insertions(+), 17 deletions(-)
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