一、项目背景与意义
随着人们生活水平的提高和健康意识的增强,越来越多的人开始关注自己的运动健康状况。然而,传统的运动管理方式存在诸多不便,如记录不准确、计划不合理、缺乏专业指导等。因此,开发一个基于Spring Boot的微信小程序个人运动健康管理平台,能够打破传统运动管理的局限,让用户随时随地记录运动数据、获取专业运动建议、追踪健康指标,从而激发运动积极性,助力养成良好运动习惯,提升全民健康水平。
二、技术实现
后端开发:采用Spring Boot框架作为后端开发的核心。Spring Boot以其轻量级、快速启动和强大的集成能力,成为构建现代企业级应用的首选框架。该平台通过Spring Boot实现了与数据库的交互、业务逻辑的处理以及接口的设计等功能。
前端开发:使用微信小程序开发框架进行前端开发。微信小程序具有便捷的移动端入口和丰富的交互功能,能够为用户提供良好的使用体验。该平台通过微信小程序实现了用户信息的授权获取、运动数据的实时记录与展示、个性化运动计划的制定与调整等功能。
数据库管理:选用MySQL作为数据库管理系统。MySQL是一种关系型的数据库管理系统,具有运行速度快、适用范围广泛、安全性高等优点。该平台通过MySQL实现了用户数据的存储、查询与更新等功能。
部分代码
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
效果图
三、平台功能
用户注册与登录:用户可以通过微信小程序进行注册与登录,授权获取微信头像、昵称等基本信息。登录后,用户可以进一步完善个人资料,包括年龄、性别、身高、体重等,为后续个性化运动方案制定提供精准依据。
运动数据记录与展示:平台支持多种运动模式的数据采集,如户外跑步、室内健身、骑行等。通过手机传感器(如加速度计、陀螺仪等)自动识别运动状态,实时记录运动轨迹、运动时长、消耗卡路里等关键数据,并以直观图表形式展示运动历史记录。
个性化运动计划制定与调整:根据用户输入的个人信息与运动目标,系统运用智能算法生成专属运动计划。计划详细到每周运动天数、每次运动项目、强度、时长及休息间隔。同时,平台还会依据用户运动进展与身体适应情况动态调整运动计划,确保计划始终贴合个人需求。
健康饮食方案推荐:结合用户运动目标与身体状况,平台推送适配的健康饮食方案。每日推荐食谱涵盖营养均衡的三餐搭配,注明食材种类、用量、烹饪方式。同时提供食物热量查询功能,帮助用户精准把控饮食摄入。
运动社区互动:打造活跃的运动社区,用户可发布运动打卡动态、分享运动心得与经验。与其他运动爱好者互动点赞、评论交流,形成良好的运动氛围。
运动提醒与奖励机制:用户设定每日运动时间或任务目标后,平台按时推送提醒通知。当用户完成阶段性运动目标或取得运动突破时,系统自动发放虚拟徽章、积分等奖励。积分可兑换运动装备优惠券、健康课程等福利。
四、平台优势
个性化与智能化:平台通过智能算法为用户生成专属运动计划,并根据用户运动进展与身体适应情况动态调整。同时,结合用户运动目标与身体状况推荐适配的健康饮食方案。
便捷性与易用性:微信小程序作为移动端入口,具有便捷性和易用性。用户可以随时随地记录运动数据、查看运动计划与健康饮食方案。
数据安全与隐私保护:平台采用身份验证和授权机制确保用户数据安全。同时,对运动社区帖子、健康饮食资料等内容进行审核管理,确保信息真实可靠。
综上所述,基于Spring Boot的微信小程序个人运动健康管理平台是一个集个性化、智能化、便捷性于一体的综合性运动健康管理平台。它能够满足用户对运动数据记录、个性化运动计划制定与健康饮食方案推荐等方面的需求,同时提供活跃的运动社区互动与奖励机制激发用户运动积极性。