fix: 修复 Cloudflare 分析数据查询参数及错误处理
continuous-integration/drone/push Build is passing

This commit is contained in:
seahi committed 2026-09-25 11:53:17 +08:00
1 parent 1a462c54da
commit e1129c305e
2 files changed
+10 -4

No files matched your search

@@ -53,7 +53,7 @@
}
if (r2Data.length > 0) {
r2PayloadSize = r2Data[0]?.sum?.payloadSize || 0;
r2PayloadSize = r2Data[0]?.max?.payloadSize || 0;
}
if (data.errorMsg) {
+9 -3
View File
@@ -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);