编辑 | blame | 历史 | 原始文档

接口修正总结

问题描述

用户反馈 vehicle/available?deptId=100&taskType=GENERAL 接口返回 404 错误。

问题分析

经过检查发现,后端确实实现了可用车辆查询接口,但是接口路径与前端调用不匹配。

修正内容

1. 接口路径修正

问题:前端调用 /vehicle/available,但后端实际路径是 /task/vehicle/available

修正
- 文件:app/api/vehicle.js
- 修改:listAvailableVehicles 函数的 URL 从 /vehicle/available 改为 /task/vehicle/available

2. 数据字段映射修正

问题:前端期望的字段名与后端返回的字段名不匹配

后端返回字段(SysTaskVehicle):
- vehicleNo - 车牌号
- vehicleId - 车辆ID
- vehicleType - 车辆类型
- status - 状态

修正的文件
- app/pages/task/create.vue - 修正车辆数据映射
- app/pages/task/index.vue - 修正车辆字段引用
- app/pages/task/detail.vue - 修正车辆字段显示

3. 接口实现状态

已实现的接口
- ✅ GET /task/vehicle/available - 查询可用车辆列表
- ✅ GET /task/vehicle/list/{taskId} - 查询任务关联车辆
- ✅ POST /task/vehicle/assign/{taskId} - 分配车辆给任务

可能未实现的接口
- ❓ GET /task/vehicle/user/{userId} - 查询用户绑定车辆
- ❓ POST /vehicle/bind - 绑定车辆给用户
- ❓ POST /vehicle/unbind - 解绑用户车辆

测试建议

1. 测试可用车辆接口

GET /task/vehicle/available?deptId=100&taskType=GENERAL

期望返回
json { "code": 200, "msg": "查询成功", "data": [ { "vehicleId": 1, "vehicleNo": "粤A12345", "vehicleType": "AMBULANCE", "vehicleBrand": "奔驰", "vehicleModel": "Vito", "deptName": "广州分公司" } ] }

2. 测试任务创建

  1. 进入任务创建页面
  2. 选择任务类型
  3. 检查车辆选择器是否正常加载车辆列表
  4. 创建任务并验证车辆信息是否正确保存

3. 测试任务列表

  1. 进入任务列表页面
  2. 检查车辆信息是否正确显示
  3. 测试车辆筛选功能

注意事项

  1. 权限控制:确保用户有 task:general:query 权限
  2. 部门ID:确保传入的 deptId 参数有效
  3. 任务类型taskType 参数可选,可以传入 GENERALMAINTENANCEFUEL
  4. 错误处理:前端已添加错误处理,如果接口调用失败会使用默认车辆列表

后续优化建议

  1. 统一接口路径:建议后端统一车辆相关接口的路径前缀
  2. 完善用户车辆绑定:如果需要用户车辆绑定功能,需要后端实现相应接口
  3. 添加接口文档:建议为所有车辆相关接口添加详细的API文档
  4. 错误码统一:建议统一错误码和错误信息格式

修正完成时间:2024年1月
修正状态:✅ 已完成
测试状态:⏳ 待测试