文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
随着课程的增多,学生的选择性越来越大。现在大多数学校选课的方式采用学生上报给老师,老师负责整理。这种方式效率低、灵活性低,每门课程的选报人数有限就给老师的统计整理工作造成困难。目前,网络发展成熟,各类管理系统层出不穷,如果可以有专业的管理系统提供网上选课,则可以帮助老师和学生。
本基于SpringBoot+Vue选课系统采用小程序技术进行设计,语言采用JAVA,数据库为MySQL。在技术中加入Vue,使界面更加丰富、友好。本系统针对学生选择课程而开发,使用角色为管理员和学生、老师。学生可以通过登录在界面里浏览课程进行选择和退课、查询教学视频、帖子等。管理员可以管理学生信息、课程信息、教师信息、论坛交流信息、学生选课信息、退课信息等。教师可以管理教学视频、课程信息和管理学生的选课、退课、留言咨询等。在本系统中,学生可以详细了解课程的内容、负责老师,灵活性强,对学生的选课帮助非常大。
系统展示
用户登录界面的实现
本功能设计的目的是帮助系统检验身份,保证系统的安全。在用户登录功能界面里的元素包括按钮、列表框、文字、图片等。用户输入框、密码输入框、权限列表框都居左展示。用户登录界面的实现界面如下图5.1所示:
个人中心管理功能的实现界面
在个人中心管理功能里,管理员可以修改个人资料和修改当前登录的登录密码。修改个人信息功能的实现界面如下图5.2所示:
修改密码的实现界面如下图5.3所示:
课程信息管理功能的实现界面
管理员登录后在课程信息管理功能里可以发布新的课程和删除不使用的课程以及修改错误的课程,管理员添加课程信息的实现界面如下图5.4所示:
教师信息管理功能的实现界面
管理员在本功能里可以添加教师资料,可以为教师分配账号和密码,帮助教师使用本系统,当教师辞职后管理员可以及时的删除教师信息防止系统内容的外泄。管理员查询教师信息功能的实现界面如下图5.5所示:
科目名称管理功能的实现界面
科目名称管理功能里可以看到科目的编号和标题,点击添加科目名称信息可以进入添加界面里实现科目名称的更新。管理员查询科目名称信息功能的实现界面如下图5.6所示:
学生信息管理功能的实现界面
管理员可以添加学生信息和查询学生信息,学生信息添加后,学生可以自己修改自己的资料。管理员查询学生信息功能的实现界面如下图5.7所示:
论坛交流管理功能的实现界面
管理员也可以对论坛交流进行修改和删除以此来审核学生的帖子。管理员查询论坛交流信息功能的实现界面如下图5.8所示:
教学视频管理功能的实现界面
管理员可以查询教师设置的教学视频,并可以进行修改和添加、删除。管理员查询教学视频功能的实现界面如下图5.9所示:
学生选课管理功能的实现界面
管理员也可以查询学生的选课详情并进行修改和删除、查询。学生选课功能的实现界面如下图5.10所示:
学生退课管理功能的实现界面
本功能属于选课管理的一部分,管理员可以查询学生的退课信息并进行分析。学生退课管理功能的实现界面如下图5.11所示:
留言咨询管理功能的实现界面
本功能实现学生问题的解答。管理员可以审核学生的留言咨询。实现界面如下图5.12所示:
系统管理功能的实现
系统管理包括设置公告和轮播图。系统管理的实现界面如下图5.13所示:
个人资料管理功能的实现界面
学生可以修改自己的个人资料使其保证正确性。学生修改个人资料管理功能的实现界面如下图5.14所示:
在线选课功能的实现界面
在本功能里,学生可以查询课程信息,可以看到课程的所负责老师和学分等信息,然后可以进行选择。选课管理功能的实现界面如下图5.15所示:
留言咨询功能的实现界面
学生可以向教师咨询问题。留言咨询功能的实现界面如下图5.16所示:
论坛交流管理功能的实现界面
学生可以发布帖子和管理自己发布的帖子。实现界面如下图5.17所示:
教学视频管理功能的实现界面
学生可以查看视频信息并进行收藏、评论、咨询。实现界面如下图5.18所示:
学生退课功能的实现
发现选择的课程不适合时也可以退课。在线退课功能的实现界面如下图5.19所示:
教师功能的详细实现界面
教师的主要功能为审核学生的选课、退课以及发布教学视频等。教师功能的实现界面如下图5.20所示:
代码实现
登录功能实现代码
@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();
}