import { logoutUser } from "#server/service/auth"; import { getSessionId, clearSessionCookie } from "#server/service/auth/cookie"; import { toPublicAuthError } from "#server/service/auth/errors"; import log4js from "logger"; const logger = log4js.getLogger("AUTH"); export default defineWrappedResponseHandler(async (event) => { const sessionId = getSessionId(event); if (sessionId) { try { await logoutUser(sessionId); } catch (err) { // 仍清除 Cookie,避免客户端卡在「已登出但库只读/路径异常」无法退出 logger.warn("logout: 删除会话失败(仍将清除 Cookie)", err); } } clearSessionCookie(event); try { return R.success({ success: true, }); } catch (err) { throw toPublicAuthError(err); } });