diff --git a/server/routes/riders.js b/server/routes/riders.js index f3b0330..654e06b 100644 --- a/server/routes/riders.js +++ b/server/routes/riders.js @@ -165,6 +165,34 @@ router.post('/orders/:id/cancel', authMiddleware, requireRole('rider'), async (r // ===== 参数路由(放在最后) ===== +// 获取空闲车辆(公开接口,无需授权) +router.get('/vehicles', async (req, res) => { + try { + const Store = require('../models/Store'); + const Vehicle = require('../models/Vehicle'); + // 只返回关联门店已审批通过的空闲车辆 + const vehicles = await Vehicle.find({ status: '空闲' }) + .populate('storeId', 'name address') + .lean(); + res.json({ success: true, data: vehicles }); + } catch (error) { + res.status(500).json({ success: false, message: "服务器内部错误" }); + } +}); + +// 获取当前骑手的订单列表 +router.get('/orders', authMiddleware, requireRole('rider'), async (req, res) => { + try { + const orders = await Order.find({ customer: req.user.id }) + .populate('vehicle', 'model color vehicleId') + .populate('storeId', 'name') + .sort({ createdAt: -1 }); + res.json({ success: true, data: orders }); + } catch (error) { + res.status(500).json({ success: false, message: "服务器内部错误" }); + } +}); + // 获取骑手信息 router.get('/:id', authMiddleware, async (req, res) => { try {