import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp"; import { REGEXP_ONLY_DIGITS_AND_CHARS } from "input-otp"; import { useState, useCallback } from "react"; import { toast } from "sonner"; import LoginHeader from "./LoginHeader"; import { Label } from "@/components/ui/label" import { HumanVerification } from "@/components/human-verification"; import { AuthAPI, SmsAPI } from "@/lib/api/client"; import { handleAPIError } from "@/lib/api/common"; export default function SmsLoginMode() { const [phone, setPhone] = useState(""); const handleSendCode = useCallback(async () => { await SmsAPI.sendLoginSms(phone) .then(() => toast.success('验证码已发送!')) .catch(e => handleAPIError(e, ({ message }) => toast.error(`${message}`))) }, [phone]); return ( <>
setPhone(e.target.value)} required />
{[...Array(6)].map((_, i) => ( ))}
oi! 当你看到这里,如果有兴趣可以试试绕过前端校验进行注册,后端接口没封,不过登陆之后也确实没啥好玩的 玩的开心,如果发现重大漏洞,请手下留情喔~网站右下角有我的邮箱,告之后将以“哈基米(BNB)”答谢~
) } export async function handleSubmit(formData: FormData) { const phone = formData.get('phone')?.toString() || ''; const code = formData.get('code')?.toString() || ''; return AuthAPI.loginBySms(phone, code) }