import request from '@/utils/request'

export function login(username, password) {
  return request({
    url: '/api/login/login',
    method: 'post',
    data: {
      username,
      password
    }
  })
}

export function getInfo(token) {
  return request({
    url: '/api/system/user/info',
    method: 'get',
    params: { token }
  })
}

export function logout() {
  return request({
    url: '/api/login/logout-api',
    method: 'post'
  })
}
