毕业设计——基于遗传算法实现智能组卷的在线考试系统(springboot+VUE,前后端分离)

完整项目地址:https://download.csdn.net/download/lijunhcn/88452043

标题基于遗传算法实现智能组卷的在线考试系统(springboot+VUE,前后端分离)

安装

前端

  • 下载依赖

    npm install

  • 本地运行

    npm run serve

  • 打包

    npm run build

后端

  1. 打包成jar包,部署在服务器
  2. 在本地运行

功能

角色

  • 管理员
  • 教师
  • 学生

权限为依次递减的包含关系(管理员>教师>学生)

学生
  • 注册、登录、忘记密码(基础业务)
  • 题库刷题
  • 报名考试、参与考试(答题)、查看考试结果
  • 参与别人的练习、自己组练习题(随机组)
  • 查看个人信息(修改用户信息、修改密码、绑定手机、绑定邮箱)
  • 查看近十场考试成绩、训练成绩(数据可视化)
  • 错题本(可以将错题添加到错题本中)
  • 申请教师权限(提交图片等证明材料,由管理员审批)
教师
  • 包含学生权限
  • 考试管理模块
    • 修改考试信息(考试时间、考试时长、题型等)
    • 添加考试(手动组卷、随机组卷、智能组卷)
    • 删除考试
  • 学生管理模块
    • 添加学生
    • 删除学生
    • 学生信息修改
  • 题库模块
    • 添加题目(单选、多选、判断)
    • 题目修改、题目删除
    • 添加科目
  • 成绩模块
    • 查询学生成绩
    • 查询考试结果
管理员
  • 包括教师权限
  • 教师模块
    • 教师管理(增删改)
    • 审批教师申请

部分源码:

//对API统一管理
import requests from './request'

//登陆
//url:/api/auth/login  method:post  username,password 
export const reqUserLogin = (data)=>requests({url:'/auth/login',data,method:'post'}); 

//获取用户信息
//url:/api/auth/getLoginInfo  method:get  
export const reqUserInfo = ()=>requests({url:'/auth/getLoginInfo',method:'get'});

//退出登录
//url:/api/auth/logout  method: get
export const reqUserLogout = ()=>requests({url:'auth/logout',method:'get'});

//发送验证码
//url:/api/auth/sendCode method: post  phone,username,password1,password2
export const reqSendCode = (data)=>requests({url:'auth/sendCode',data,method:'post'});

//验证激活
//url:/api/auth/getCode method: post  phone,code
export const reqGetCode = (data)=>requests({url:'auth/getCode',data,method:'post'});

//获取我的考试
//url:/api/exam/getMyExam method: get
export const reqGetMyExam = (data)=>requests({url:'exam/getMyExam',data,method:'post'});

//获取我的练习
//url:/api/exam/getMyExam method: get
export const reqGetMyPractice = (data)=>requests({url:'practice/getMyPractice',data,method:'post'});

//获取考试信息
//url:/api/exam/getMyExam method: get
export const reqGetExamById = (id)=>requests({url:'exam/getExamById/'+id,method:'get'});

//获取试题信息
//url:/api/paper/getPaperInfoById method: post
export const reqGetPaperInfoById = (data)=>requests({url:'paper/getPaperInfoById',data, method:'post'});

//初始化考试
//url:/api/exam/setExamCookies method: post
export const reqInitExamCookies = (data)=>requests({url:'exam/initExamCookies',data, method:'post'});

//下载考试进度
//url:/api/exam/getExamCookies method: post
export const reqGetExamCookies = (data)=>requests({url:'exam/getExamCookies',data, method:'post'});

//上传考试进度
//url:/api/exam/getExamCookies method: post
export const reqSetExamCookies = (data)=>requests({url:'exam/setExamCookies',data, method:'post'});

//开始考试
//url:/api/exam/startExam method: post
export const reqStartExam = (data)=>requests({url:'exam/startExam',data, method:'post'});

//结束考试
//url:/api/exam/endExam method: post
export const reqEndExam = (data)=>requests({url:'exam/endExam',data, method:'post'});

//获取考试结果
//url:/api/exam/getExamResult method: post
export const reqGetExamResult = (data)=>requests({url:'exam/getExamResult',data, method:'post'});

//通过关键词搜索我的考试
//url:/api/search/searchMyExamByKey method: post
export const reqSearchMyExamByKey = (data)=>requests({url:'search/searchMyExamByKey',data, method:'post'});

//获取所有学生
//url:/api/user/getStudentAll method: get
export const reqGetStudentAll = ()=>requests({url:'user/getStudentAll',method:'get'})

//获取所有教师
export const reqGetTeacherAll = ()=>requests({url:'user/getTeacherAll',method:'get'})

//获取用户信息
//url:/api/auth/getUserInfoById  method:get  
export const reqGetUserInfoById = (data)=>requests({url:'/user/getUserInfoById/'+data,method:'get'});

//修改用户信息
//url:/api/auth/updateUserInfo  method:post  
export const reqUpdateUserInfo = (data)=>requests({url:'/user/updateUserInfo',data,method:'post'});

//获取题库
//url:/api/problem/getAll method:get
export const reqGetProblemAll = ()=>requests({url:'/problem/getAll',method:'get'});

//通过筛选获取题库
//url:/api/problem/getProblemByFilter method:post
export const reqGetProblemByFilter = (data)=>requests({url:'/problem/getProblemByFilter',data,method:'post'});

//获取题目数量
//url:/api/problem/getAllNumber method:get
export const reqGetAllNumber = (data)=>requests({url:'/problem/getAllNumber',data,method:'post'});

//通过id获取题目信息
//url:/api/problem/getProblemById method:post
export const reqGetProblemById = (data)=>requests({url:'/problem/getProblemById',data,method:'post'});

//答对题目
//url:/api/problem/accept method:post
export const reqAccept = (data)=>requests({url:'/problem/accept',data,method:'post'});

//答错题目
//url:/api/problem/wrongAnswer method:post
export const reqWrongAnswer = (data)=>requests({url:'/problem/wrongAnswer',data,method:'post'});

//获取所有训练
//url:/api/practice/getPracticeAll method:get
export const reqGetPracticeAll = ()=>requests({url:'/practice/getPracticeAll',method:'get'});

//通过筛选获取训练
//url:/api/problem/getPracticeByFilter method:post
export const reqGetPracticeByFilter = (data)=>requests({url:'/practice/getPracticeByFilter',data,method:'post'});

//获取训练数量
//url:/api/practice/getAllNumber method:get
export const reqGetAllNumber2 = (data)=>requests({url:'/practice/getAllNumber',data,method:'post'});

//通过筛选获取考试
//url:/api/exam/getExamByFilter method:post
export const reqGetExamByFilter = (data)=>requests({url:'/exam/getExamByFilter',data,method:'post'});

//通过筛选获取考试数量
//url:/api/exam/getAllNumber3 method:post
export const reqGetAllNumber3 = (data)=>requests({url:'/exam/getAllNumber3',data,method:'post'});

//通过考试Id获取学生数
//url:/api/exam/getUserNumberByExamId method:post
export const reqGetUserNumberByExamId = (data)=>requests({url:'/exam/getUserNumberByExamId',data,method:'post'});

//获取我的考试数量
export const reqGetMyExamNumber = (data)=>requests({url:'/exam/getMyExamNumber',data,method:'post'});

//获取我的练习数量
export const reqGetMyPracticeNumber = (data)=>requests({url:'/practice/getMyPracticeNumber',data,method:'post'});

//添加题目到错题本
export const reqAddProblemToWrongBook = (data)=>requests({url:'/wrongbook/addProblemToWrongBook',data,method:'post'});

//获取一个用户所有的错题
export const reqGetWrongProblemByUserId = (data)=>requests({url:'/wrongbook/getWrongProblemByUserId',data,method:'post'});

//删除错题
export const reqDeleteWrongProblem = (data)=>requests({url:'/wrongbook/deleteWrongProblem',data,method:'post'});

//获取错题数量
export const reqGetWrongProblemNumber = (data)=>requests({url:'/wrongbook/getWrongProblemNumber',data,method:'post'});

//修改密码
export const reqUpdatePassword = (data)=>requests({url:'/user/updatePassword',data,method:'post'});

//发送邮箱验证码
export const reqSendEmail = (data)=>requests({url:'/email/sendEmail',data,method:'post'});

//验证邮箱验证码
export const reqVerifyEmail = (data)=>requests({url:'/email/verifyEmail',data,method:'post'});

//删除考试
export const reqDeleteExam = (data)=>requests({url:'/exam/deleteExam', data,method:'post'});

//修改考试信息
export const reqUpdateExamInfo = (data)=>requests({url:'/exam/updateExamInfo', data,method:'post'});

//添加考试
export const reqAddExam = (data)=>requests({url:'/exam/addExam', data,method:'post'});

//随机生成试题
export const reqAddExamByRand = (data)=>requests({url:'/paper/addExamByRand', data,method:'post'});

//利用遗传算法组卷
export const reqAddExamByGeneticAlgorithm = (data)=>requests({url:'/paper/addExamByGeneticAlgorithm', data,method:'post'});

//向题库中添加题目
export const reqAddProblem = (data) =>requests({url:'/problem/addProblem',data,method:'post'});

//向题库中添加题目
export const reqGetSubjectAll = () =>requests({url:'/subject/getSubjectAll',method:'get'});

//获取审批信息
export const reqGetCheckList = (data) =>requests({url:'/role/getCheckList',data,method:'post'});

//获取审批信息个数
export const reqGetCheckListSize = (data) =>requests({url:'/role/getCheckListSize',data,method:'post'});

//审批通过
export const reqAcceptCheck = (data) =>requests({url:'/role/acceptCheck',data,method:'post'});

//审批不通过
export const reqRefuseCheck = (data) =>requests({url:'/role/refuseCheck',data,method:'post'});

//上传图片到后端
export const reqUploadPic = (data) =>requests({url:'/pic/uploadPic',data,method:'post'});

//获取当前申请状态
export const reqGetCheckStateById = (data) =>requests({url:'/role/getCheckStateById',data,method:'post'});

//报名考试
export const reqRegisterExam = (data) =>requests({url:'/exam/registerExam',data,method:'post'});

//查看报名状态
export const reqGetRegisterState = (data) =>requests({url:'/exam/getRegisterState',data,method:'post'});

//增加训练
export const reqAddPractice = (data) =>requests({url:'/practice/addPractice',data,method:'post'});

//获取练习信息
export const reqGetPracticeInfo = (data) =>requests({url:'/practice/getPracticeInfo',data,method:'post'});

//报名训练
export const reqRegisterPractice = (data) =>requests({url:'/practice/registerPractice',data,method:'post'});

//获取报名状态
export const reqGetRegisterState2 = (data) =>requests({url:'/practice/getRegisterState',data,method:'post'});

//获取训练试题和相关信息
export const reqGetPaperInfoByPracticeId = (data) =>requests({url:'/practice/getPaperInfoByPracticeId',data,method:'post'});

//保存练习结果
export const reqAddPracticeResult = (data) =>requests({url:'/practice/addPracticeResult',data,method:'post'});

//获取最近的练习结果
export const reqGetRecentPracticeResult = (data) =>requests({url:'/practice/getRecentPracticeResult',data,method:'post'});

//获取最近的考试结果
export const reqGetRecentExamResult = (data) =>requests({url:'/exam/getRecentExamResult',data,method:'post'});

//获取考试分析
export const reqGetExamScoreResult = (data) =>requests({url:'/exam/getExamScoreResult',data,method:'post'});

//获取系统信息
export const reqGetSystemInfo = () =>requests({url:'/system/getSystemInfo',method:'get'});

//获取系统信息
export const reqGetRecentExamScore = () =>requests({url:'/exam/getRecentExamScore',method:'get'});

//获取学科信息
export const reqGetSubjectProblemNumber = () =>requests({url:'/subject/getSubjectProblemNumber',method:'get'});

//添加学科
export const reqAddSubject = (data) =>requests({url:'/subject/addSubject',data,method:'post'});

//删除学科
export const reqDeleteSubject = (data) =>requests({url:'/subject/deleteSubject',data, method:'post'});

//删除题目
export const reqDeleteProblem = (data) =>requests({url:'/problem/deleteProblem',data, method:'post'});

//验证验证码
export const reqVerifyEmailByCode = (data) =>requests({url:'/email/verifyEmailByCode',data, method:'post'});

//验证验证码
export const reqUpdatePasswordByEmail = (data) =>requests({url:'/email/updatePasswordByEmail',data, method:'post'});

//添加学生
export const reqAddUser = (data) =>requests({url:'/user/addUser',data, method:'post'});

//获取考试排名
export const reqGetExamRank = (data) =>requests({url:'/exam/getExamRank',data, method:'post'});

猜你喜欢

转载自blog.csdn.net/lijunhcn/article/details/135142779