45122162d0
- 拆分后端认证处理与会话创建逻辑,支持登录、注册、退出、个人资料和改密接口 - 增加二次验证挑战、Turnstile 人机校验与旧版邮箱迁移清理 - 新增前端认证守卫、管理员访问控制、退出 Hook 与验证工具 - 统一抽离接口类型,优化登录页、注册页和个人资料页的认证交互
21 lines
536 B
TypeScript
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("请求超时")
|
|
}
|