import { Container, TextField, InputAdornment, Link, Button } from "@mui/material"; import React, { useState, useEffect, useRef } from 'react'; import PhoneIphoneIcon from '@mui/icons-material/PhoneIphone'; import LockIcon from '@mui/icons-material/Lock'; import { useSelector, useDispatch } from 'react-redux' import yzs from "../business/request.js"; import Agreement from "./Agreement.js"; import { validatePhoneNumber, textHintOfValidatePhoneNumber } from "../business/utilities.js" export default function ({ udid, firstEnter, onChange, agreeAgreement, onAgreeChange }) { const code = useRef(null); const [seconds, setSeconds] = useState(0); // 倒计时 const account = useSelector(state => state.user.account) const verificationCode = useSelector(state => state.user.verificationCode) useEffect(() => { const timer = window.setInterval(() => { if (seconds > 0) { setSeconds(seconds - 1); } else { code.current.disabled = false; } }, 1000); return () => { window.clearInterval(timer); }; }, [seconds]); const onClick = (event) => { event.preventDefault(); code.current.disabled = true; yzs.send_phone_code(udid, account) setSeconds(60); }; return ), }} sx={{ minHeight: 64, }} /> ), endAdornment: 0 ? "#FFB3B3" : "red"} component="button" underline="none" onClick={onClick}>{seconds > 0 ? `重新发送(${seconds})` : "发送动态码"} }} /> }