大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue在线考试系统(优质版),分享下哈。
项目视频演示
项目介绍
在线考试系统是对考试资源进行管理的系统。随着信息技术的发展,教育领域正在经历一场深刻的变革。特别是在考试系统管理方面,传统的管理方式已经无法满足现代教育的需求。因此,开发一款高效、便捷的在线考试系统显得尤为重要。本文将探讨在线考试系统的功能、设计、实现及效果评估。
本次毕业设计开发的在线考试系统就提供了一个操作的平台,可以将信息进行分类管理,并以在线考试系统所涉及的具体方面作为模块划分的依据。具体内容包括:题库管理、试题管理、考试管理、题库管理、阅卷管理、在线考试、我的成绩、我的题库、考试统计、公告管理、角色管理、用户管理和注册、退出模块等功能。
系统展示
部分代码
import com.wzz.dto.AddUserDto;
import com.wzz.entity.Notice;
import com.wzz.entity.UserRole;
import com.wzz.service.NoticeService;
import com.wzz.service.UserRoleService;
import com.wzz.service.UserService;
import com.wzz.vo.CommonResult;
import com.wzz.vo.PageResponse;
import com.wzz.vo.UserInfoVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@Validated
@RestController
@RequiredArgsConstructor
@Api(tags = "超级管理员权限相关的接口")
@RequestMapping(value = "/admin")
public class AdminController {
private final UserService userService;
private final UserRoleService userRoleService;
private final NoticeService noticeService;
@GetMapping("/getUser")
@ApiOperation("获取用户信息,可分页 ----> 查询条件(可无)(username,trueName),必须有的(pageNo,pageSize)")
public CommonResult<PageResponse<UserInfoVo>> getUser(@RequestParam(required = false) String loginName,
@RequestParam(required = false) String trueName,
Integer pageNo, Integer pageSize) {
return CommonResult.<PageResponse<UserInfoVo>>builder()
.data(userService.getUser(loginName, trueName, pageNo, pageSize))
.build();
}
@GetMapping("/handleUser/{type}")
@ApiOperation("管理员操作用户: type=1(启用) 2(禁用) 3(删除) userIds(需要操作的用户id)")
public CommonResult<Void> handleUser(@PathVariable("type") Integer type, String userIds) {
userService.handlerUser(type, userIds);
return CommonResult.<Void>builder().build();
}
@PostMapping("/addUser")
@ApiOperation("管理员用户新增用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "user", value = "系统用户实体", required = true, dataType = "user", paramType = "body")
})
public CommonResult<Void> addUser(@RequestBody @Valid AddUserDto userDto) {
userService.addUser(userDto);
return CommonResult.<Void>builder().build();
}
@GetMapping("/getRole")
@ApiOperation("查询系统存在的所有角色信息")
public CommonResult<List<UserRole>> getRole() {
return CommonResult.<List<UserRole>>builder()
.data(userRoleService.getUserRole())
.build();
}
@GetMapping("/getAllNotice")
@ApiOperation("获取系统发布的所有公告(分页 条件查询 二合一接口)")
@ApiImplicitParams({
@ApiImplicitParam(name = "noticeContent", value = "搜索公告内容", dataType = "string", paramType = "query"),
@ApiImplicitParam(name = "pageNo", value = "查询结果分页当前页面", required = true, dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "pageSize", value = "查询结果的页面条数大小", required = true, dataType = "int", paramType = "query")
})
public CommonResult<PageResponse<Notice>> getAllNotice(@RequestParam(required = false, name = "noticeContent") String content,
Integer pageNo, Integer pageSize) {
return CommonResult.<PageResponse<Notice>>builder()
.data(noticeService.getAllNotices(content, pageNo, pageSize))
.build();
}
@PostMapping("/publishNotice")
@ApiOperation("发布新公告")
@ApiImplicitParams({
@ApiImplicitParam(name = "notice", value = "通知实体对象", required = true, dataType = "notice", paramType = "body")
})
public CommonResult<Void> publishNotice(@RequestBody Notice notice) {
noticeService.publishNotice(notice);
return CommonResult.<Void>builder()
.build();
}
@GetMapping("/deleteNotice")
@ApiOperation("批量删除公告")
@ApiImplicitParams({
@ApiImplicitParam(name = "noticeIds", value = "系统公告id", required = true, dataType = "string", paramType = "query")
})
public CommonResult<Void> deleteNotice(@RequestParam(name = "ids") String noticeIds) {
noticeService.deleteNoticeByIds(noticeIds);
return CommonResult.<Void>builder().build();
}
@PostMapping("/updateNotice")
@ApiOperation("更新公告")
@ApiImplicitParams({
@ApiImplicitParam(name = "notice", value = "通知实体对象", required = true, dataType = "notice", paramType = "body")
})
public CommonResult<Void> updateNotice(@RequestBody Notice notice) {
noticeService.updateNotice(notice);
return CommonResult.<Void>builder().build();
}
}
<template>
<el-container>
<el-main>
<el-card class="box-card" shadow="always">
<div slot="header" class="card-header">
<p style="font-size: 30px">在线考试系统</p>
</div>
<div>
<el-form :model="loginForm" :rules="loginFormRules" ref="loginForm" :status-icon="true" label-width="100px">
<el-form-item prop="username">
<el-input prefix-icon="el-icon-user" v-model="loginForm.username" placeholder="账号"></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input prefix-icon="el-icon-lock" v-model="loginForm.password" placeholder="密码"
show-password></el-input>
</el-form-item>
<el-form-item prop="code">
<el-input class="code" prefix-icon="el-icon-chat-line-round" v-model="loginForm.code"
placeholder="验证码"></el-input>
<img @click="changeCode" id="code"
style="float: right;margin-top: 4px;cursor: pointer" title="看不清,点击刷新"
alt="验证码"/>
</el-form-item>
<el-form-item>
<el-button type="success" @click="login($refs['loginForm'])" icon="el-icon el-icon-s-promotion">登录
</el-button>
<el-button type="primary" @click="toRegisterPage" icon="el-icon el-icon-circle-plus">学员注册</el-button>
</el-form-item>
<a href="http://www.java1234.com/a/bysj/javaweb/" target='_blank'><font color=red>Java1234收藏整理</font></a>
</el-form>
</div>
</el-card>
</el-main>
<Footer></Footer>
</el-container>
</template>
<script>
import Footer from '@/components/Footer'
import LoginFunc from '@/function-namespace/auth/LoginFunc'
import loginFunc from '@/function-namespace/auth/LoginFunc'
import utils from '@/utils/utils'
export default {
name: 'Login',
components: {Footer},
data() {
return {
...LoginFunc,
captchaUrl: process.env.VUE_APP_CAPTCHA_URL
}
},
created() {
// 检验用户是否存在token,存在直接跳转主页
utils.checkToken('/index')
},
mounted() {
loginFunc.changeCode()
}
}
</script>
<style scoped lang="scss">
@import "../../assets/css/auth/login";
</style>
源码下载
CSDN 1积分下载:https://download.csdn.net/download/caofeng891102/89247900
或者免费领取加小锋老师wx:java9266
热门推荐
免费分享一套SpringBoot企业人事管理系统(员工管理,工资管理,档案管理,招聘管理),帅呆了~~-CSDN博客
免费分享一套SpringBoot+Vue敬老院(养老院)管理系统,帅呆了~~-CSDN博客
免费分享一套微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,帅呆了~~_uniapp微信点餐-CSDN博客
免费分享一套SpringBoot+Vue药店(药房)管理系统,帅呆了~~_基于sprintboot+vue的药店管理系统-CSDN博客