diff --git a/src/server/routes/vehicles.ts b/src/server/routes/vehicles.ts index 6c2a6d5..0f08623 100644 --- a/src/server/routes/vehicles.ts +++ b/src/server/routes/vehicles.ts @@ -312,8 +312,15 @@ async function getVehicles(): Promise { async function getVehiclesForUser(c: Context): Promise { const all = await getVehicles(); - const user = c.get('user') as AuthUser | undefined; - return user ? filterByPermission(all, user) : all; + // Hono 子路由 context 可能丢失变量,尝试多种方式获取 + const user = ((c as any).get?.('user') || (c as any).var?.user) as AuthUser | undefined; + if (user) { + const filtered = filterByPermission(all, user); + console.log(`[vehicles] permission: ${user.permissionLevel}, user: ${user.userName}, before: ${all.length}, after: ${filtered.length}`); + return filtered; + } + console.log('[vehicles] WARNING: no user in context, returning all'); + return all; } function getRegionCounts(vehicles: Vehicle[], regions: readonly string[]): Record {