function expressErrorHandler(err, req, res, next) { if (res.headersSent) return next(err); const requestedStatus = Number(err?.statusCode || err?.status); const status = Number.isInteger(requestedStatus) && requestedStatus >= 400 && requestedStatus <= 599 ? requestedStatus : 500; console.error(`[未处理错误] ${req.method} ${req.originalUrl}`, { message: err?.message, stack: err?.stack }); return res.status(status).json({ success: false, message: status >= 500 ? '服务器内部错误' : (err?.message || '请求处理失败') }); } module.exports = { expressErrorHandler };