import api from './index'

/**
 * 用户登录
 * @param {Object} data 登录数据
 * @returns {Promise} 请求结果
 */
export function login(data) {
  return api.post('/user/login', data)
}

/**
 * 用户注册
 * @param {Object} data 注册数据
 * @returns {Promise} 请求结果
 */
export function register(data) {
  return api.post('/user/register', data)
}

/**
 * 用户登出
 * @returns {Promise} 请求结果
 */
export function logout() {
  return api.post('/user/logout')
}

/**
 * 获取当前登录用户信息
 * @returns {Promise} 请求结果
 */
export function getCurrentUser() {
  return api.get('/user/current')
}

/**
 * 获取用户信息
 * @returns {Promise} 请求结果
 */
export function getUserInfo() {
  return api.get('/user/profile')
}

/**
 * 更新用户信息
 * @param {Object} data 用户信息
 * @returns {Promise} 请求结果
 */
export function updateUserInfo(data) {
  return api.put('/user/update', data)
}

/**
 * 上传用户头像
 * @param {File} file 头像文件
 * @returns {Promise} 请求结果
 */
export function uploadAvatar(file) {
  const formData = new FormData()
  formData.append('file', file)
  return api.post('/user/upload/avatar', formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 修改密码
 * @param {Object} data 密码数据
 * @returns {Promise} 请求结果
 */
export function changePassword(data) {
  return api.put('/user/password', data)
}

/**
 * 获取用户统计数据
 * @returns {Promise} 请求结果
 */
export function getUserStats() {
  return api.get('/user/stats')
}

/**
 * 分页获取用户列表
 * @param {Object} params 查询参数
 * @returns {Promise} 请求结果
 */
export function getUserList(params) {
  return api.get('/user/list', { params })
}

/**
 * 根据ID获取用户
 * @param {Number} id 用户ID
 * @returns {Promise} 请求结果
 */
export function getUserById(id) {
  return api.get(`/user/${id}`)
}

/**
 * 删除用户
 * @param {Number} id 用户ID
 * @returns {Promise} 请求结果
 */
export function deleteUser(id) {
  return api.delete(`/user/${id}`)
}

/**
 * 更新用户状态
 * @param {Number} id 用户ID
 * @param {Number} status 状态
 * @returns {Promise} 请求结果
 */
export function updateUserStatus(id, status) {
  return api.put(`/user/${id}/status?status=${status}`)
}
