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 ; } - const syncMeituanCps = async () => { + const syncCpsOrders = async () => { setCpsSyncing(true); try { const resp = await api.post<{ @@ -476,12 +482,13 @@ export default function DashboardPage() { params: { date_from: range.start.format('YYYY-MM-DD'), date_to: range.end.format('YYYY-MM-DD'), + platform: 'all', }, }); message.success(`已同步 ${resp.data.fetched} 单`); setRefreshKey((v) => v + 1); } catch { - message.error('美团订单刷新失败'); + message.error('CPS 订单刷新失败'); } finally { setCpsSyncing(false); } @@ -597,7 +604,7 @@ export default function DashboardPage() {

变现

{cpsAvailable - ? (adError ? '广告收益接口当前后端不可用,美团 CPS 已接入' : '广告收益与美团 CPS 已接入') + ? (adError ? '广告收益接口当前后端不可用,美团/京东 CPS 已接入' : '广告收益与美团/京东 CPS 已接入') : (adError ? '广告收益接口当前后端不可用,订单/佣金数据待接' : '广告收益已接入,订单/佣金数据待接')} @@ -620,33 +627,33 @@ export default function DashboardPage() {
CPS 收益 -
- - + +
广告收益
@@ -719,7 +734,7 @@ export default function DashboardPage() { value={fmtInt(comparisonRewardCoinTotal)} status="比价相关发放" /> - +