Commit 7febc228 authored by Ylg's avatar Ylg

add login api

parent 4ce8dd4a
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 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 {
open: boolean;
......@@ -11,6 +13,11 @@ interface ILoginModalProps {
const LoginModal = (props: ILoginModalProps) => {
const { open, setOpen } = props;
const intl = useIntl();
const [loginResult, setLoginResult] = useState({});
const [loading, setLoading] = useState(false);
const formRef = useRef<FormInstance>(null);
......@@ -19,15 +26,31 @@ const LoginModal = (props: ILoginModalProps) => {
formRef.current?.resetFields();
};
const handleLogin = (values: any) => {
const handleSubmit = async (values: any) => {
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();
};
return (
<Modal
open={open}
onOk={handleLogin}
footer={null}
closable={false}
width={480}
......@@ -45,7 +68,7 @@ const LoginModal = (props: ILoginModalProps) => {
<Form
name="normal_login"
initialValues={{ remember: true }}
onFinish={handleLogin}
onFinish={handleSubmit}
onValuesChange={(value) => {
console.log(value);
}}
......
......@@ -13,6 +13,7 @@ import {
WechatOutlined,
} from '@ant-design/icons';
import classNames from 'classnames';
import LoginModal from '@/components/loginModal';
const { Sider } = Layout;
const { Item } = Form;
......
import LoginModal from "@/components/loginModal";
import { Button } from "antd";
import { useState } from "react";
const PromptWord = () => {
return <>PromptWord</>;
const [open, setOpen] = useState(false);
return (
<>
PromptWord
<Button onClick={() => setOpen(true)} />
<LoginModal
open={open}
setOpen={setOpen}
/>
</>
)
};
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