feat: 多功能更新

This commit is contained in:
2026-04-26 00:39:28 +08:00
parent abd1b03529
commit e26e2f5491
26 changed files with 992 additions and 330 deletions
+12 -2
View File
@@ -1,21 +1,31 @@
import type { IUserLogoutData } from "#shared/types";
import {
clearNewApiAuthCookies,
createApiLogger,
createSuccessResponse,
newApiAuthedFetch
newApiAuthedFetch,
toSafeLogError
} from "~~/server/utils";
export default defineEventHandler(async (event) => {
const logger = createApiLogger("auth.logout");
logger.info("开始");
try {
// 带上本站 httpOnly cookie 中的 NewAPI 登录态,请求上游销毁 session。
await newApiAuthedFetch<IUserLogoutData>(event, "/api/user/logout", {
method: "GET"
});
} catch {
logger.info("上游登出成功");
} catch (error) {
// 上游 session 可能已失效,本地仍然必须清理,避免残留坏登录态。
logger.warn("上游登出失败,继续清理本地登录态", {
error: toSafeLogError(error)
});
} finally {
clearNewApiAuthCookies(event);
}
logger.done("成功");
return createSuccessResponse<IUserLogoutData>(null, "登出成功");
});