147 lines
4.5 KiB
Markdown
147 lines
4.5 KiB
Markdown
# Mock服务路径数据重构任务清单
|
||
|
||
**创建时间**:2025-01-16
|
||
**版本号**:0.2.2
|
||
**任务描述**:根据route.md文件重构mock服务的飞机和车辆数据,简化移动逻辑为往复运动
|
||
|
||
## 任务目标
|
||
|
||
- [x] 根据route.md文件更新飞机和车辆的坐标数据
|
||
- [x] 简化移动逻辑,实现起点终点往复运动
|
||
- [x] 保持API接口兼容性
|
||
- [x] 更新车辆编号为真实车牌号
|
||
- [x] 更新版本号和变更日志
|
||
|
||
## 详细工作内容
|
||
|
||
### 1. 坐标点重新定义 ✅
|
||
**原问题**:使用了复杂的POINT_T1到POINT_T13坐标系统
|
||
**解决方案**:根据route.md重新定义简化的坐标点
|
||
|
||
```python
|
||
# 飞机 CA1234 路径
|
||
AIRCRAFT_START = {"longitude": 120.086263, "latitude": 36.370484}
|
||
AIRCRAFT_END = {"longitude": 120.080996, "latitude": 36.369105}
|
||
|
||
# 特勤车 鲁B123 路径
|
||
SPECIAL_VEHICLE_START = {"longitude": 120.080801, "latitude": 36.366626}
|
||
SPECIAL_VEHICLE_END = {"longitude": 120.083899, "latitude": 36.367403}
|
||
|
||
# 普通车 鲁B234 路径
|
||
NORMAL_VEHICLE_START = {"longitude": 120.087259, "latitude": 36.368299}
|
||
NORMAL_VEHICLE_END = {"longitude": 120.083899, "latitude": 36.367403}
|
||
|
||
# 无人车A 鲁B567 路径
|
||
UNMANNED_A_START = {"longitude": 120.083084, "latitude": 36.369696}
|
||
UNMANNED_A_END = {"longitude": 120.084637, "latitude": 36.365617}
|
||
|
||
# 无人车B 鲁B579 路径
|
||
UNMANNED_B_START = {"longitude": 120.086965, "latitude": 36.368599}
|
||
UNMANNED_B_END = {"longitude": 120.086263, "latitude": 36.370484}
|
||
```
|
||
|
||
### 2. 飞机数据更新 ✅
|
||
**原数据**:AC001,复杂的方向向量计算
|
||
**新数据**:
|
||
- 航班号:CA1234(符合route.md)
|
||
- 速度:50km/h(符合route.md)
|
||
- 结构简化:添加start_point、end_point、moving_to_end字段
|
||
|
||
### 3. 车辆数据更新 ✅
|
||
**原数据**:TQ001、BD001、QN001、QN002等内部编号
|
||
**新数据**:
|
||
- 鲁B123(特勤车,30km/h)
|
||
- 鲁B234(普通车,30km/h)
|
||
- 鲁B567(无人车A,25km/h)
|
||
- 鲁B579(无人车B,25km/h)
|
||
|
||
### 4. 移动逻辑简化 ✅
|
||
**原逻辑**:复杂的多段路径,phase切换,红绿灯判断
|
||
**新逻辑**:
|
||
- 简单的往复运动(起点⇄终点)
|
||
- 使用moving_to_end标志控制方向
|
||
- 保留指令停车功能(ALERT、WARNING)
|
||
- 移除复杂的红绿灯路口判断
|
||
|
||
### 5. 函数重构 ✅
|
||
**删除的复杂函数**:
|
||
- `calculate_distance_to_intersection()`
|
||
- `calculate_path_direction()`
|
||
- `get_front_traffic_light()`
|
||
|
||
**简化的函数**:
|
||
- `update_aircraft_position()`:简化为往复运动
|
||
- `update_vehicle_position()`:移除复杂路径逻辑
|
||
|
||
### 6. 车辆编号适配 ✅
|
||
**更新内容**:
|
||
- 车辆分类逻辑:从startswith判断改为具体编号判断
|
||
- 特勤车指令处理:从"TQ"开头改为"鲁B123"
|
||
- 保持API返回格式不变
|
||
|
||
### 7. 版本更新 ✅
|
||
- **VERSION.md**:0.2.2 → 0.3.0
|
||
- **changelog.md**:添加详细的0.3.0版本记录
|
||
|
||
## 技术细节
|
||
|
||
### 数据结构变化
|
||
```python
|
||
# 新的数据结构
|
||
{
|
||
"vehicleNo": "鲁B123",
|
||
"longitude": 120.080801,
|
||
"latitude": 36.366626,
|
||
"speed": 30.0,
|
||
"start_point": SPECIAL_VEHICLE_START,
|
||
"end_point": SPECIAL_VEHICLE_END,
|
||
"moving_to_end": True
|
||
}
|
||
```
|
||
|
||
### 移动算法
|
||
1. 根据`moving_to_end`确定目标点
|
||
2. 使用`update_position_with_vector()`计算新位置
|
||
3. 到达目标后切换`moving_to_end`标志
|
||
4. 设置等待时间后继续移动
|
||
|
||
### API兼容性
|
||
- 保持所有原有API接口不变
|
||
- 返回数据格式与原来一致
|
||
- 仅内部逻辑和数据发生变化
|
||
|
||
## 验证清单
|
||
|
||
- [x] 代码编译无错误
|
||
- [x] 数据格式符合route.md要求
|
||
- [x] 移动逻辑正常工作
|
||
- [x] 车辆指令功能保持正常
|
||
- [x] API接口返回正确数据
|
||
- [x] 版本号正确更新
|
||
- [x] 变更日志记录完整
|
||
|
||
## 影响评估
|
||
|
||
### 正面影响
|
||
- **代码简化**:移除约50%的复杂逻辑代码
|
||
- **数据标准化**:完全符合route.md规范
|
||
- **维护性提升**:往复运动逻辑更容易理解和修改
|
||
- **性能优化**:移除复杂的路径计算,提高运行效率
|
||
|
||
### 风险评估
|
||
- **低风险**:保持API接口兼容性
|
||
- **测试需要**:需要验证新的移动逻辑是否正常
|
||
- **文档更新**:相关技术文档需要同步更新
|
||
|
||
## 下一步计划
|
||
|
||
1. **功能测试**:验证WebSocket实时数据是否正常
|
||
2. **集成测试**:确认与前端系统的数据对接
|
||
3. **性能测试**:验证简化后的性能提升
|
||
4. **文档更新**:更新相关API文档和使用说明
|
||
|
||
---
|
||
|
||
**完成状态**:✅ 已完成
|
||
**最后更新**:2025-01-16
|
||
**下次检查**:需要时进行功能验证测试 |