diff --git a/frontend/src/api/usage.ts b/frontend/src/api/usage.ts index 20581603..caf763de 100644 --- a/frontend/src/api/usage.ts +++ b/frontend/src/api/usage.ts @@ -148,8 +148,8 @@ export async function getStatsByDateRange( /** * Get usage by date range - * @param startDate - Start date (ISO format) - * @param endDate - End date (ISO format) + * @param startDate - Start date (YYYY-MM-DD format) + * @param endDate - End date (YYYY-MM-DD format) * @param apiKeyId - Optional API key ID filter * @returns Usage logs within date range */ diff --git a/frontend/src/views/user/DashboardView.vue b/frontend/src/views/user/DashboardView.vue index f214c98a..199a0efc 100644 --- a/frontend/src/views/user/DashboardView.vue +++ b/frontend/src/views/user/DashboardView.vue @@ -987,8 +987,13 @@ const loadChartData = async () => { const loadRecentUsage = async () => { loadingUsage.value = true try { - const endDate = new Date().toISOString() - const startDate = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString() + // 后端 /usage 查询参数 start_date/end_date 仅接受 YYYY-MM-DD(见 backend usage handler 的校验逻辑)。 + // 同时后端会将 end_date 自动扩展到当天 23:59:59.999...,因此前端只需要传「日期」即可。 + // 注意:toISOString() 生成的是 UTC 日期字符串;如果需要按本地/服务端时区对齐统计口径, + // 请改用时区感知的日期格式化方法(例如 Intl.DateTimeFormat 指定 timeZone)。 + const now = new Date() + const endDate = now.toISOString().split('T')[0] + const startDate = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString().split('T')[0] const usageResponse = await usageAPI.getByDateRange(startDate, endDate) recentUsage.value = usageResponse.items.slice(0, 5) } catch (error) {