项目介绍
网络的广泛应用给生活带来了十分的便利。所以把学习记录与提醒应用管理与现在网络相结合,利用java技术建设学习记录与提醒应用app,实现学习记录与提醒应用的信息化。则对于进一步提高学习记录与提醒应用管理发展,丰富学习记录与提醒应用管理经验能起到不少的促进作用。 学习记录与提醒应用app能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知学习记录与提醒应用app的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于学习记录与提醒应用而言,若拥有自己的app,通过系统得到更好的管理,同时提升了形象。 本app设计的现状和趋势,从需求、结构、数据库等方面的设计到app的实现,分别为前后端实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本app根据现实情况来选择一种可行的开发方案,借助java编程语言和mysql数据库等实现app的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善app,最终app完成达到相关标准。
功能介绍
考虑到实际生活中在学习记录与提醒应用管理方面的需要以及对该系统认真的分析,将系统权限按管理员、教师和学生这三类涉及用户划分。 (1)学生功能需求 学生进入app可以实现首页、学习资料、作业信息、论坛、我的等,在我的页面可以对个人中心、学习记录、建议信息、学生作业、在线咨询、我的收藏管理、我要发帖、我的发帖等功能进行操作 (2)管理员功能需求 管理员登陆后,主要模块包括首页、个人中心、学生管理、教师管理、学习资料管理、类型管理、学习记录管理、建议信息管理、作业信息管理、学生作业管理、批改信息管理、在线咨询管理、回复信息管理、论坛管理、系统管理等功能。 (3)教师功能需求 教师登陆后,主要模块包括首页、个人中心、学习资料管理、学习记录管理、建议信息管理、作业信息管理、学生作业管理、批改信息管理、在线咨询管理、回复信息管理等功能。
开发环境
java计算机毕业设计基于安卓Android/微信小程序的学习记录与提醒应用系统APP 开发语言:Java+mysql+vue 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:ssm+vue 可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓/C#/NET均可开发
系统截图
注册登录
用户进入app,输入自己的账号和密码进行系统登录操作 学生注册,进入注册页面通过填写学号、密码、确认密码、姓名、性别、邮箱、手机号码等信息进行注册操作,如图
app首页界面图
学生登陆系统后,可以对首页、学习资料、作业信息、论坛、我的等内容进行详细操作,如图
学习资料
在学习资料页面可以查看资料名称、资料封面、类型、视频、重点难点、工号、教师姓名、发布日期、资料简介、资料内容等信息,可根据需要进行加入记录、建议和咨询操作,如图
作业信息
在作业信息页面可以查看作业名称、作业封面、类型、注意事项、工号、教师姓名、发布日期、作业内容等信息,并进行提交操作,如图
后台登录界面图
后台登录,管理员和教师通过输入用户名、密码,选择角色并点击登录进行系统登录操作,如图 管理员登陆系统后,可以查看首页、个人中心、学生管理、教师管理、学习资料管理、类型管理、学习记录管理、建议信息管理、作业信息管理、学生作业管理、批改信息管理、在线咨询管理、回复信息管理、论坛管理、系统管理等功能,还能对每个功能逐一进行相应操作,如图
学生管理
在学生管理页面可以对索引、个人账号、姓名、性别、邮箱、手机号码、相片等内容进行详情,修改或删除等操作,如图
学习记录管理
在学习记录管理页面可以对索引、资料名称、资料封面、类型、工号、教师姓名、开始时间、结束时间、学习时长、学号、姓名等内容进行详情,删除等操作,如图 目 录 III 第一章 概述 1 1.1 研究背景 1 1.2开发意义 1 1.3 研究现状 1 1.4 研究内容 2 第二章 开发技术介绍 1 2.1 系统开发平台 1 2.2 平台开发相关技术 1 2.2.1 Android技术 1 2.2.2 mysql数据库介绍 1 2.2.3 MySQL环境配置 2 2.2.4 B/S架构 3 2.2.5 SSM框架 3 第三章 系统分析 1 3.1 可行性分析 1 3.1.1 技术可行性 1 3.1.2 操作可行性 1 3.1.3经济可行性 1 3.2性能需求分析 1 3.3功能分析 2 第四章 系统设计 4 4.1功能结构 4 4.2 数据库设计 4 4.2.1 数据库E/R图 4 4.2.2 数据库表 5 第五章 系统功能实现 13 5.1 app端 13 5.2后台 15 5.2.1管理员 16 5.2.2教师 22 第六章 系统测试 23 7总结与心得体会 24 7.1 总结 24 7.2 心得体会 24 致 谢 1 参考文献 2
核心代码
@RestController
@RequestMapping("/xuesheng")
public class XueshengController {
@Autowired
private XueshengService xueshengService;
@Autowired
private TokenService tokenService;
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"xuesheng", "学生" );
return R.ok().put("token", token);
}
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody XueshengEntity xuesheng){
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", xuesheng.getXuehao()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
xuesheng.setId(uId);
xueshengService.insert(xuesheng);
return R.ok();
}
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
XueshengEntity user = xueshengService.selectById(id);
return R.ok().put("data", user);
}
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
XueshengEntity user = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xuehao", username));
if(user==null) {
return R.error("账号不存在");
}
user.setMima("123456");
xueshengService.updateById(user);
return R.ok("密码已重置为:123456");
}
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,XueshengEntity xuesheng,
HttpServletRequest request){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
return R.ok().put("data", page);
}
@RequestMapping("/lists")
public R list( XueshengEntity xuesheng){
EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng"));
return R.ok().put("data", xueshengService.selectListView(ew));
}
|