diff --git a/app/routers/yudao_aiot_alarm.py b/app/routers/yudao_aiot_alarm.py index bc344df..bdf9f37 100644 --- a/app/routers/yudao_aiot_alarm.py +++ b/app/routers/yudao_aiot_alarm.py @@ -250,11 +250,20 @@ async def get_device_summary_page( device_id = item.get("deviceId") device_name = device_id # 默认使用 device_id - # 尝试从 WVP 查询摄像头名称 + # 尝试从 WVP 查询摄像头名称(三级 fallback 策略) try: camera_info = await _get_camera_info(device_id, current_user) if camera_info: - device_name = camera_info.get("app") or camera_info.get("name") or device_id + # 1. 优先使用 gb_name(去除 "/" 后缀) + gb_name = camera_info.get("gbName") or camera_info.get("gb_name") + if gb_name: + device_name = gb_name.split("/")[0] + # 2. 其次使用 name 字段 + elif camera_info.get("name"): + device_name = camera_info.get("name") + # 3. 最后才使用 app 字段(通常等于 camera_code) + elif camera_info.get("app"): + device_name = camera_info.get("app") except Exception as e: logger.warning(f"查询摄像头信息失败: device_id={device_id}, error={e}")