# 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  
**下次检查**：需要时进行功能验证测试 