diff --git a/app/routers/wechat_notify_api.py b/app/routers/wechat_notify_api.py index e4a546e..9120e6e 100644 --- a/app/routers/wechat_notify_api.py +++ b/app/routers/wechat_notify_api.py @@ -116,11 +116,16 @@ async def send_card(request: Request): if alarm: alarm_type_code = alarm.alarm_type or "" alarm_snapshot_key = alarm.snapshot_url or "" - if not camera_name or camera_name == "未知": - if alarm.device_id: - camera_service = get_camera_name_service() - camera_info = await camera_service.get_camera_info(alarm.device_id) - camera_name = camera_service.format_display_name(alarm.device_id, camera_info) + camera_name_needs_resolve = ( + not camera_name + or camera_name == "未知" + or camera_name == (alarm.device_id or "") + or camera_name.lower().startswith("cam_") + ) + if camera_name_needs_resolve and alarm.device_id: + camera_service = get_camera_name_service() + camera_info = await camera_service.get_camera_info(alarm.device_id) + camera_name = camera_service.format_display_name(alarm.device_id, camera_info) finally: db.close()