import type { IUserLogoutData } from "#shared/types"; import { clearNewApiAuthCookies, createApiLogger, createSuccessResponse, newApiAuthedFetch, toSafeLogError } from "~~/server/utils"; export default defineEventHandler(async (event) => { const logger = createApiLogger("auth.logout"); logger.info("开始"); try { // 带上本站 httpOnly cookie 中的 NewAPI 登录态,请求上游销毁 session。 await newApiAuthedFetch(event, "/api/user/logout", { method: "GET" }); logger.info("上游登出成功"); } catch (error) { // 上游 session 可能已失效,本地仍然必须清理,避免残留坏登录态。 logger.warn("上游登出失败,继续清理本地登录态", { error: toSafeLogError(error) }); } finally { clearNewApiAuthCookies(event); } logger.done("成功"); return createSuccessResponse(null, "登出成功"); });