From c95fad02616e2cb8721c7b1b9d380662791e8248 Mon Sep 17 00:00:00 2001 From: yutao <2930275373@qq.com> Date: Mon, 28 Apr 2025 22:22:00 +0800 Subject: [PATCH] LYT --- api/common.js | 58 ++++++++++++++++++++++++++++ api/exam/exam.js | 31 +++++++++++++++ api/paper/exam.js | 81 ++++++++++++++++++++++++++++++++++++++++ api/paper/paper.js | 13 +++++++ api/qu/qu.js | 54 +++++++++++++++++++++++++++ api/qu/repo.js | 42 +++++++++++++++++++++ api/sys/config/config.js | 21 +++++++++++ api/sys/depart/depart.js | 69 ++++++++++++++++++++++++++++++++++ api/sys/role/role.js | 11 ++++++ api/sys/user/user.js | 32 ++++++++++++++++ api/user.js | 41 ++++++++++++++++++++ api/user/book.js | 13 +++++++ api/user/repo.js | 64 +++++++++++++++++++++++++++++++ 13 files changed, 530 insertions(+) create mode 100644 api/common.js create mode 100644 api/exam/exam.js create mode 100644 api/paper/exam.js create mode 100644 api/paper/paper.js create mode 100644 api/qu/qu.js create mode 100644 api/qu/repo.js create mode 100644 api/sys/config/config.js create mode 100644 api/sys/depart/depart.js create mode 100644 api/sys/role/role.js create mode 100644 api/sys/user/user.js create mode 100644 api/user.js create mode 100644 api/user/book.js create mode 100644 api/user/repo.js diff --git a/api/common.js b/api/common.js new file mode 100644 index 0000000..4b6c671 --- /dev/null +++ b/api/common.js @@ -0,0 +1,58 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取列表数据 + * @param {string} url - 请求的 API 接口地址 + * @param {Object} query - 请求携带的查询参数 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchList(url, query) { + // 发送 POST 请求到指定的 API 接口,并携带查询参数 + return post(url, query) +} + +/** + * 获取详情数据 + * @param {string} url - 请求的 API 接口地址 + * @param {string|number} id - 要获取详情数据的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchDetail(url, id) { + // 发送 POST 请求到指定的 API 接口,并携带包含 id 的参数对象 + return post(url, { 'id': id }) +} + +/** + * 保存数据 + * @param {string} url - 请求的 API 接口地址 + * @param {Object} data - 需要保存的数据对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(url, data) { + // 发送 POST 请求到指定的 API 接口,并携带需要保存的数据 + return post(url, data) +} + +/** + * 删除数据 + * @param {string} url - 请求的 API 接口地址 + * @param {Array} ids - 要删除数据的唯一标识数组 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function deleteData(url, ids) { + // 发送 POST 请求到指定的 API 接口,并携带包含 ids 的参数对象 + return post(url, { 'ids': ids }) +} + +/** + * 更改数据状态 + * @param {string} url - 请求的 API 接口地址 + * @param {Array} ids - 要更改状态的数据的唯一标识数组 + * @param {string|number} state - 要更改成的状态值 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function changeState(url, ids, state) { + // 发送 POST 请求到指定的 API 接口,并携带包含 ids 和 state 的参数对象 + return post(url, { 'ids': ids, 'state': state }) +} diff --git a/api/exam/exam.js b/api/exam/exam.js new file mode 100644 index 0000000..35829c0 --- /dev/null +++ b/api/exam/exam.js @@ -0,0 +1,31 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取题库详情 + * @param {string|number} id - 题库的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchDetail(id) { + // 发送 POST 请求到指定接口,携带题库 id 参数 + return post('/exam/api/exam/exam/detail', { id: id }) +} + +/** + * 保存题库信息 + * @param {Object} data - 包含题库信息的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(data) { + // 发送 POST 请求到指定接口,携带题库信息 + return post('/exam/api/exam/exam/save', data) +} + +/** + * 获取题库列表 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchList() { + // 发送 POST 请求到指定接口,设置当前页码为 1,每页显示 100 条记录 + return post('/exam/api/exam/exam/paging', { current: 1, size: 100 }) +} diff --git a/api/paper/exam.js b/api/paper/exam.js new file mode 100644 index 0000000..c62fe36 --- /dev/null +++ b/api/paper/exam.js @@ -0,0 +1,81 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 创建试卷 + * @param {Object} data - 创建试卷所需的数据对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function createPaper(data) { + // 发送 POST 请求到创建试卷的接口,并传递数据 + return post('/exam/api/paper/paper/create-paper', data) +} + +/** + * 获取试卷详情 + * @param {Object} data - 获取试卷详情所需的数据对象,通常包含试卷 ID + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function paperDetail(data) { + // 发送 POST 请求到获取试卷详情的接口,并传递数据 + return post('/exam/api/paper/paper/paper-detail', data) +} + +/** + * 获取题目详情 + * @param {Object} data - 获取题目详情所需的数据对象,通常包含题目 ID + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function quDetail(data) { + // 发送 POST 请求到获取题目详情的接口,并传递数据 + return post('/exam/api/paper/paper/qu-detail', data) +} + +/** + * 填充答案 + * @param {Object} data - 填充答案所需的数据对象,包含题目答案等信息 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fillAnswer(data) { + // 发送 POST 请求到填充答案的接口,并传递数据 + return post('/exam/api/paper/paper/fill-answer', data) +} + +/** + * 交卷 + * @param {Object} data - 交卷所需的数据对象,可能包含试卷 ID 等信息 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function handExam(data) { + // 发送 POST 请求到交卷的接口,并传递数据 + return post('/exam/api/paper/paper/hand-exam', data) +} + +/** + * 获取试卷结果 + * @param {Object} data - 获取试卷结果所需的数据对象,通常包含试卷 ID + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function paperResult(data) { + // 发送 POST 请求到获取试卷结果的接口,并传递数据 + return post('/exam/api/paper/paper/paper-result', data) +} + +/** + * 错题训练 + * @param {Object} data - 错题训练所需的数据对象,可能包含用户 ID、错题类型等信息 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function training(data) { + // 发送 POST 请求到错题训练的接口,并传递数据 + return post('/exam/api/paper/paper/training', data) +} + +/** + * 检查是否有进行中的考试 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function checkProcess() { + // 发送 POST 请求到检查进行中考试的接口,不传递额外数据 + return post('/exam/api/paper/paper/check-process', {}) +} diff --git a/api/paper/paper.js b/api/paper/paper.js new file mode 100644 index 0000000..e686bfb --- /dev/null +++ b/api/paper/paper.js @@ -0,0 +1,13 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取试卷列表 + * @param {string|number} userId - 用户的唯一标识,用于筛选该用户相关的试卷 + * @param {string|number} examId - 考试的唯一标识,用于筛选该考试下的试卷 + */ +export function listPaper(userId, examId) { + // 发送 POST 请求到指定的试卷分页接口 + // 请求体中包含当前页码、每页显示数量以及筛选参数(用户 ID 和考试 ID) + return post('/exam/api/paper/paper/paging', { current: 1, size: 5, params: { userId: userId, examId: examId }}) +} diff --git a/api/qu/qu.js b/api/qu/qu.js new file mode 100644 index 0000000..5d56b77 --- /dev/null +++ b/api/qu/qu.js @@ -0,0 +1,54 @@ +// 从 '@/utils/request' 模块导入 post、upload 和 download 方法 +// post 方法用于发送 POST 请求 +// upload 方法用于文件上传请求 +// download 方法用于文件下载请求 +import { post, upload, download } from '@/utils/request' + +/** + * 获取题库详情 + * @param {string|number} id - 题库的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchDetail(id) { + // 发送 POST 请求到指定接口,携带题库 id 参数 + return post('/exam/api/qu/qu/detail', { id: id }) +} + +/** + * 保存题库信息 + * @param {Object} data - 包含题库信息的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(data) { + // 发送 POST 请求到指定接口,携带题库信息 + return post('/exam/api/qu/qu/save', data) +} + +/** + * 导出题库数据为 Excel 文件 + * @param {Object} data - 导出所需的参数对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function exportExcel(data) { + // 发送下载请求到指定接口,携带导出参数,设置文件名为 '导出的数据.xlsx' + return download('/exam/api/qu/qu/export', data, '导出的数据.xlsx') +} + +/** + * 下载导入模板文件 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function importTemplate() { + // 发送下载请求到指定接口,不携带额外参数,设置文件名为 'qu-import-template.xlsx' + return download('/exam/api/qu/qu/import/template', {}, 'qu-import-template.xlsx') +} + +/** + * 导入 Excel 文件到题库 + * @param {File} file - 要上传的 Excel 文件 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function importExcel(file) { + // 发送上传请求到指定接口,携带要上传的文件 + return upload('/exam/api/qu/qu/import', file) +} diff --git a/api/qu/repo.js b/api/qu/repo.js new file mode 100644 index 0000000..6e07ed9 --- /dev/null +++ b/api/qu/repo.js @@ -0,0 +1,42 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取题库详情 + * @param {Object} data - 请求所需的参数对象,包含获取题库详情必要的信息 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchDetail(data) { + // 发送 POST 请求到指定的获取题库详情接口,并传递参数 + return post('/exam/api/repo/detail', data) +} + +/** + * 保存题库信息 + * @param {Object} data - 请求所需的参数对象,包含需要保存的题库信息 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(data) { + // 发送 POST 请求到指定的保存题库信息接口,并传递参数 + return post('/exam/api/repo/save', data) +} + +/** + * 分页获取题库列表 + * @param {Object} data - 请求所需的参数对象,包含分页信息和筛选条件等 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchPaging(data) { + // 发送 POST 请求到指定的分页获取题库列表接口,并传递参数 + return post('/exam/api/repo/paging', data) +} + +/** + * 对题库进行批量操作 + * @param {Object} data - 请求所需的参数对象,包含批量操作的类型和相关数据 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function batchAction(data) { + // 发送 POST 请求到指定的题库批量操作接口,并传递参数 + return post('/exam/api/repo/batch-action', data) +} diff --git a/api/sys/config/config.js b/api/sys/config/config.js new file mode 100644 index 0000000..e51abd9 --- /dev/null +++ b/api/sys/config/config.js @@ -0,0 +1,21 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获得用户协议详情,固定 ID 为 1 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果。请求成功时,Promise 将解析为服务器响应数据;请求失败时,Promise 将被拒绝。 + */ +export function fetchDetail() { + // 发送 POST 请求到指定接口,携带用户协议的 ID 参数 + return post('/exam/api/sys/config/detail', { id: '1' }) +} + +/** + * 保存系统配置数据 + * @param {Object} data - 包含要保存的系统配置信息的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果。请求成功时,Promise 将解析为服务器响应数据;请求失败时,Promise 将被拒绝。 + */ +export function saveData(data) { + // 发送 POST 请求到指定接口,携带要保存的系统配置数据 + return post('/exam/api/sys/config/save', data) +} diff --git a/api/sys/depart/depart.js b/api/sys/depart/depart.js new file mode 100644 index 0000000..68fee27 --- /dev/null +++ b/api/sys/depart/depart.js @@ -0,0 +1,69 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 分页获取部门树数据 + * @param {Object} data - 请求所需的参数对象,包含分页信息等 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function pagingTree(data) { + // 发送 POST 请求到分页获取部门数据的接口,并传递参数 + return post('/exam/api/sys/depart/paging', data) +} + +/** + * 获取部门树数据 + * @param {Object} data - 请求所需的参数对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchTree(data) { + // 发送 POST 请求到获取部门树数据的接口,并传递参数 + return post('/exam/api/sys/depart/tree', data) +} + +/** + * 获取部门详情 + * @param {string|number} id - 部门的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fetchDetail(id) { + // 构建包含部门 id 的请求数据对象 + const data = { id: id } + // 发送 POST 请求到获取部门详情的接口,并传递参数 + return post('/exam/api/sys/depart/detail', data) +} + +/** + * 删除部门数据 + * @param {Array} ids - 要删除的部门的唯一标识数组 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function deleteData(ids) { + // 构建包含要删除部门 ids 的请求数据对象 + const data = { ids: ids } + // 发送 POST 请求到删除部门数据的接口,并传递参数 + return post('/exam/api/sys/depart/delete', data) +} + +/** + * 保存部门数据 + * @param {Object} data - 包含要保存的部门信息的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(data) { + // 发送 POST 请求到保存部门数据的接口,并传递参数 + return post('/exam/api/sys/depart/save', data) +} + +/** + * 对部门进行排序 + * @param {string|number} id - 要排序的部门的唯一标识 + * @param {number} sort - 排序值 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function sortData(id, sort) { + // 构建包含部门 id 和排序值的请求数据对象 + const data = { id: id, sort: sort } + // 发送 POST 请求到对部门进行排序的接口,并传递参数 + return post('/exam/api/sys/depart/sort', data) +} diff --git a/api/sys/role/role.js b/api/sys/role/role.js new file mode 100644 index 0000000..c12316f --- /dev/null +++ b/api/sys/role/role.js @@ -0,0 +1,11 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取角色列表 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果。当请求成功时,Promise 将解析为服务器返回的角色列表数据;请求失败时,Promise 将被拒绝。 + */ +export function fetchList() { + // 发送 POST 请求到指定的获取角色列表接口,请求体为空对象 + return post('/exam/api/sys/role/list', {}) +} diff --git a/api/sys/user/user.js b/api/sys/user/user.js new file mode 100644 index 0000000..3e5974a --- /dev/null +++ b/api/sys/user/user.js @@ -0,0 +1,32 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 更新用户数据 + * @param {Object} data - 包含要更新的用户数据的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function updateData(data) { + // 发送 POST 请求到更新用户数据的接口,并传递用户数据 + return post('/exam/api/sys/user/update', data) +} + +/** + * 保存用户数据 + * @param {Object} data - 包含要保存的用户数据的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function saveData(data) { + // 发送 POST 请求到保存用户数据的接口,并传递用户数据 + return post('/exam/api/sys/user/save', data) +} + +/** + * 用户注册 + * @param {Object} data - 包含用户注册信息的对象 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function userReg(data) { + // 发送 POST 请求到用户注册接口,并传递用户注册信息 + return post('/exam/api/sys/user/reg', data) +} diff --git a/api/user.js b/api/user.js new file mode 100644 index 0000000..2372b4b --- /dev/null +++ b/api/user.js @@ -0,0 +1,41 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 用户登录接口 + * @param {Object} data - 包含用户登录所需信息的对象,如用户名、密码等 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function login(data) { + // 发送 POST 请求到用户登录接口,并传递登录信息 + return post('/exam/api/sys/user/login', data) +} + +/** + * 获取用户信息接口 + * @param {string} token - 用户的身份验证令牌 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function getInfo(token) { + // 发送 POST 请求到获取用户信息接口,将 token 附加到 URL 参数中 + return post('/exam/api/sys/user/info?token=' + token) +} + +/** + * 用户登出接口 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function logout() { + // 发送 POST 请求到用户登出接口,请求体为空对象 + return post('/exam/api/sys/user/logout', {}) +} + +/** + * 用户注册接口 + * @param {Object} data - 包含用户注册所需信息的对象,如用户名、密码、邮箱等 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function reg(data) { + // 发送 POST 请求到用户注册接口,并传递注册信息 + return post('/exam/api/sys/user/reg', data) +} diff --git a/api/user/book.js b/api/user/book.js new file mode 100644 index 0000000..b071265 --- /dev/null +++ b/api/user/book.js @@ -0,0 +1,13 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 获取下一道错题信息 + * @param {string|number} examId - 考试的唯一标识 + * @param {string|number} quId - 题目的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function nextQu(examId, quId) { + // 发送 POST 请求到指定接口,携带考试 ID 和题目 ID 参数 + return post('/exam/api/user/wrong-book/next', { examId: examId, quId: quId }) +} diff --git a/api/user/repo.js b/api/user/repo.js new file mode 100644 index 0000000..4d7b1f1 --- /dev/null +++ b/api/user/repo.js @@ -0,0 +1,64 @@ +// 从 '@/utils/request' 模块导入 post 方法,用于发送 POST 请求 +import { post } from '@/utils/request' + +/** + * 开始训练 + * @param {string} mode - 训练模式 + * @param {string|number} repoId - 题库的唯一标识 + * @param {string|number} userId - 用户的唯一标识 + * @param {boolean} clear - 是否清除之前的训练数据 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function startTrain(mode, repoId, userId, clear) { + // 发送 POST 请求到开始训练的接口,携带训练模式、题库 ID、用户 ID 和是否清除数据的参数 + return post('/exam/api/user/repo/start', { mode: mode, repoId: repoId, userId: userId, clear: clear }) +} + +/** + * 填充训练结果 + * @param {string|number} id - 题目的唯一标识 + * @param {Array|string} answers - 用户给出的答案 + * @param {boolean} isRight - 答案是否正确 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function fillResult(id, answers, isRight) { + // 发送 POST 请求到填充结果的接口,携带题目 ID、用户答案和答案是否正确的参数 + return post('/exam/api/user/repo/fill', { id: id, answers: answers, isRight: isRight }) +} + +/** + * 检查是否存在进行中的训练 + * @param {string} mode - 训练模式 + * @param {string|number} repoId - 题库的唯一标识 + * @param {string|number} userId - 用户的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function hasTrain(mode, repoId, userId) { + // 发送 POST 请求到检查训练状态的接口,携带训练模式、题库 ID 和用户 ID 参数 + return post('/exam/api/user/repo/check', { mode: mode, repoId: repoId, userId: userId }) +} + +/** + * 获取答题卡列表 + * @param {string} mode - 训练模式 + * @param {string|number} repoId - 题库的唯一标识 + * @param {string|number} userId - 用户的唯一标识 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function listCard(mode, repoId, userId) { + // 发送 POST 请求到获取答题卡列表的接口,携带训练模式、题库 ID 和用户 ID 参数 + return post('/exam/api/user/repo/card', { mode: mode, repoId: repoId, userId: userId }) +} + +/** + * 获取下一题 + * @param {string} mode - 训练模式 + * @param {string|number} repoId - 题库的唯一标识 + * @param {string|number} userId - 用户的唯一标识 + * @param {string|number} sequence - 题目序号 + * @returns {Promise} - 返回一个 Promise 对象,用于处理请求结果 + */ +export function nextQu(mode, repoId, userId, sequence) { + // 发送 POST 请求到获取下一题的接口,携带训练模式、题库 ID、用户 ID 和题目序号参数 + return post('/exam/api/user/repo/next', { mode: mode, repoId: repoId, userId: userId, sequence: sequence }) +} -- 2.34.1