export const errorHandler = (err, req, res, next) => { console.error('Error:', err); // JWT错误 if (err.name === 'JsonWebTokenError') { return res.status(401).json({ error: 'Invalid token' }); } if (err.name === 'TokenExpiredError') { return res.status(401).json({ error: 'Token expired' }); } // GitHub API错误 if (err.response && err.response.status) { const status = err.response.status; const message = err.response.data?.message || 'GitHub API error'; if (status === 401) { return res.status(500).json({ error: 'GitHub authentication failed' }); } if (status === 404) { return res.status(404).json({ error: 'Resource not found in GitHub' }); } return res.status(500).json({ error: `GitHub API error: ${message}` }); } // 默认错误 res.status(500).json({ error: process.env.NODE_ENV === 'production' ? 'Internal server error' : err.message }); };