fix(admin): 修复 visitAnalytics 中 site_id 过滤不兼容旧数据的问题

- 查询条件改为匹配指定 siteId、空字符串或 NULL 值
- 确保统计和页面访问数据能正确包含旧数据
This commit is contained in:
anghunk
2026-03-16 14:15:53 +08:00
parent 2ad9c90d18
commit 2ba9f73373

View File

@@ -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<{