Commit 7febc228 authored by Ylg's avatar Ylg

add login api

parent 4ce8dd4a
import styles from './index.less'; import styles from './index.less';
import { Button, Checkbox, Form, FormInstance, Input, Modal } from 'antd'; import { Button, Checkbox, Form, FormInstance, Input, Modal, message } from 'antd';
import { LockOutlined, UserOutlined } from '@ant-design/icons'; import { LockOutlined, UserOutlined } from '@ant-design/icons';
import logoSvg from '../../assets/logo.svg'; import logoSvg from '../../assets/logo.svg';
import { useRef } from 'react'; import { useRef, useState } from 'react';
import { loginChatGLM } from '@/services/chatGLM/api';
import { useIntl } from 'react-intl';
interface ILoginModalProps { interface ILoginModalProps {
open: boolean; open: boolean;
...@@ -11,6 +13,11 @@ interface ILoginModalProps { ...@@ -11,6 +13,11 @@ interface ILoginModalProps {
const LoginModal = (props: ILoginModalProps) => { const LoginModal = (props: ILoginModalProps) => {
const { open, setOpen } = props; const { open, setOpen } = props;
const intl = useIntl();
const [loginResult, setLoginResult] = useState({});
const [loading, setLoading] = useState(false);
const formRef = useRef<FormInstance>(null); const formRef = useRef<FormInstance>(null);
...@@ -19,15 +26,31 @@ const LoginModal = (props: ILoginModalProps) => { ...@@ -19,15 +26,31 @@ const LoginModal = (props: ILoginModalProps) => {
formRef.current?.resetFields(); formRef.current?.resetFields();
}; };
const handleLogin = (values: any) => { const handleSubmit = async (values: any) => {
console.log('values', values); console.log('values', values);
setLoading(true);
const { username, password, checked } = values;
try {
const result = await loginChatGLM({
name: username,
password,
});
console.log('result', result);
setLoading(false);
} catch(error) {
const defaultLoginFailureMessage = intl.formatMessage({
id: 'pages.login.failure',
defaultMessage: '登录失败,请重试!',
});
message.error(defaultLoginFailureMessage);
}
reset(); reset();
}; };
return ( return (
<Modal <Modal
open={open} open={open}
onOk={handleLogin}
footer={null} footer={null}
closable={false} closable={false}
width={480} width={480}
...@@ -45,7 +68,7 @@ const LoginModal = (props: ILoginModalProps) => { ...@@ -45,7 +68,7 @@ const LoginModal = (props: ILoginModalProps) => {
<Form <Form
name="normal_login" name="normal_login"
initialValues={{ remember: true }} initialValues={{ remember: true }}
onFinish={handleLogin} onFinish={handleSubmit}
onValuesChange={(value) => { onValuesChange={(value) => {
console.log(value); console.log(value);
}} }}
......
...@@ -13,6 +13,7 @@ import { ...@@ -13,6 +13,7 @@ import {
WechatOutlined, WechatOutlined,
} from '@ant-design/icons'; } from '@ant-design/icons';
import classNames from 'classnames'; import classNames from 'classnames';
import LoginModal from '@/components/loginModal';
const { Sider } = Layout; const { Sider } = Layout;
const { Item } = Form; const { Item } = Form;
......
import LoginModal from "@/components/loginModal";
import { Button } from "antd";
import { useState } from "react";
const PromptWord = () => { const PromptWord = () => {
return <>PromptWord</>;
const [open, setOpen] = useState(false);
return (
<>
PromptWord
<Button onClick={() => setOpen(true)} />
<LoginModal
open={open}
setOpen={setOpen}
/>
</>
)
}; };
export default PromptWord; export default PromptWord;
import { request } from 'umi';
interface LoginParams {
name: string;
password: string;
}
export function loginChatGLM(options: LoginParams) {
return request('https://glm-mangement-api.baibaomen.com/api/app/account/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'__tenant': '3a0a90fe-9a0d-70f4-200d-a80a41fb6195'
},
data: options
})
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment