// 导入api对象，它包含了所有API端点的路径
import api from './index';
// 导入axios库，用于发送HTTP请求
import { axios } from '../utils/request';

/**
 * 用户登录函数
 * @param {Object} parameter - 登录所需的参数对象，包含用户名、密码、记住我、验证码等属性
 * @returns {Promise} - 返回axios请求的Promise对象
 */
export function login(parameter) {
  return axios({
    // 用户登录接口改成自己的登录接口
    url: api.UserLogin, // 使用从api对象中导入的UserLogin路径
    method: 'post',
    data: parameter // 将登录参数对象传递给服务器
  })
}

// 获取验证码的函数
export function getSmsCaptcha(parameter) {
  return axios({
    url: api.SendSms, // 发送短信的API端点
    method: 'post',
    data: parameter // 传递给服务器的参数，用于获取验证码
  })
}

// 获取用户信息的函数
export function getInfo() {
  return axios({
    url: api.UserInfo, // 获取用户信息的API端点
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF8' // 设置请求头，指定内容类型
    }
  })
}

// 用户登出的函数
export function logout() {
  return axios({
    url: api.Logout, // 登出的API端点
    method: 'post',
    headers: {
      'Content-Type': 'application/json;charset=UTF8' // 设置请求头，指定内容类型
    }
  })
}

/**
 * 获取用户双因素认证的第二步代码
 * @param {Object} parameter - 用于双因素认证的参数对象
 * @returns {Promise} - 返回axios请求的Promise对象
 */
export function get2step(parameter) {
  return axios({
    url: api.twoStepCode, // 双因素认证的第二步接口
    method: 'post',
    data: parameter // 传递给服务器的参数，用于双因素认证
  })
}