feat: 补充注释

This commit is contained in:
2026-04-26 01:13:38 +08:00
parent e26e2f5491
commit 4c58f409e9
23 changed files with 206 additions and 95 deletions
+14 -4
View File
@@ -1,3 +1,4 @@
// server/api/auth/me.get.ts - 当前用户接口:用 httpOnly 登录态恢复用户信息并刷新用户快照。
import type { IUserMeData } from "#shared/types";
import {
clearNewApiAuthCookies,
@@ -25,6 +26,16 @@ interface INewApiSelfUserData extends IUserMeData {
[key: string]: unknown;
}
/**
* GET /api/auth/me
*
* 流程:
* 1. 从本站 httpOnly cookie 读取 NewAPI session/userId。
* 2. 带 Cookie 与 New-Api-User 请求 NewAPI /api/user/self。
* 3. 裁剪上游 self 响应,只返回前端需要的基础用户字段。
* 4. 异步更新数据库里的用户快照。
* 5. cookie 缺失、过期或上游鉴权失败时清理本地登录态并返回 401。
*/
export default defineEventHandler(async (event) => {
const logger = createApiLogger("auth.me");
logger.info("开始");
@@ -46,7 +57,7 @@ export default defineEventHandler(async (event) => {
logger.warn("登录状态无效", {
upstreamMessage: normalized.message
});
return createErrorResponse(401, normalized.message);
return createErrorResponse(401, "未登录");
}
upsertUserSnapshot(normalized.user).catch((error) => {
@@ -64,7 +75,7 @@ export default defineEventHandler(async (event) => {
return createSuccessResponse<IUserMeData>(
normalized.user,
normalized.message
"获取用户信息成功"
);
} catch (error) {
// cookie 缺失或上游鉴权异常时统一视为未登录。
@@ -95,8 +106,7 @@ const normalizeUserResponse = (
}
const wrapped = response as INewApiWrappedUserResponse;
const message =
wrapped.message || (wrapped.success ? "获取用户信息成功" : "未登录");
const message = wrapped.success ? "获取用户信息成功" : "未登录";
if (wrapped.success !== true || !isUser(wrapped.data)) {
return {