LogoutForm.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import React, {Component} from "react";
  2. import {Button, Form, message} from "antd";
  3. import {apiLogout} from "../../services/API/API";
  4. import getCookie from "../../utils/getCookie";
  5. import deleteCookie from "../../utils/deleteCookie";
  6. import {CheckCircleTwoTone, EnterOutlined, LoginOutlined, LogoutOutlined} from "@ant-design/icons";
  7. import './UserForm.less'
  8. import {Link} from "react-router-dom";
  9. class LogoutForm extends Component {
  10. handleSubmitLogout = () => {
  11. let params = {
  12. username: getCookie('username'),
  13. token: getCookie('token'),
  14. }
  15. apiLogout(params).then(res => {
  16. if (res.data.code === 200) {
  17. message.success('登出成功');
  18. deleteCookie()
  19. this.props.handleLogged()
  20. } else if (res.data.code === 303) {
  21. message.error(res.data.error)
  22. }
  23. })
  24. };
  25. render() {
  26. return (
  27. <div className={'logged-div'}>
  28. <CheckCircleTwoTone className={'logged-logo'} twoToneColor="#52c41a"/>
  29. <Button className={'enter-button'} size="large" type="primary" icon={<LoginOutlined />}>
  30. <Link to={'/cloud/file'} style={{color:'white'}}>
  31. &nbsp;&nbsp;&nbsp;Enter
  32. </Link>
  33. </Button>
  34. <Form onFinish={this.handleSubmitLogout} className="login-form" initialValues={{remember: true}}>
  35. <Form.Item style={{marginBottom: '10px'}}>
  36. <Button size="large" type="primary" htmlType="submit" className="login-form-button"
  37. style={{width: '100%'}} icon={<LogoutOutlined/>}>
  38. Logout
  39. </Button>
  40. </Form.Item>
  41. </Form>
  42. </div>
  43. )
  44. }
  45. }
  46. export default LogoutForm;