首页 > 编程语言 >springboot+uinapp基于微信小程序个人健康管理小程序的设计与实现

springboot+uinapp基于微信小程序个人健康管理小程序的设计与实现

时间:2024-10-20 11:18:39浏览次数:8  
标签:COMMENT 11 springboot forum -- 微信 程序 24 NULL

文章目录


前言

文章底部名片,获取项目的完整演示视频,免费解答技术疑问

项目介绍

  当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统个人健康管理采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于个人健康管理中会形成众多的个人文档和信息系统数据,通过人工方法对运动记录、饮食记录、体检报告、健康分析等进行集中管理会形成检索、更改和维护等较为麻烦的管理问题,同时由于广大用户对网络技术的需求也日益高涨,于是信息技术也需要继续开展全新的改革以满足时代的需求。根据此问题,研发一套个人健康管理小程序,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便微信小程序的管理运用,从而减少信息管理成本,提高效率。
该个人健康管理小程序采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。该微信小程序主要设计并完成了管理过程中的用户注册登录、个人信息修改、知识科普、抑郁测试、树洞等功能。该微信小程序操作简便,界面设计简洁,不但可以基本满足本行业的日常管理工作,同时又可以有效减少人员成本和时间成本,为个人健康管理工作提供了方便。

技术介绍

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven

安卓框架:uniapp
安卓开发软件:HBuilder X
开发模式:混合开发

功能介绍

个人健康管理小程序综合网络空间开发设计要求。目的是将个人健康管理通过网络平台将传统管理方式转换为在网上操作,方便快捷、安全性高、交易规范做了保障,目标明确。个人健康管理小程序可以将功能划分为用户和管理员功能[10]。
(1)、用户关键功能包含用户注册登陆、知识科普、抑郁测试、树洞、我的等有关功能

个人健康管理小程序根据权限类型进行分类,主要可分为用户微信端和管理员服务端二大模块。用户微信端模块主要实现了修改个人信息,查看知识科普、抑郁测试、树洞等操作,加强了用户的操作体验。管理员服务端模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范[11]。系统总体模块设计如下图所示:
在这里插入图片描述

图4-1 系统总体模块设计

核心代码


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();
    }
}


数据库参考


--
-- Current Database: `springboota5c38vk1`
--

/*!40000 DROP DATABASE IF EXISTS `springboota5c38vk1`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboota5c38vk1` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springboota5c38vk1`;

--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `config`
--

LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `discusszhishikepu`
--

DROP TABLE IF EXISTS `discusszhishikepu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discusszhishikepu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `refid` bigint(20) NOT NULL COMMENT '关联表id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `avatarurl` longtext COMMENT '头像',
  `nickname` varchar(200) DEFAULT NULL COMMENT '用户名',
  `content` longtext NOT NULL COMMENT '评论内容',
  `reply` longtext COMMENT '回复内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='知识科普评论表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `discusszhishikepu`
--

LOCK TABLES `discusszhishikepu` WRITE;
/*!40000 ALTER TABLE `discusszhishikepu` DISABLE KEYS */;
INSERT INTO `discusszhishikepu` VALUES (1,'2023-11-24 07:55:33',49,1700812502609,'upload/1700812497123.jpeg','001','用户可以对知识科普进行评论回复','');
/*!40000 ALTER TABLE `discusszhishikepu` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `forum`
--

DROP TABLE IF EXISTS `forum`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `forum` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) DEFAULT NULL COMMENT '帖子标题',
  `content` longtext NOT NULL COMMENT '帖子内容',
  `parentid` bigint(20) DEFAULT NULL COMMENT '父节点id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(200) DEFAULT NULL COMMENT '用户名',
  `avatarurl` longtext COMMENT '头像',
  `isdone` varchar(200) DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8 COMMENT='树洞';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `forum`
--

LOCK TABLES `forum` WRITE;
/*!40000 ALTER TABLE `forum` DISABLE KEYS */;
INSERT INTO `forum` VALUES (81,'2023-11-24 07:46:54','帖子标题1','帖子内容1',0,1,'用户名1','upload/forum_avatarurl1.jpg,upload/forum_avatarurl2.jpg,upload/forum_avatarurl3.jpg','开放'),(82,'2023-11-24 07:46:54','帖子标题2','帖子内容2',0,2,'用户名2','upload/forum_avatarurl2.jpg,upload/forum_avatarurl3.jpg,upload/forum_avatarurl4.jpg','开放'),(83,'2023-11-24 07:46:54','帖子标题3','帖子内容3',0,3,'用户名3','upload/forum_avatarurl3.jpg,upload/forum_avatarurl4.jpg,upload/forum_avatarurl5.jpg','开放'),(84,'2023-11-24 07:46:54','帖子标题4','帖子内容4',0,4,'用户名4','upload/forum_avatarurl4.jpg,upload/forum_avatarurl5.jpg,upload/forum_avatarurl6.jpg','开放'),(85,'2023-11-24 07:46:54','帖子标题5','帖子内容5',0,5,'用户名5','upload/forum_avatarurl5.jpg,upload/forum_avatarurl6.jpg,upload/forum_avatarurl7.jpg','开放'),(86,'2023-11-24 07:46:54','帖子标题6','帖子内容6',0,6,'用户名6','upload/forum_avatarurl6.jpg,upload/forum_avatarurl7.jpg,upload/forum_avatarurl8.jpg','开放'),(87,'2023-11-24 07:46:54','帖子标题7','帖子内容7',0,7,'用户名7','upload/forum_avatarurl7.jpg,upload/forum_avatarurl8.jpg,upload/forum_avatarurl9.jpg','开放'),(88,'2023-11-24 07:46:54','帖子标题8','帖子内容8',0,8,'用户名8','upload/forum_avatarurl8.jpg,upload/forum_avatarurl9.jpg,upload/forum_avatarurl10.jpg','开放'),(89,'2023-11-24 07:57:28','树洞交流','<p>输入论坛内容</p>',0,1700812502609,'001',NULL,'开放'),(90,'2023-11-24 07:57:38',NULL,'<p>其他用户评论交流adw</p>',89,1700812502609,'001','upload/1700812497123.jpeg',NULL);
/*!40000 ALTER TABLE `forum` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `jiankangfenxi`
--

DROP TABLE IF EXISTS `jiankangfenxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jiankangfenxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `yonghuzhanghao` varchar(200) NOT NULL COMMENT '用户账号',
  `yonghuxingming` varchar(200) DEFAULT NULL COMMENT '用户姓名',
  `jiankangqingkuang` varchar(200) NOT NULL COMMENT '健康情况',
  `fenxishijian` datetime DEFAULT NULL COMMENT '分析时间',
  `jiankangfenxi` longtext NOT NULL COMMENT '健康分析',
  `userid` bigint(20) DEFAULT NULL COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COMMENT='健康分析';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `jiankangfenxi`
--

LOCK TABLES `jiankangfenxi` WRITE;
/*!40000 ALTER TABLE `jiankangfenxi` DISABLE KEYS */;
INSERT INTO `jiankangfenxi` VALUES (61,'2023-11-24 07:46:54','用户账号1','用户姓名1','优','2023-11-24 15:46:54','健康分析1',1),(62,'2023-11-24 07:46:54','用户账号2','用户姓名2','优','2023-11-24 15:46:54','健康分析2',2),(63,'2023-11-24 07:46:54','用户账号3','用户姓名3','优','2023-11-24 15:46:54','健康分析3',3),(64,'2023-11-24 07:46:54','用户账号4','用户姓名4','优','2023-11-24 15:46:54','健康分析4',4),(65,'2023-11-24 07:46:54','用户账号5','用户姓名5','优','2023-11-24 15:46:54','健康分析5',5),(66,'2023-11-24 07:46:54','用户账号6','用户姓名6','优','2023-11-24 15:46:54','健康分析6',6),(67,'2023-11-24 07:46:54','用户账号7','用户姓名7','优','2023-11-24 15:46:54','健康分析7',7),(68,'2023-11-24 07:46:54','用户账号8','用户姓名8','优','2023-11-24 15:46:54','健康分析8',8),(69,'2023-11-24 07:52:24','用户账号1','用户姓名1','良','2023-11-24 15:51:59','<p>管理员根据用户上传的运动记录,饮食记录和体检报告分析用户的健康信息</p>',NULL);
/*!40000 ALTER TABLE `jiankangfenxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `storeup`
--

DROP TABLE IF EXISTS `storeup`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `storeup` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `refid` bigint(20) DEFAULT NULL COMMENT '商品id',
  `tablename` varchar(200) DEFAULT NULL COMMENT '表名',
  `name` varchar(200) NOT NULL COMMENT '名称',
  `picture` longtext NOT NULL COMMENT '图片',
  `type` varchar(200) DEFAULT '1' COMMENT '类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)',
  `inteltype` varchar(200) DEFAULT NULL COMMENT '推荐类型',
  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='收藏表';
/*!40101 SET character_set_client = @saved_cs_client */;


系统效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

文章目录

目 录
摘 要 I
Abstract II
1 概 述 1
1.1 课题研究背景 1
1.2 微信小程序意义介绍 1
1.3 国内外研究现状 1
2 系统开发环境及相关技术 2
2.1 系统开发环境 2
2.2 系统开发技术 2
2.2.1 Spring Boot框架介绍 3
2.2.2 Java介绍 3
2.2.3 MySQL数据库 4
2.2.4 VUE简介 4
2.2.5小微信公众号开发技术 4
3 系统需求分析 5
2.1 可行性分析 5
3.2 功能需求分析 5
3.3 系统流程分析 7
3.3.1 登录流程 7
3.3.2 添加信息流程 8
3.3.3 收藏信息流程 8
4 系统设计 10
4.1 功能模块设计 10
4.2 系统数据库设计 11
4.2.1 数据库系统 11
4.2.2 数据库概念设计 11
4.2.3 数据表设计 12
4.2.4 数据表的建立 12
5 系统实现 22
5.1用户微信端模块实现 22
5.2管理员服务端模块实现 26
6 系统测试 32
6.1软件测试过程 32
6.2测试用例 33
结 论 34
致 谢 35
参 考 文 献 36

标签:COMMENT,11,springboot,forum,--,微信,程序,24,NULL
From: https://blog.csdn.net/QQ2083558048/article/details/143090159

相关文章