文末获取源码
开发语言:Java
框架:springboot
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
随着科技和网络的进步,计算机技术与网络、生活贴和的更加紧密。需要依靠客户端的单机系统逐渐被淘汰,利用互联网可以处理大量数据的新型系统如雨后春笋般迅速发展起来。这类系统和信息化时代的同步发展对传统的办公管理方式造成了很大的压力。当今时代,信息数据是一切的根本,是基础,想要做出决策都需要充分考虑数据,可见信息的重要性。然而传统的办公管理方式对于信息的操控越来越艰难。如何才可以改变局面,使信息数据重新为用户服务,体现价值是现在所有行业所面临的重要问题。
本基于微信小程序的刷题系统正是采用微信小程序和网络设计的新型系统,可以有效的把试题信息与网络相结合,为用户提供学习帮助和管理需求。本系统采用mysql数据库存储数据,兼容性更强,可跨越多种平台。主要设计的内容包括试卷信息、试题信息、知识点信息,用户可以在线进行考试、查看成绩、刷题。管理员在系统中可以更新试卷、试题信息,管理用户的资料信息和知识点信息、科目类型信息。本系统是社会发展的必然产物,可以为用户提供更为高效的管理以及辅助,同时也可以改变刷题的方式,达到提高成绩的目的。
系统展示
登录功能模块的实现
登录功能包括用户登录和管理员登录,在登录界面设计中包括用户名和密码、身份的检验。用户名和密码、身份的检验过程由数据库自动完成,此过程需要1秒左右。首先由用户填写账号和密码,然后选择身份,最后点击登录系统,数据库自行对用户名和密码进行对比,所填写数据正确方能进行登录,所填写数据错误则需要返回登录界面重新登录。用户登录界面的设计运行界面效果如下图4.1所示:
知识点管理功能界面的实现
知识点信息管理是最基本的功能,管理员可以对知识点进行添加和修改。在本界面里可以看到文字信息、图片信息等。知识点信息管理界面的运行效果界面如下图4.2所示:
密码信息管理模块实现
密码信息管理是对用户的登录密码进行修改,可以防止密码的外泄,此功能非常的实用,也是一个系统必备的功能之一,密码信息管理功能的界面实现效果如下图4.3所示:
用户信息管理功能的实现
用户管理功能分为管理员管理用户信息和用户管理自己的信息两种,管理员可以看到用户的账号、真实姓名等信息,可以删除用户的账号信息。用户信息管理功能的界面实现效果如下图4.4所示:
试题信息管理功能的实现
系统里展示的试题信息包括判断题、选择题、填空题,管理员可以上新试题信息,也可以修改试题信息,当试题信息被淘汰时也可以直接进行删除,试题信息管理功能的界面实现效果如下图4.5所示:
管理员添加试题信息的效果图如下图4.6所示:
考试管理功能的界面设计实现
考试管理功能为考试记录、错题本和试卷列表的管理。本功能与用户我的功能一样。考试信息管理功能的界面实现效果如下图4.7所示:
试卷信息管理功能的界面设计实现
本功能与试题信息功能一致,是对试卷生成的管理,管理员查询试卷信息的实现界面如下图4.8所示:
科目类型管理功能的界面实现
管理员可以设置科目的类型,方便用户的学习。科目类型添加的界面实现如下图4.9所示:
用户首页功能的实现
本功能为用户的功能,可以在首页里看到知识点信息,可以收藏知识点和评论。首页功能的实现界面如下图4.10所示:
前台展示知识点详情功能的实现
用户可以了解具体的知识点详情,在本界面里可以收藏知识点和评论知识点。知识点详情的实现界面如下图4.11所示:
在线考试功能的实现
用户可以实现在线考试,实现界面如下图4.12所示:
用户错题本功能实现界面
用户在考试后对做错的题目可以显示在错题本里。错题本功能的实现界面如下图4.13所示:
代码实现
登录功能实现代码
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
注册功能实现代码
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
密码重置功能实现代码
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
修改信息功能实现代码
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
删除信息功能实现代码
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
保存信息功能实现代码
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}