diff --git a/backend/app/utils/request_parse.py b/backend/app/utils/request_parse.py index 0b29e10d..973a8e1a 100644 --- a/backend/app/utils/request_parse.py +++ b/backend/app/utils/request_parse.py @@ -47,7 +47,7 @@ async def get_location_online(ip: str, user_agent: str) -> dict | None: @sync_to_async -def get_location_offline(ip: str) -> str | None: +def get_location_offline(ip: str) -> list[str] | None: """ 离线获取 ip 地址属地,无法保证准确率,100%可用 @@ -79,8 +79,8 @@ async def parse_ip_info(request: Request) -> tuple[str, str, str, str]: location_info = await get_location_offline(ip) if location_info: country = location_info[0] if location_info[0] != '0' else None - region = location_info[1] if location_info[1] != '0' else None - city = location_info[2] if location_info[2] != '0' else None + region = location_info[2] if location_info[2] != '0' else None + city = location_info[3] if location_info[3] != '0' else None return ip, country, region, city