|
@@ -1,23 +1,58 @@
|
|
|
"use client";
|
|
|
-import { FC, PropsWithChildren } from "react";
|
|
|
+import { FC, PropsWithChildren, useState } from "react";
|
|
|
import HeaderBack from "@/components/HeaderBack";
|
|
|
import ButtonOwn from "@/components/ButtonOwn";
|
|
|
import DomainFooter from "@/components/DomainFooter";
|
|
|
import './page.scss'
|
|
|
import React from "react";
|
|
|
-import {getCheckUserPhoneExistApi} from "@/api/user";
|
|
|
+import { phoneRegex } from "@/utils";
|
|
|
+import {getCheckUserPhoneExistApi, getSendCodeApi} from "@/api/user";
|
|
|
+import { useRouter } from "@/i18n";
|
|
|
|
|
|
interface Props {}
|
|
|
|
|
|
const ResetPhone: FC<PropsWithChildren<Props>> = () => {
|
|
|
+ const router:any = useRouter()
|
|
|
+ let [userPhone, setUserPhone] = useState('')
|
|
|
+ const changeUserPhone = (e: { target: { value: any; }; }) => {
|
|
|
+ setUserPhone(e.target.value)
|
|
|
+ }
|
|
|
+ let [verifyInfo, setVerifyInfo] = useState({
|
|
|
+ msgError: '',
|
|
|
+ check: false
|
|
|
+ })
|
|
|
+ const blurVerifyPhone = (e: { target: { value: any; }; }) => {
|
|
|
+ const {value} = e.target;
|
|
|
+ if (value && !phoneRegex(value)) {
|
|
|
+ setVerifyInfo({
|
|
|
+ msgError: '请输入正确的手机号',
|
|
|
+ check: false
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!value) {
|
|
|
+ setVerifyInfo({
|
|
|
+ msgError: '',
|
|
|
+ check: false
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ setVerifyInfo({
|
|
|
+ msgError: '',
|
|
|
+ check: true
|
|
|
+ })
|
|
|
+ }
|
|
|
const checkUserPhoneRequest = async () => {
|
|
|
- let { code, msg } = await getCheckUserPhoneExistApi({user_phone: '18215519037'})
|
|
|
+ if(!phoneRegex(userPhone)) return
|
|
|
+ let { code, msg } = await getCheckUserPhoneExistApi({user_phone: userPhone})
|
|
|
if(code == 200) {
|
|
|
- alert('验证成功')
|
|
|
- // router.replace('/login')
|
|
|
- } else {
|
|
|
- // setMsgError(msg)
|
|
|
+ router.push(`/verification?userPhone=${userPhone}`)
|
|
|
+ return
|
|
|
}
|
|
|
+ setVerifyInfo({
|
|
|
+ ...verifyInfo,
|
|
|
+ msgError: msg,
|
|
|
+ })
|
|
|
}
|
|
|
return (
|
|
|
<div className="resetPhone-box">
|
|
@@ -29,11 +64,11 @@ const ResetPhone: FC<PropsWithChildren<Props>> = () => {
|
|
|
</div>
|
|
|
<div className="phoneInput">
|
|
|
<span className="after">+55</span>
|
|
|
- <input type="tel" placeholder="Número de Celular" />
|
|
|
+ <input type="tel" value={userPhone} onChange={changeUserPhone} onBlur={blurVerifyPhone} placeholder="Número de Celular" maxLength={11} />
|
|
|
</div>
|
|
|
- <div className="tips"> O número de telefone não existe. </div>
|
|
|
+ { verifyInfo.msgError && <div className="tips"> {verifyInfo.msgError} </div> }
|
|
|
<div className="btnContent">
|
|
|
- <ButtonOwn active={true} callbackFun={checkUserPhoneRequest}>Continuar</ButtonOwn>
|
|
|
+ <ButtonOwn active={verifyInfo.check} callbackFun={checkUserPhoneRequest}>Continuar</ButtonOwn>
|
|
|
</div>
|
|
|
</div>
|
|
|
<DomainFooter />
|