fix: riders.js添加/vehicles和/orders路由(放在/:id之前避免被参数路由误匹配)

This commit is contained in:
notyclaw 2026-04-03 13:53:46 +08:00
parent 9e811e683d
commit 8d7c63c5cf
1 changed files with 28 additions and 0 deletions

View File

@ -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 {