Files
NewSzxcn-Email/apps/web/src/hooks/use-me.ts
T
LanQin_ 45122162d0 feat(auth): 重构认证流程并补充前端登录态保护
- 拆分后端认证处理与会话创建逻辑,支持登录、注册、退出、个人资料和改密接口
- 增加二次验证挑战、Turnstile 人机校验与旧版邮箱迁移清理
- 新增前端认证守卫、管理员访问控制、退出 Hook 与验证工具
- 统一抽离接口类型,优化登录页、注册页和个人资料页的认证交互
2026-06-16 10:10:21 +08:00

21 lines
536 B
TypeScript

import { useQuery, type UseQueryOptions } from "@tanstack/react-query"
import { api } from "@/lib/api"
import type { User } from "@/lib/api"
type MeResponse = { user: User }
export function useMe(
options?: Omit<UseQueryOptions<MeResponse, Error, MeResponse, ["me"]>, "queryKey" | "queryFn">,
) {
return useQuery({
queryKey: ["me"],
queryFn: api.me,
retry: 1,
...options,
})
}
export function isTimeoutError(error: unknown): boolean {
return error instanceof Error && error.message.includes("请求超时")
}