// 错误处理中间件 const errorHandler = (err, req, res, next) => { console.error('错误:', err.message); // MongoDB 连接错误 if (err.name === 'MongoError' || err.name === 'MongooseError') { return res.status(500).json({ success: false, message: '数据库错误', error: err.message }); } // 验证错误 if (err.name === 'ValidationError') { return res.status(400).json({ success: false, message: '数据验证失败', error: err.message }); } // 404 错误 if (err.name === 'CastError') { return res.status(404).json({ success: false, message: '数据不存在', error: err.message }); } // 默认错误 res.status(err.status || 500).json({ success: false, message: err.message || '服务器内部错误', error: process.env.NODE_ENV === 'development' ? err.stack : undefined }); }; module.exports = errorHandler;