import type { IUserReadyData } from "#shared/types"; export default defineEventHandler(async (event) => { try { const result = await ensureAiArtStudioToken(event); return createSuccessResponse( result, result.created ? "环境初始化完成" : "环境已准备" ); } catch (error) { if (isUnauthorizedError(error)) { clearNewApiAuthCookies(event); return createErrorResponse(401, "未登录"); } return createUpstreamErrorResponse(error, "环境准备失败"); } }); /** 鉴权失败时清理本地 cookie,避免继续携带失效的 NewAPI 登录态 */ const isUnauthorizedError = (error: unknown): boolean => { const fetchError = error as { response?: { status?: number; }; status?: number; statusCode?: number; }; return ( fetchError.statusCode === 401 || fetchError.status === 401 || fetchError.response?.status === 401 ); };