案例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();
    }
相关推荐
李纲明8 小时前
微信小程序团课临开课才取消或空位没人补:先核取消时限与自动释放,再查候补确认与预扣回滚
微信小程序·devdiy·团课预约·取消时限·空位释放·候补确认·预扣回滚
Decay__10 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
小此方16 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
csdn_aspnet17 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
用户0341876713817 小时前
用秒哒做了个拍照识餐小程序,上线两周踩的 4 个坑
微信小程序
Dumbness18 小时前
关键词回复里写了 {订单号},群机器人整条消息都炸了
python·微信
王中阳Go18 小时前
100 件货卖出 116 件,库存停在 -16
后端·mysql·go
nice_lcj52020 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
李纲明20 小时前
微信小程序租赁归还说本来就坏或配件对不上:先核借还点验与随单存证,再查差异计价公示
微信小程序·devdiy·租赁点验·借还拍照·随单存证·差异计价·押金释放
xixingzhe221 小时前
mysql全量、增量备份
数据库·mysql