import request from '@/utils/request'

export function getPage(params) {
  return request({
    url: '/api/system/user/list-api',
    // url: 'http://localhost:8080/leaveschool/api/v1/base/user',
    method: 'get',
    params
  })
}
export function getUserList(params) {
  return request({
    url: '/api/system/user/user-list',
    method: 'get',
    params
  })
}
export function getItem(params) {
  return request({
    url: '/api/system/user/get-item',
    method: 'get',
    params
  })
}

export function createUser(data) {
  return request({
    url: '/api/system/user/create-user',
    method: 'post',
    data
  })
}

export function deleteUser(data) {
  return request({
    url: '/api/system/user/delete-user',
    method: 'delete',
    data
  })
}
