基于SpringBoot实现的信息技术知识赛系统设计与实现【源码+文档】

系统介绍

基于SpringBoot+Vue实现的信息技术知识赛系统采用前后端分离的架构方式,系统设计了管理员、用户两种角色,管理员实现了用户登录、管理员管理、在线学习管理、竞赛论坛管理、赛事信息管理、用户管理、测卷管理、测评管理等功能模块;用户实现了登录、注册、在线学习、测评、赛事报名等功能模块。

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3

服务端技术:Springboot+Mybatis-Plus

前端技术:html+css+Layui+jQuery+bootstrap+Vue+axios+Element-UI

成果展示

文档展示

管理端

登录

管理员管理

在线学习管理

用户管理

测卷管理

试题管理

编辑试题

用户端

首页

登录

在线学习

试卷测试

赛事信息

个人中心

测试记录

源码展示

复制代码
@RequestMapping("users")
@RestController
publicclass UsersController {

@Autowired
private UsersService usersService;

@Autowired
private TokenService tokenService;

/**
  * 登录
  */
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
  UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
   return R.error("账号或密码不正确");
  }
  String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
  R r = R.ok();
  r.put("token", token);
  r.put("role",user.getRole());
  r.put("userId",user.getId());
return r;
 }

/**
  * 注册
  */
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
     if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        usersService.insert(user);
        return R.ok();
    }

/**
  * 退出
  */
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
  request.getSession().invalidate();
return R.ok("退出成功");
 }

/**
     * 密码重置
     */
    @IgnoreAuth
@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        usersService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
}

账号地址及其他说明

1、地址说明

管理员登录页:http://localhost:8081/

用户首页:http://localhost:8080/xinxijishuzhishisai/front/index.html

2、账号说明

管理员:admin/admin

用户:自行注册

3、目录结构展示

4、项目结构展示

5、以上系统源码,经过博主整理与调试,确保能正常运行!

6、制作不易,点赞、在看、分享再走吧,您的支持永远是我最大的动力!

7、运行步骤

复制代码
1、创建数据库、导入sql脚本
2、修改application.yml中的数据库配置文件,启动服务端
3、在源代码\admin目录下打开cmd,执行npm install或者yarn install下载依赖
4、下载完毕后启动前端npm run serve,访问端口
相关推荐
Carsene1 小时前
AutoScan:Spring Boot 项目底座跨包扫描的终极解决方案
spring boot
yhyyht1 小时前
Maven命令学习记录(一)
后端
Soofjan2 小时前
Go channel源码
后端
Soofjan2 小时前
channel
后端
历程里程碑2 小时前
44. TCP -23Linux聊天室实现命令符功能
java·linux·开发语言·数据结构·c++·排序算法·tcp
丶小鱼丶2 小时前
数据结构和算法之【二叉树】
java·数据结构·算法
SimonKing2 小时前
OpenClaw,再见!
java·后端·程序员
softbangong2 小时前
829-批量提取各子文件夹下文件到一级目录
java·服务器·前端·自动化工具·批量文件处理·文件提取工具·文件夹整理
魑-魅-魍-魉2 小时前
Maven 构建报错:无法连接私有仓库及依赖传输失败
java·maven