账号上下架增加统计

This commit is contained in:
yml2213
2026-07-11 23:37:24 +08:00
parent 7614c0980e
commit 42b250cd2c
17 changed files with 792 additions and 27 deletions
@@ -20,6 +20,20 @@ export interface DashboardPending {
pending_return_confirms: number
}
export interface ListingDayStats {
date: string
published_count: number
active_offline_count: number
trade_leave_count: number
}
export interface ListingDailyOverview {
today: ListingDayStats
trend: ListingDayStats[]
days: number
timezone: string
}
export interface DashboardRecentOrder {
id: number
order_no: string
@@ -46,16 +60,32 @@ export interface DashboardRecentDispute {
export interface AdminDashboard {
metrics: DashboardMetrics
pending: DashboardPending
listing_daily: ListingDailyOverview
recent_orders: DashboardRecentOrder[]
recent_disputes: DashboardRecentDispute[]
generated_at: string
}
const emptyDayStats = (): ListingDayStats => ({
date: '',
published_count: 0,
active_offline_count: 0,
trade_leave_count: 0,
})
export async function fetchAdminDashboard() {
const { data } = await apiClient.get<ApiResponse<AdminDashboard>>('/admin/dashboard')
const payload = data.data
const listingDaily = payload.listing_daily
return {
...data.data,
recent_orders: data.data.recent_orders ?? [],
recent_disputes: data.data.recent_disputes ?? [],
...payload,
listing_daily: {
today: listingDaily?.today ?? emptyDayStats(),
trend: listingDaily?.trend ?? [],
days: listingDaily?.days ?? 7,
timezone: listingDaily?.timezone ?? 'Asia/Shanghai',
},
recent_orders: payload.recent_orders ?? [],
recent_disputes: payload.recent_disputes ?? [],
}
}