diff --git a/src/pages/login/register.tsx b/src/pages/login/register.tsx new file mode 100644 index 0000000..856d161 --- /dev/null +++ b/src/pages/login/register.tsx @@ -0,0 +1,145 @@ +import { Layout, Input, Button, Typography, Row, Col, Form } from "antd"; +import { LockOutlined, MailOutlined } from "@ant-design/icons"; +import { createFileRoute } from "@tanstack/react-router"; +import { useAtomValue } from "jotai"; +import React, { memo, useEffect, useState } from "react"; +import {emailCodeAtom} from "@/store/system/user.ts"; +const { Title, Text, Link } = Typography; + +const Register = memo(() => { + const [registerForm] = Form.useForm(); + const { mutate: emailCodeMutate } = useAtomValue(emailCodeAtom); + + const handleRegisterSubmit = (values: any) => { + console.log(values); + // 调用注册API + }; + + const handleGetCode = () => { + const email = registerForm.getFieldValue("email"); + setCountdown(10); + setIsButtonDisabled(true); + emailCodeMutate({ email }); + }; + + const [countdown, setCountdown] = useState(0); + const [isButtonDisabled, setIsButtonDisabled] = useState(false); + + useEffect(() => { + let timer: number; + if (countdown > 0) { + timer = setTimeout(() => setCountdown(countdown - 1), 1000); + } else { + setIsButtonDisabled(false); + } + return () => clearTimeout(timer); + }, [countdown]); + + useEffect(() => { + document.body.className = "register"; + return () => { + document.body.className = document.body.className.replace("register", ""); + }; + }, []); + + return ( + + + + + + 向量检索服务免费试用 + 免费试用向量检索服务,玩转大模型生成式检索 +
+ 查看详情 > + + +
+ + 注册 + +
+
+ + } + addonAfter={ + + } + /> + + + } /> + + + } /> + + + } /> + + +
+ + 已有账号?登录 + 忘记密码 + + +
+ +
+
+ ); +}); + +export const Route = createFileRoute("/register")({ + component: Register, +}); + +export default Register;