文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
进入21世纪网络和计算机技术得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使微信小程序的发展。微信小程序可以实现远程处理事务,远程提交请求和随时追踪结果。微信小程序给人们带来前所未有的体验,满足了新时代人们的需求,所以微信小程序模式得到大力发展。
本系统为基于微信平台健身小助手小程序,是采用微信和网络技术进行开发的健身相关的平台,可以实现浏览健身视频、预约健身项目、论坛交流等功能。本系统采用JAVA语言,数据库为Mysql,运行环境为微信开发者工具。使用角色分为用户、管理员、健身房,本系统的功能包括健身视频、健身项目、论坛、用户注册、用户登录等。其中,用户负责浏览信息、预约项目、发布帖子、健身打卡、预约管理、每日热量管理等,健身房可以发布项目、发布健身视频、管理预约等,管理员可以审核用户信息、健身房信息、健身视频信息、健身项目信息、论坛信息等。本系统实现了健身项目的在线预约,方便了用户和管理员、健身房三方的利益,提高健身的效率,更符合现代人生活。
系统展示
用户注册功能的界面实现
用户和健身房都需要先进行注册,注册成功后才可以登录。在注册界面里需要填写密码和账号名。用户注册界面和健身房的注册界面分开。用户注册运行界面如下图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所示:
每日热量管理功能的实现界面
管理员可以查询用户的每日热量。实现界面如下图4-14所示:
用户角色功能的界面实现
预约健身项目功能的界面实现
用户的功能主要为预约健身项目和预约管理、健身打卡、每日热量管理等。预约健身项目功能的运行界面如下图4-15所示:
预约管理功能的实现界面
用户可以在预约信息里查看具体的预约时间等信息。预约管理功能的运行界面如下图4-16所示:
我的功能的实现界面
在我的功能里,用户可以进行相关操作,包括管理个人信息、预约信息、打卡信息、帖子信息等。我的功能的实现界面如下图4-17所示:
论坛功能的实现界面
用户可以发布帖子实现交流,发布帖子功能的实现界面如下图4-18所示:
健身房角色功能的界面实现
健身项目信息管理功能的界面实现
健身房可以发布新的健身项目,发布后的健身项目可以在首页进行展示。发布新的健身项目信息的实现界面如下图4-19所示:
健身房我的功能的实现界面
健身房我的功能里可以管理健身项目信息、预约信息、帖子信息。健身房我的功能的实现界面如下图4-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();
}