/** @format */ import { GithubOutlined, GitlabOutlined, LockOutlined, MobileOutlined, QqOutlined, UserOutlined, WechatOutlined, } from "@ant-design/icons"; import { ProFormCaptcha, ProFormCheckbox, ProFormText } from "@ant-design/pro-components"; import { Divider, Space, Tabs, message, Image, Alert, Form, Button } from "antd"; import { CSSProperties, useRef } from "react"; import { useState } from "react"; import logo from "@/assets/icons/schisandra.svg"; import qrCode from "@/assets/images/login_qrcode-landaiqing.jpg"; import styles from "./index.module.less"; import { observer } from "mobx-react"; import FooterComponent from "@/components/Footer"; import RotateCaptcha, { CaptchaInstance } from "react-rotate-captcha"; import { get, load, verify } from "@/api/captcha/index.ts"; import { oauthLogin } from "@/api/user"; // import useStore from '@/utils/store/useStore.tsx' type LoginType = "account" | "phone"; const iconStyles: CSSProperties = { color: "rgba(0, 0, 0, 0.2)", fontSize: "18px", verticalAlign: "middle", cursor: "pointer", }; export default observer(() => { const [form] = Form.useForm(); const captcha = useRef(null); const items = [ { label: ( 账户登录 ), key: "account", }, { label: ( 短信登录 ), key: "phone", }, ]; async function oAuthLogin(type: string) { const res: any = await oauthLogin(type); window.location.href = res.data; } const [loginType, setLoginType] = useState("account"); const onSubmit = async (formData: object) => { console.log(formData); }; return (
微信扫码登录 微信扫码关注公众号)} description={
微信扫码 关注公众号
登录更快更安全
} // type="success" showIcon={true} className={styles.alert} icon={} />
logo 五味子云存储
随时随地分享你的美好瞬间
setLoginType(activeKey as LoginType) }> {loginType === "account" && ( <> , }} placeholder={"请输入账号/邮箱/电话号码"} rules={[ { required: true, message: "请输入用户名!", }, ]} /> , }} placeholder={"请输入密码"} rules={[ { required: true, message: "请输入密码!", }, { pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z\\W]{6,18}$/, message: "密码长度需在6~18位字符,且必须包含字母和数字!", }, ]} /> {/*,*/} {/* autoComplete: 'off',*/} {/* }}*/} {/* placeholder='请输入图形验证码'*/} {/* rules={[*/} {/* {*/} {/* required: true,*/} {/* message: '请输入图形验证码!',*/} {/* },*/} {/* {*/} {/* pattern: /^[a-zA-Z0-9]{5}$/,*/} {/* message: '图形验证码格式不正确',*/} {/* },*/} {/* ]}*/} {/*/>*/} )} {loginType === "phone" && ( <> , autoComplete: "off", }} name="mobile" placeholder={"请输入手机号"} rules={[ { required: true, message: "请输入手机号!", }, { pattern: /^1\d{10}$/, message: "手机号格式错误!", }, ]} /> {/*,*/} {/* autoComplete: 'off',*/} {/* }}*/} {/* placeholder='请输入图形验证码'*/} {/* rules={[*/} {/* {*/} {/* required: true,*/} {/* message: '请输入图形验证码!',*/} {/* },*/} {/* {*/} {/* pattern: /^[a-zA-Z0-9]{5}$/,*/} {/* message: '图形验证码格式不正确',*/} {/* },*/} {/* ]}*/} {/*/>*/} , }} captchaProps={{ size: "large", }} placeholder={"请输入验证码"} captchaTextRender={(timing, count) => { if (timing) { return `${count} ${"获取验证码"}`; } return "获取验证码"; }} name="captcha" rules={[ { required: true, message: "请输入验证码!", }, ]} onGetCaptcha={async () => { captcha.current!.open(); message.success("获取验证码成功!验证码为:1234"); }} /> )}
自动登录 忘记密码
其他登录方式
{ oAuthLogin("GITEE").then(); }} style={{ ...iconStyles, color: "#FF6A10" }} />
注册
); });