"use client" import type React from "react" import { useState } from "react" import Link from "next/link" import { useRouter } from "next/navigation" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card" import { Label } from "@/components/ui/label" import { Sparkles, Mail, Phone, ArrowRight, Loader2, CheckCircle2 } from "lucide-react" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" export default function ForgotPasswordPage() { const router = useRouter() const [isLoading, setIsLoading] = useState(false) const [resetMethod, setResetMethod] = useState<"email" | "phone">("email") const [email, setEmail] = useState("") const [phone, setPhone] = useState("") const [verificationCode, setVerificationCode] = useState("") const [isSendingCode, setIsSendingCode] = useState(false) const [countdown, setCountdown] = useState(0) const [isSuccess, setIsSuccess] = useState(false) const handleResetPassword = async (e: React.FormEvent) => { e.preventDefault() setIsLoading(true) try { // 模拟重置密码请求 await new Promise((resolve) => setTimeout(resolve, 1500)) // 显示成功信息 setIsSuccess(true) // 3秒后跳转到登录页 setTimeout(() => { router.push("/login") }, 3000) } catch (error) { console.error("重置密码失败", error) } finally { setIsLoading(false) } } const handleSendVerificationCode = async () => { if (!phone || phone.length !== 11 || isSendingCode) return setIsSendingCode(true) try { // 模拟发送验证码请求 await new Promise((resolve) => setTimeout(resolve, 1000)) // 开始倒计时 setCountdown(60) const timer = setInterval(() => { setCountdown((prev) => { if (prev <= 1) { clearInterval(timer) setIsSendingCode(false) return 0 } return prev - 1 }) }, 1000) } catch (error) { console.error("发送验证码失败", error) setIsSendingCode(false) } } if (isSuccess) { return (
页面将在3秒后自动跳转到登录页面...