From 6cab347c361c3e2562c40effe3a9610e59ec9675 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Tue, 31 Dec 2024 18:39:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=88=AA=E7=A9=BA=E5=99=A8?= =?UTF-8?q?=E8=88=AA=E8=BF=B9=E5=8F=B7=E4=B8=BA=E6=95=B0=E5=AD=97=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/official_api.md | 2 +- src/network/HTTPDataSource.cpp | 7 ++++++- tools/mock_server.py | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/official_api.md b/docs/official_api.md index 4057463..0b49735 100644 --- a/docs/official_api.md +++ b/docs/official_api.md @@ -34,7 +34,7 @@ | 3 | latitude | 纬度 | double | 是 | | 4 | time | 时间戳(UTC 时间) | long | 是 | | 5 | altitude | 海拔高度 | double | 否 | -| 6 | trackNumber | 航迹号 | String | 否 | +| 6 | trackNumber | 航迹号 | long | 否 | ### 1.3 车辆位置数据接入 diff --git a/src/network/HTTPDataSource.cpp b/src/network/HTTPDataSource.cpp index 4751960..1fee1d3 100644 --- a/src/network/HTTPDataSource.cpp +++ b/src/network/HTTPDataSource.cpp @@ -417,7 +417,12 @@ bool HTTPDataSource::parseAircraftResponse(const std::string& response, std::vec } if (item.contains("trackNumber")) { - ac.trackNumber = item["trackNumber"].get(); + // 航迹号可能是数字类型,需要转换为字符串 + if (item["trackNumber"].is_number()) { + ac.trackNumber = std::to_string(item["trackNumber"].get()); + } else { + ac.trackNumber = item["trackNumber"].get(); + } } else { ac.trackNumber = "TN" + ac.flightNo.substr(2); // 默认使用航班号生成跟踪号 } diff --git a/tools/mock_server.py b/tools/mock_server.py index 6af3a8e..5cd6b8b 100644 --- a/tools/mock_server.py +++ b/tools/mock_server.py @@ -92,7 +92,7 @@ aircraft_data = [ "latitude": POINT_T7["latitude"], "time": int(time.time() * 1000), "altitude": 0.0, - "trackNumber": "TN001", + "trackNumber": 1001, # 改为数字格式 "speed": 36.0, # 内部使用的速度字段,不会在 API 返回中显示 "direction": { # 内部使用的方向字段,不会在 API 返回中显示 "lat": initial_target_lat,