index.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import React, {useState} from 'react'
  2. import style from './style.module.css'
  3. import http from '../../http'
  4. import {setToken} from '../../http'
  5. import {history} from '../../router.config'
  6. function Login() {
  7. let [user, setUser] = useState('');
  8. let [psw, setPsw] = useState('');
  9. const submission = async () => {
  10. let {status, data, message} = (await http({ method: 'post', url: '/login', params: {username: user, password: psw} })).data
  11. // let {status, data, message} = (await http.post('/login', {params: {username: user, password: psw}})).data
  12. if (status === 200) {
  13. sessionStorage.setItem('userName', data.name)
  14. setToken(data.token)
  15. history.replace('/gis')
  16. } else {
  17. alert(message)
  18. }
  19. }
  20. return (
  21. <div className={style.layer}>
  22. <h1>登录</h1>
  23. <div>
  24. <label htmlFor="user">用户名</label>
  25. <input type="text" name="user" value={user} onChange={ev => setUser(ev.target.value)}/>
  26. </div>
  27. <div>
  28. <label htmlFor="psw">密码</label>
  29. <input type="password" name="psw" value={psw} onChange={ev => setPsw(ev.target.value)}/>
  30. </div>
  31. <div>
  32. <a className={style.button} onClick={submission}>登录</a>
  33. </div>
  34. </div>
  35. )
  36. }
  37. export default Login