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

// 获取问题列表的函数
export function getQuestionList(parameter) {
  return axios({
    url: api.ExamQuestionList, // API端点
    method: 'get',
    params: parameter // 查询参数
  })
}

// 获取所有问题的函数
export function getQuestionAll() {
  return axios({
    url: api.ExamQuestionAll,
    method: 'get'
  })
}

// 更新问题的函数
export function questionUpdate(parameter) {
  console.log(parameter); // 打印参数，用于调试
  return axios({
    url: api.ExamQuestionUpdate,
    method: 'post',
    data: parameter // 请求体中的数据
  })
}

// 获取分类选项的函数
export function getQuestionSelection() {
  return axios({
    url: api.ExamQuestionSelection,
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8' // 设置请求头，指定内容类型
    }
  })
}

// 创建新问题的函数
export function questionCreate(parameter) {
  console.log(parameter);
  return axios({
    url: api.ExamQuestionCreate,
    method: 'post',
    data: parameter
  })
}

// 获取考试列表的函数
export function getExamList(parameter) {
  return axios({
    url: api.ExamList,
    method: 'get',
    params: parameter
  })
}

// 获取所有考试信息的函数
export function getExamAll() {
  return axios({
    url: api.ExamAll,
    method: 'get'
  })
}

// 获取考试类型列表的函数，按照单选、多选和判断分类
export function getExamQuestionTypeList() {
  return axios({
    url: api.ExamQuestionTypeList,
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

// 获取考试卡片列表的函数
export function getExamCardList() {
  return axios({
    url: api.ExamCardList,
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

// 创建考试的函数
export function examCreate(parameter) {
  console.log(parameter);
  return axios({
    url: api.ExamCreate,
    method: 'post',
    data: parameter
  })
}

// 更新考试信息的函数
export function examUpdate(parameter) {
  console.log(parameter);
  return axios({
    url: api.ExamUpdate,
    method: 'post',
    data: parameter
  })
}

// 根据考试ID获取考试详情的函数
export function getExamDetail(examId) {
  return axios({
    url: api.ExamDetail + examId, // 动态拼接URL
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

// 根据记录ID获取考试记录详情的函数
export function getExamRecordDetail(recordId) {
  return axios({
    url: api.recordDetail + recordId, // 动态拼接URL
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

// 根据问题ID获取问题详情的函数
export function getQuestionDetail(questionId) {
  return axios({
    url: api.QuestionDetail + questionId, // 动态拼接URL
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

// 提交考试并获取成绩的函数
export function finishExam(examId, answersMap) {
  console.log(answersMap); // 打印答案，用于调试
  return axios({
    url: api.FinishExam + examId, // 动态拼接URL
    method: 'post',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: answersMap // 请求体中的答案数据
  })
}

// 获取当前用户所有考试记录的函数
export function getExamRecordList() {
  return axios({
    url: api.ExamRecordList,
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}