diff --git a/src/lib/components/admin/AnalyticsPanel.svelte b/src/lib/components/admin/AnalyticsPanel.svelte index 1bb12ce..854a978 100644 --- a/src/lib/components/admin/AnalyticsPanel.svelte +++ b/src/lib/components/admin/AnalyticsPanel.svelte @@ -53,7 +53,7 @@ } if (r2Data.length > 0) { - r2PayloadSize = r2Data[0]?.sum?.payloadSize || 0; + r2PayloadSize = r2Data[0]?.max?.payloadSize || 0; } if (data.errorMsg) { diff --git a/src/lib/server/cloudflare.ts b/src/lib/server/cloudflare.ts index 55f8efc..fd9d3e3 100644 --- a/src/lib/server/cloudflare.ts +++ b/src/lib/server/cloudflare.ts @@ -78,7 +78,7 @@ export async function fetchAnalytics(platform: App.Platform | undefined) { d1Query = ` d1AnalyticsAdaptiveGroups( limit: 10000, - filter: { datetime_geq: "${thirtyDaysAgo}T00:00:00Z", databaseId: "${d1Id}" } + filter: { date_geq: "${thirtyDaysAgo}", databaseId: "${d1Id}" } ) { sum { readQueries @@ -98,7 +98,7 @@ export async function fetchAnalytics(platform: App.Platform | undefined) { filter: { datetime_geq: "${thirtyDaysAgo}T00:00:00Z", bucketName: "${r2Bucket}" }, orderBy: [datetime_DESC] ) { - sum { + max { payloadSize } } @@ -155,6 +155,7 @@ export async function fetchAnalytics(platform: App.Platform | undefined) { let d1Data: any[] = []; let r2Data: any[] = []; + let accErrorMsg = ''; if (accountQuery) { const accQueryStr = `query { viewer { ${accountQuery} } }`; @@ -167,6 +168,10 @@ export async function fetchAnalytics(platform: App.Platform | undefined) { body: JSON.stringify({ query: accQueryStr }) }); const accResult = (await accRes.json()) as any; + if (accResult.errors) { + console.error('Account GraphQL Errors:', accResult.errors); + accErrorMsg = '账户数据查询失败: ' + (accResult.errors[0]?.message || 'Unknown'); + } const accountData = accResult?.data?.viewer?.accounts?.[0]; if (accountData) { d1Data = accountData.d1AnalyticsAdaptiveGroups || []; @@ -178,7 +183,8 @@ export async function fetchAnalytics(platform: App.Platform | undefined) { traffic: trafficData, d1: d1Data, r2: r2Data, - missingEnvVars: !accountId || !d1Id || !r2Bucket + missingEnvVars: !accountId || !d1Id || !r2Bucket, + errorMsg: accErrorMsg ? accErrorMsg : undefined }; } catch (err: any) { console.error('Failed to fetch analytics', err);