diff --git a/src/page/RegisterPageBak.tsx b/src/page/RegisterPageBak.tsx new file mode 100644 index 0000000..f6fa89b --- /dev/null +++ b/src/page/RegisterPageBak.tsx @@ -0,0 +1,174 @@ +// RegisterPage.js +import { Button, Form, Input, Toast, Image } from "antd-mobile"; +import React, { useEffect } from "react"; +import { useNavigate, useParams } from "react-router-dom"; +import { api } from "../api"; +import { MatrixAppBo, RegisterBo } from "../api/generated"; + +const RegisterPage = () => { + const [count, setCount] = React.useState(60); + const [app, setApp] = React.useState(); + const [form] = Form.useForm(); + const navigate = useNavigate(); + const { inviteCode } = useParams(); + + const onFinish = async (values: RegisterBo) => { + const data = form.getFieldsValue(); + if (data.pwd !== data.confirmPassword) { + Toast.show({ + content: "密码不一致,请重新输入", + }); + return; + } + const res = await api.submitRegister(values); + if (res.data.code !== 0) { + Toast.show({ + content: res.data.message, + }); + return; + } + Toast.show({ + content: "注册成功", + }); + navigate("/download/" + inviteCode); + }; + + const send = async () => { + const values = form.getFieldsValue(); + const mobile: string = values.mobile; + if (!mobile) { + Toast.show({ + content: "请输入手机号", + }); + return; + } + const res = await api.sendCode(mobile, "register"); + if (res.data.code !== 0) { + Toast.show({ + content: res.data.message, + }); + return; + } + Toast.show({ + content: "验证码发送成功:" + mobile, + }); + startCountdown(); + }; + + const startCountdown = () => { + setCount(60); + const timer = setInterval(() => { + setCount((count) => count - 1); + }, 1000); + setTimeout(() => { + clearInterval(timer); + setCount(60); + }, 60000); + }; + + useEffect(() => { + const getApp = async () => { + if (!inviteCode) { + return; + } + const res = await api.getApp(inviteCode); + if (res.data.code !== 0) { + Toast.show({ + content: res.data.message, + }); + return; + } + setApp(res.data.data); + }; + getApp(); + }, [inviteCode]); + + return ( +
+ +

+ {app?.name} +

+
+ + + + + {count === 60 ? "发送验证码" : `${count}s`} + + } + rules={[{ required: true, message: "请输入短信验证码!" }]} + > + + + + + + { + let pwd = form.getFieldValue("pwd"); + if (pwd && pwd !== value) { + callback("密码不一致"); + } else { + callback(); + } + }, + }, + ]} + > + + + + + + + + +
+
+ ); +}; + +export default RegisterPage;