feat: 新增用户状态检查和 api key 准备功能

This commit is contained in:
2026-04-25 16:27:55 +08:00
parent 7d1cc2da1a
commit 5cb72f8579
7 changed files with 252 additions and 4 deletions
+36
View File
@@ -0,0 +1,36 @@
import type { IUserReadyData } from "#shared/types";
export default defineEventHandler(async (event) => {
try {
const result = await ensureAiArtStudioToken(event);
return createSuccessResponse<IUserReadyData>(
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
);
};