import { lotteryRequest } from "@/lib/lottery-http"; export type PlayerAuthCaptchaResponse = { captcha_key: string; image_base64: string; }; export type PlayerAuthLoginPayload = { site_code?: string; username: string; password: string; captcha_key: string; captcha_code: string; }; export type PlayerAuthLoginData = { access_token: string; expires_in: number; token_type: string; player: { id: number; site_code: string; username: string | null; nickname: string | null; funding_mode: string; auth_source: string; }; }; export type PlayerPasswordUpdatePayload = { current_password: string; password: string; password_confirmation: string; }; /** `GET /api/v1/player/auth/captcha`(公开) */ export function getPlayerAuthCaptcha(): Promise { return lotteryRequest.get(`/player/auth/captcha`, { skipGlobalServerError: true, }); } /** `POST /api/v1/player/auth/login`(公开) */ export function postPlayerAuthLogin(body: PlayerAuthLoginPayload): Promise { const siteCode = process.env.NEXT_PUBLIC_PLAYER_SITE_CODE?.trim(); return lotteryRequest.post(`/player/auth/login`, { ...(siteCode ? { site_code: siteCode } : {}), ...body, }); } /** `PUT /api/v1/player/password`(仅彩票端账号密码玩家) */ export function putPlayerPassword( body: PlayerPasswordUpdatePayload, ): Promise<{ password_changed: boolean }> { return lotteryRequest.put<{ password_changed: boolean }>(`/player/password`, body); }