文末获取源码
开发语言:Java
框架:Spring Boot
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
框架:uniapp
开发软件:HBuilder X
目录
前言
近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,记录生活信息利用计算机网络实现信息化管理,使整个记录生活管理的发展和服务水平有显著提升。
本文拟采用Android平台进行开发,使用java技术和Springboot 搭建系统框架,后台使用MySQL数据库进行信息管理,设计开发的记录生活APP。通过调研和分析,系统拥有管理员和用户两个角色,主要具备登录注册,个人信息修改,用户管理,运动项目管理,食物类型管理,新闻资讯管理,食品分析管理,套餐推荐管理,食品信息管理,饭点时间管理,每日运动管理,运动推荐管理,记录本管理,肥胖分析管理,系统管理等功能模块。将纸质管理有效实现为在线管理,极大提高工作效率。
系统展示
首先双击打开app客户端,连上网络之后会显示出本系统的登录界面,这是进入app的初始页面“登录”,能成功进入到该登录界面则代表app的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。
app首页是用户注册登录后进入的第一个界面,用户可通过app端首页导航栏进入到相应的网页查看信息展示信息进行详细操作。app首页界面如图5-2所示。
套餐推荐:在套餐推荐页面可以查看到套餐名称,食物类型,热量,点击次数,套餐搭配和套餐简述等详情信息。套餐推荐详情如图5-3所示。
食品信息:在食品信息页面可以查看到食品名称,食品类型,食品热量,食品品牌,食品搭配等详情信息。食品信息详情如图5-4所示。
用户登录成功后,点击“我的”进入用户功能页面,可以对个人中心,每日运动,记录本,我的收藏管理等进行详细操作。用户功能界面如图5-5所示。
后台管理员登录,在登录页面正确输入账号和密码后,进入操作系统进行操作;如图5-6所示。
管理员进入主页面,主要功能包括对个人中心,用户管理,运动项目管理,食物类型管理,新闻资讯管理,食品分析管理,套餐推荐管理,食品信息管理,饭点时间管理,每日运动管理,运动推荐管理,记录本管理,肥胖分析管理,系统管理等进行操作。管理员主页面如图5-7所示:
管理员点击食品分析管理。在食品分析页面输入食物名称和选择食物类型进行查询、新增或删除食品分析列表,并根据需要对食品分析详情信息进行详情、修改或删除操作;如图5-8所示:
管理员点击饭点时间管理。在饭点时间页面输入食物名称进行查询,新增或删除饭点时间列表,并根据需要对饭点时间详情信息进行详情、修改或删除操作;如图5-9所示:
管理员点击运动推荐管理。在运动推荐页面输入选择运动项目和选择运动类型进行查询,新增或删除运动推荐列表,并根据需要对运动推荐详情信息进行详情、修改或删除操作;如图5-10所示:
管理员点击肥胖分析管理。在肥胖分析页面输入身高和体重进行查询,新增或删除肥胖分析列表,并根据需要对肥胖分析详情信息进行详情、修改或删除操作;如图5-11所示:
代码实现
登录功能实现代码
@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();
}