diff --git a/middleware/error_display.js b/middleware/error_display.js index 0a06861..618b37a 100644 --- a/middleware/error_display.js +++ b/middleware/error_display.js @@ -1,3 +1,16 @@ +import { makeResponse } from "../core/utils.js"; + export default (err, req, res, next) => { + // Check if this is an API/JSON request + const isJsonRequest = req.path.startsWith('/api/') || + req.xhr || + req.headers.accept?.includes('application/json'); + + if (isJsonRequest) { + // Return JSON error response + return res.json(makeResponse(false, { message: err.message })); + } + + // Return HTML error page for regular requests res.render('system/error.njk', { title: "错误", error_message: err.message }); } \ No newline at end of file