案例063:基于微信小程序的传染病防控宣传系统

文末获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

目录

前言

系统展示

管理员功能实现

防控知识管理

捐赠信息管理

健康上报管理

医院信息管理

通知公告

用户功能实现

防控知识

医疗捐赠

捐赠信息

健康上报

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软件都转向微信小程序。本次课题就运用了微信小程序技术开发一个传染病防控宣传系统。

本次使用数据库工具MySQL以及微信开发者工具开发的传染病防控宣传系统,可以实现目标用户群需要的功能,其中管理员审核用户上报的健康信息,管理防控知识,管理医院,管理捐赠信息。用户查看防控知识,查看医院信息,可以参与医疗捐赠,可以登记健康上报信息。

总之,传染病防控宣传系统可以更加方便管理人员管理传染病防控宣传信息,也方便用户查看防控知识,参与医疗捐赠,登记健康上报信息。


系统展示

管理员功能实现

防控知识管理

管理防控知识是管理员的功能。其运行效果图如下。管理员新增防控知识,预览防控知识的视频,查看防控知识的相关评论信息,可以删除指定的防控知识信息。

捐赠信息管理

管理捐赠信息是管理员的功能。其运行效果图如下。管理员查看用户捐赠的金额信息,可以查询用户捐赠信息,修改用户捐赠信息,删除用户捐赠信息。

健康上报管理

管理用户的健康上报信息是管理员的功能。其运行效果图如下。管理员查看用户上报的健康信息,审核健康上报信息,可以提交用户姓名查询用户上报的健康信息。

医院信息管理

管理医院信息是管理员的功能。其运行效果图如下。管理员修改或删除医院信息,新增医院信息,提交医院名称可以查询医院信息。

通知公告

管理通知公告是管理员的功能。其运行效果图如下。管理员负责发布通知公告,修改或删除通知公告。

用户功能实现

防控知识

用户查看防控知识。其运行效果图如下。用户查看防控知识的介绍以及视频,可以收藏防控知识,可以在页面底部评论防控知识。

医疗捐赠

用户可以查看医疗捐赠信息。其运行效果图如下。用户点击捐赠按钮可以捐赠一定数量的金额。

捐赠信息

用户可以查看捐赠信息。其运行效果图如下。用户在本页面查看自己打算捐赠的金额信息,并点击支付按钮进行金额支付。

健康上报

用户可以管理健康上报信息。其运行效果图如下。用户在本页面新增健康信息,可以对登记的健康信息进行修改,可以删除登记的健康信息。


代码实现

登录功能实现代码

java 复制代码
@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);
	}

注册功能实现代码

java 复制代码
@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();
    }

密码重置功能实现代码

java 复制代码
@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");
    }

修改信息功能实现代码

java 复制代码
 @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();
    }

删除信息功能实现代码

java 复制代码
@RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

保存信息功能实现代码

java 复制代码
@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();
    }
相关推荐
莫陌尛.6 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
盟道科技9 小时前
消息队列消费端幂等性实战:订单场景下重复消息不重复扣款的完整方案
小程序
毕业设计7039 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
泡泡鱼(敲代码中)12 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql
冰暮流星13 小时前
mysql之表子查询
数据库·mysql
2601_9499506313 小时前
个人在线刷题的工具
学习·考研·小程序·刷题·小程序推荐
这个DBA有点耶14 小时前
MySQL大表DDL锁表锁到崩溃?Online DDL的3个关键参数和实战避坑
数据库·mysql·架构
庆登登登20 小时前
MySQL Workbench 鸿蒙 PC 适配全记录:从 GTK_X11 桌面程序到 ArkUI 原生数据库工作台
数据库·mysql·harmonyos
行者全栈架构师21 小时前
WorkBuddy 实战:50 份简历 30 分钟筛完,还能自动出评估报告
人工智能·算法·微信
黑色的白兔No11 天前
deepin 25安装mysql
数据库·mysql·debian