From 16c62553a285e1ab79806ba38d0586afa333c973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E4=BA=9A=E6=98=95?= <1549469775@qq.com> Date: Fri, 12 Sep 2025 16:50:51 +0800 Subject: [PATCH] add --- src/middlewares/ErrorHandler/index.js | 43 ----------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 src/middlewares/ErrorHandler/index.js diff --git a/src/middlewares/ErrorHandler/index.js b/src/middlewares/ErrorHandler/index.js deleted file mode 100644 index 816dce4..0000000 --- a/src/middlewares/ErrorHandler/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import { logger } from "@/logger" -// src/plugins/errorHandler.js -// 错误处理中间件插件 - -async function formatError(ctx, status, message, stack) { - const accept = ctx.accepts("json", "html", "text") - const isDev = process.env.NODE_ENV === "development" - if (accept === "json") { - ctx.type = "application/json" - ctx.body = isDev && stack ? { success: false, error: message, stack } : { success: false, error: message } - } else if (accept === "html") { - ctx.type = "html" - await ctx.render("error/index", { status, message, stack, isDev }) - } else { - ctx.type = "text" - ctx.body = isDev && stack ? `${status} - ${message}\n${stack}` : `${status} - ${message}` - } - ctx.status = status -} - -export default function errorHandler() { - return async (ctx, next) => { - // 拦截 Chrome DevTools 探测请求,直接返回 204 - if (ctx.path === "/.well-known/appspecific/com.chrome.devtools.json") { - ctx.status = 204 - ctx.body = "" - return - } - try { - await next() - if (ctx.status === 404) { - await formatError(ctx, 404, "Resource not found") - } - } catch (err) { - logger.error(err) - const isDev = process.env.NODE_ENV === "development" - if (isDev && err.stack) { - console.error(err.stack) - } - await formatError(ctx, err.statusCode || 500, err.message || err || "Internal server error", isDev ? err.stack : undefined) - } - } -}