\n 文末获取源码联系
感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询
系统介绍:
随着移动应用技术的发展,越来越多的学生借助于移动手机、电脑完成生活中的事务,许多的传统行业也更加重视与互联网的结合,由于学生学习的压力越来越大,教学辅助是一个非常不错的教育平台,对于很多冲冲刺时间紧的学生是一个非常头痛的事情,有的人可能就是查找资料也要用去半天时间,教学辅助微信小程序为了缓解学生解决问题的所在,本论文探讨利用不断发展和进步的网络技术,实现线上考试、成绩查询等主要功能模块的具体实现,最后对教学辅助进行了功能测试,并对测试结果进行了分析总结,得出教学辅助存在的不足及需要改进的地方,为以后的教学辅助维护提供了方便,同时也为今后开发类似教学辅助提供了借鉴和帮助。
教学辅助开发使系统能够更加方便快捷,同时也促使教学辅助变的更加系统化、有序化。系统界面较友好,易于操作。具体在系统设计上,客户端使用微信开发者,后台也使用 java 技术在动态页面上进行了设计,Mysql 数据库,是一个非常优秀的教学辅助微信小程序
管理员结构图,如图 4-4 所示:
图 4-4:管理员结构图
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
程序操作流程图
功能截图:
5.1 教师微信端功能模块
教师注册,在教师注册页面可以填写工号、教师姓名、性别、学院、职称、电话等信息,进行注册如图 5-1 所示。
图 5-1 教师注册界面图
教师登录,在教师登录页面填写账号、密码进行登录,,如图 5-2 所示。
图 5-2 教师登录界面图
首页、教师登录到教学辅助小程序可以查看首页、课程信息、我的等内容,如图 5-3 所示。
图 5-3 教师首页功能界面图
我的,教师在我的页面可以查看用户信息、课程信息、课程表、成绩信息、预警信息、请假信息、考勤信息等信息进行查看,如图 5-4 所示。
图 5-4 我的界面图
教师信息,在教师信息页面可以编辑工号、教师姓名、性别、头像、学院、职称、电话 等信息,并可根据需要进行添加、删除、修改进行保存,如图 5-5 所示。
图 5-5 教师信息界面图
课程信息,教师在课程信息页面可以查看各课程信息,并可根据需要对课程信息进行搜索、新增,如图 5-6 所示。
图 5-6 课程信息界面图
课程表,教师在课程表页面可以进行新增编号、班级、学号、学生姓名、课程一等等进行添加、修改、删除操作,如图 5-7 所示。
图 5-7 课程表界面图
5.2 学生微信端功能模块
学生登陆,在学生登陆页面填写学号、密码进行登陆,如图 5-8 所示。
图 5-8 学生登陆界面图
首页,学生通过登陆进入教学辅助界面查看首页、课程信息、我的等信息,如图 5-9 所示。
图 5-9 首页界面图
我的,学生在我的页面可以查看课程表、成绩信息、预警信息、请假信息、考勤信息、我的收藏管理等信息,如图 5-10 所示。
图 5-10 我的界面图
学生信息,学生在个人信息页面可以查看学号、学生姓名、性别、头像、手机、学院、专业等信息进行添加、修改、删除保存操作,如图 5-11 所示。
图 5-11 我的界面图
课程表,学生通过页面查看课程表信息如图 5-12 所示。
图 5-12 学生信息界面图
请假信息,学生通过请假信息页面进行添加请假内容,需要教师进行审核,如图 5-13 所示。
图 5-13 请假信息界面图
课程信息,学生通过课程信息页面可进行搜索、收藏操作,如图 5-14 所示。
图 5-14 课程信息界面图
5.2 管理员服务端功能界面
管理员通过填写账号、密码、角色进行登录如图 5-15 所示。
图 5.15 管理员登录界面图
管理员进入到首页界面进行查看首页、个人中心、学生管理、教师管理、课程类型管理、课程信息管理、课程表管理、成绩信息管理、预警信息管理、请假信息管理、考勤信息管理、系统管理等功能模块,如图 5-16 所示。管理员对个人中心进行操作填写原密码、新密码、确认密码并进行添加、删除、修改以及查看,程序成效图如下图 5-17 所示
图 5.16 首页界面图
图 5-17 密码修改界面图
学生管理,管理员在学生管理查看编辑学号、学生姓名、性别、头像、手机、学院、专业等进行详情、修改、删除操作如图 5-18 所示。
图 5-18 学生管理界面图
教师管理,管理员在教师管理查看编辑工号、教师姓名、性别、头像、学院、职称、电话 等进行详情、修改、删除操作如图 5-19 所示。
图 5-19 教师管理界面图
课程信息管理,管理员在课程信息查看课程名称、课程类型、图片、班级、课程视频、发布日期、工号、教师姓名等进行详情、修改、删除操作如图 5-20 所示。
图 5-20 课程信息界面图
预警信息管理,管理员在预警信息页面查看学生成绩信息等,可进行详情、修改、删除操作如图 5-21 所示。
图 521 预警信息界面图
请假信息管理,管理员在请假信息页面进行查看请假信息等,可进行审核、详情、修改、删除操作如图 5-22 所示。
图 5-22 请假信息管理界面图
系统管理,管理员通过系统管理页面查看公告信息等进行公告发布进行添加、删除、修改以及查看并对整个系统进行维护等操作,如图 5-23 所示。
图 5-23 系统管理如图所示。
代码实现:
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String role, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user != null){
if(!user.getRole().equals(role)){
return R.error("权限不正常");
}
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);
}else{
return R.error("账号或密码或权限不对");
}
}
/**
* 注册
*/
@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();
}
/**
* 退出
*/
@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){
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("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@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();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
复制代码
论文参考:
*
开源地址:可以——【戳一戳】即可免费获取!
评论