import { useState } from 'react' import { Link } from 'react-router-dom' import { Building2, Eye, EyeOff } from 'lucide-react' import api from '../../lib/api' import { Input, Label } from '../../components/ui/Input' import Button from '../../components/ui/Button' export default function ForgotPassword() { const [showPassword, setShowPassword] = useState(false) const [error, setError] = useState('') const [success, setSuccess] = useState(false) const [loading, setLoading] = useState(false) const [step, setStep] = useState<1 | 2>(1) const [phone, setPhone] = useState('') const [code, setCode] = useState('') const [newPassword, setNewPassword] = useState('') const [sentCode, setSentCode] = useState('') const sendCode = async () => { setError('') if (!/^1[3-9]\d{9}$/.test(phone)) { setError('手机号格式不正确') return } setLoading(true) try { const res = await api.post('/auth/forgot-password/send-code', { phone }) as any setSentCode(res.data?.code || '') setStep(2) } catch (err: any) { setError(err.response?.data?.error?.message || '发送失败,请稍后重试') } finally { setLoading(false) } } const resetPwd = async () => { setError('') if (code.length !== 6) { setError('请输入6位验证码') return } if (newPassword.length < 8) { setError('密码至少8位') return } setLoading(true) try { await api.post('/auth/forgot-password/verify', { phone, code, newPassword }) setSuccess(true) } catch (err: any) { setError(err.response?.data?.error?.message || '重置失败,请稍后重试') } finally { setLoading(false) } } return (