From 2ba9f73373dfd1699794b5cea3ef33b09a2b318a Mon Sep 17 00:00:00 2001 From: anghunk Date: Mon, 16 Mar 2026 14:15:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(admin):=20=E4=BF=AE=E5=A4=8D=20visitAnalyti?= =?UTF-8?q?cs=20=E4=B8=AD=20site=5Fid=20=E8=BF=87=E6=BB=A4=E4=B8=8D?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=97=A7=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 查询条件改为匹配指定 siteId、空字符串或 NULL 值 - 确保统计和页面访问数据能正确包含旧数据 --- cwd-api/src/api/admin/visitAnalytics.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/cwd-api/src/api/admin/visitAnalytics.ts b/cwd-api/src/api/admin/visitAnalytics.ts index e8aa876..49e15cb 100644 --- a/cwd-api/src/api/admin/visitAnalytics.ts +++ b/cwd-api/src/api/admin/visitAnalytics.ts @@ -35,8 +35,9 @@ export const getVisitOverview = async ( const statsParams: any[] = []; if (siteId) { - statsSql += ' WHERE site_id = ?'; - statsParams.push(siteId); + // 匹配指定 siteId 或空值(兼容旧数据) + statsSql += ' WHERE (site_id = ? OR site_id = ? OR site_id IS NULL)'; + statsParams.push(siteId, ''); } const { results } = await c.env.CWD_DB.prepare(statsSql).bind(...statsParams).all<{ @@ -98,11 +99,12 @@ export const getVisitOverview = async ( let dailySql = 'SELECT date, count FROM page_visit_daily WHERE date >= ?'; - const params: string[] = [earliestDate]; + const params: any[] = [earliestDate]; if (siteId) { - dailySql += ' AND site_id = ?'; - params.push(siteId); + // 匹配指定 siteId 或空值(兼容旧数据) + dailySql += ' AND (site_id = ? OR site_id = ? OR site_id IS NULL)'; + params.push(siteId, ''); } const { results: dailyRows } = await c.env.CWD_DB.prepare(dailySql) @@ -232,8 +234,9 @@ export const getVisitPages = async (c: Context<{ Bindings: Bindings }>) => { const params: any[] = []; if (siteId) { - sql += ' WHERE site_id = ?'; - params.push(siteId); + // 匹配指定 siteId 或空值(兼容旧数据) + sql += ' WHERE (site_id = ? OR site_id = ? OR site_id IS NULL)'; + params.push(siteId, ''); } const { results } = await c.env.CWD_DB.prepare(sql).bind(...params).all<{