案例015:Java+SSM+uniapp基于微信小程序的校园防疫系统

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

学生前端功能模块

辅导员前端功能模块

院书记前端功能模块

分管院长前端功能模块

管理员后端功能界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。

本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对校园防疫微信小程序进行需求分析,得出校园防疫微信小程序主要功能。接着对校园防疫微信小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等;详细设计主要包括校园防疫微信小程序数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对校园防疫微信小程序进行了功能测试,并对测试结果进行了分析总结,得出校园防疫微信小程序存在的不足及需要改进的地方,为以后的校园防疫微信小程序维护提供了方便,同时也为今后开发类似校园防疫微信小程序提供了借鉴和帮助。

校园防疫微信小程序开发使系统能够更加方便快捷,同时也促使校园防疫微信小程序变的更加系统化、有序化。系统界面较友好,易于操作。


系统展示

学生前端功能模块

学生登录,在登录页面填写账号、密码进行登录

 学生登录到校园防疫微信小程序可以查看首页、公告栏、我的等内容

公告栏,在公告栏页面可以查看公告标题、公告类型、发布时间、封面等信息进行提交

 在假期去向页面可以查看学号、姓名、性别、专业、班级、年级、假期计划、计划离校时间、计划回校时间、交通工具、家庭地址等信息,并可根据需要进行提交

辅导员前端功能模块

辅导员登录,在登录页面填写账号、密码进行登录

 辅导员登录到校园防疫微信小程序可以查看首页、公告栏、我的等内容

在公告栏,在公告栏页面可以查看公告标题、公告类型、发布时间、封面、公告内容等信息进行提交

 在用户信息页面可以查看辅导员工号、辅导员姓名、性别、学院、电话、邮箱、照片等信息,并可根据需要进行保存、退出登录

院书记前端功能模块

院书记登录,在登录页面填写账号、密码进行登录

 院书记登录到校园防疫微信小程序可以查看首页、公告栏、我的等内容

在公告栏,在公告栏页面可以查看公告标题、公告类型、发布时间、封面、公告内容等信息进行提交

 在用户信息页面可以查看院书记工号、院书记姓名、性别、学院、电话、邮箱、照片等信息,并可根据需要进行保存、退出登录

分管院长前端功能模块

分管院长登录,在登录页面填写账号、密码进行登录

 分管院长登录到校园防疫微信小程序可以查看首页、公告栏、我的等内容

在离校申请,在离校申请页面可以查看学号、姓名、专业、学院、到达地点、开始时间、回校时间、紧急联系人、紧急联系人电话、附件、辅导员姓名、辅导员工号、离校理由等信息进行提交

 

管理员后端功能界面

管理员通过填写用户名、密码、角色进行登录

学生管理,通过查看学号、姓名、性别、专业、班级、联系电话、邮箱、身份证等信息进行详情、修改操作

 专业管理,通过查看专业等信息进行详情、修改、删除操作

辅导员管理,通过查看辅导员工号、辅导员姓名、性别、学院、电话、邮箱、照片、审核回复、审核状态等信息进行详情、修改、删除操作

 院书记管理,通过查看院书记工号、院书记姓名、性别、学院、电话、邮箱、照片、审核回复、审核状态 、审核等信息进行详情、修改、删除操作

分管院长管理,通过查看工号、姓名、性别、学院、电话、邮箱、照片、审核回复、审核状态 、审核等信息进行详情、修改、删除操作

  教务处长管理,通过查看工号、姓名、性别、电话、邮箱、照片、审核回复、审核状态 、审核等信息进行详情、修改、删除操作

主管校领导管理,通过查看工号、姓名、性别、电话、邮箱、照片、审核回复、审核状态 、审核等信息进行详情、修改、删除操作

 假期去向管理,通过查看学号、姓名、性别、专业、班级、年级、假期计划、计划离校时间、计划回校时间、交通工具、家庭地址等信息进行详情、修改、删除操作

获奖情况管理,通过查看学号、姓名、专业、性别、班级、获奖证书名、获奖时间、附件等信息进行详情、修改、删除操作

 公告栏管理,通过查看公告标题、公告类型、发布时间、封面等信息进行详情、修改、删除操作


代码实现

登录功能实现代码

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/183985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

化学气相沉积(CVD)中的TEOS

在半导体制程中&#xff0c;薄膜的沉积是核心的步骤之一&#xff0c;有接触过CVD的小伙伴应该或多或少听过TEOS这种物质&#xff0c;TEOS作为一种重要的沉积源&#xff0c;尤其在低温氧化硅的生成过程中&#xff0c;发挥了无可替代的角色。今天我们就来聊聊这种物质。 什么是TE…

勒索病毒:数字化时代的“黑帮敲诈”,如何防范避免成为下一个受害者?

近日&#xff0c;加拿大政府披露了一起重大黑客攻击事件。据官方消息&#xff0c;两家政府承包商BGRS和SIRVA Canada沦为黑客攻击目标&#xff0c;导致数量不明的政府雇员敏感信息泄露。此次泄露的信息不仅涉及普通政府雇员&#xff0c;还牵扯到加拿大皇家骑警&#xff08;RCMP…

【论文阅读笔记】Smil: Multimodal learning with severely missing modality

Ma M, Ren J, Zhao L, et al. Smil: Multimodal learning with severely missing modality[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(3): 2302-2310.[开源] 本文的核心思想是探讨和解决多模态学习中的一个重要问题&#xff1a;在训练和测…

Mobaxterm 使用lrzsz传输文件(rz/sz)

Mobaxterm 使用lrzsz传输文件报错 1. 现象 最近从xshell切换到Mobaxterm其他一切正常,就是使用rz传输文件时会出现错误,比较苦恼. 会出现以下错误 [rootcentos7 rpmbuild]# rz ▒CCCCCCCCCCC23be50ive.**B0100000023be502. 解决方法 去官网(https://mobaxterm.mobatek.net…

136. 只出现一次的数字

136. 只出现一次的数字 题目&#xff1a; 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空…

【超详细】手搓一个微信日记本

&#x1f380; 文章作者&#xff1a;二土电子 &#x1f338; 关注公众号获取更多资料&#xff01; &#x1f438; 期待大家一起学习交流&#xff01; 这里对之前的微信记事本小程序进行了重新编写&#xff0c;增加了更加详细的步骤描述&#xff0c;将全部图片都改成了本地图…

VMware vShere download

VMware 前言 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 vSphere 的两个核心组件是 ESXi 和 vCenter Ser…

css图片缩放属性object-fit说明

object-fit 属性可以设置以下值&#xff1a; 属性值说明例子fill填充容器&#xff0c;可能会改变图片的比例。object-fit: fill;contain保持图片的原始比例&#xff0c;确保图片完全包含在容器内。object-fit: contain;cover保持图片的原始比例&#xff0c;确保图片覆盖整个容…

OpenMLDB SQL 开发调试神器 - OpenMLDB SQL Emulator

今天为大家介绍一款来自 OpenMLDB 社区的优秀独立工具 - OpenMLDB SQL Simulator&#xff08;https://github.com/vagetablechicken/OpenMLDBSQLEmulator&#xff09; &#xff0c;可以让你更加高效方便的开发、调试 OpenMLDB SQL。 为了高效的实现时序特征计算&#xff0c;Op…

将对象转成URL参数

背景 有的时候前端跳转到其他平台的页面需要携带额外的参数&#xff0c;需要将对象转成用 & 连接的字符串拼接在路径后面。 实现方法

使用 pycryptodome 代替 pycrypto 2.6.1

老板认为加班是解决bug的良方&#xff0c;我的枕头却不这么认为。在这个被数字化和快速创新的时代&#xff0c;技术问题和bug是不可避免的。 老板建议我们继续加班&#xff0c;直到找到一个解决方案。然而&#xff0c;我有一个更好的建议&#xff1a;我们应该使用pycrypt…

下一代ETL工具:微服务架构的全新数据集成平台

当前对于大型企业来说数据的整合和加工变得越来越重要。随着业务需求的不断增长&#xff0c;企业数据量越来越大&#xff0c;数据管道越来越多&#xff0c;现有的ETL&#xff08;抽取、转换、加载&#xff09;工具已不再满足实时、高性能和微服务架构等现代化需求。因此&#x…

用EasyAVFilter将网络文件或者本地文件推送RTMP出去的时候发现CPU占用好高,用的也是vcodec copy呀,什么原因?

最近同事在用EasyAVFilter集成在EasyDarwin中做视频拉流转推RTMP流的功能的时候&#xff0c;发现怎么做CPU占用都会很高&#xff0c;但是视频没有调用转码&#xff0c;vcodec用的就是copy&#xff0c;这是什么原因呢&#xff1f; 我们用在线的RTSP流就不会出现这种情况&#x…

性能优化中使用Profiler进行页面卡顿的排查及解决方式

文章目录 一、前言二、页面卡顿的排查方式1、耗时操作的监控2、页面卡顿的监控 三、参考链接 一、前言 程序的优化在做过线上bug处理&#xff0c;布局层级优化&#xff0c;项目依赖库版本更新&#xff0c;重复库合并&#xff0c;删除未使用的资源&#xff0c;删除冗余的库&…

什么手机30万?VERTU唐卡手机顶配56.8万

近日,一则新闻在社交媒体上引发了广泛关注。一名男子遗失了一部价值30万的VERTU唐卡定制款手机,而一位女士在捡到这部手机后,误以为是一部普通的老年机,引发了种种误会。30万的手机是什么牌子?VERTU唐卡手机浮出水面 据了解,这部VERTU唐卡定制款手机是一款豪华的奢侈品定制手机…

OpenMLDB v0.8.4 诊断工具全面升级

新的v0.8.4版本中&#xff0c;我们对于诊断工具进行了全面系统化的升级&#xff0c;以提供更加完整和智能化的诊断报告&#xff0c;有助于高效排查 OpenMLDB 集群问题&#xff0c;大幅提升运维效率。 相比于之前的版本&#xff0c;新的诊断工具增添一键诊断功能&#xff0c;使…

一体化污水处理设备各种材质的优缺点

一体化污水处理设备的材质有多种&#xff0c;包括不锈钢、玻璃钢、聚乙烯塑料、碳钢等。每种材质都有其独特的优点和缺点。 不锈钢材质的优点是防腐性能好&#xff0c;耐磨损&#xff0c;使用寿命长&#xff0c;且外观美观。其缺点是成本较高&#xff0c;不适合在一些特殊的环…

【力扣:421,2935】数组内最大异或对问题

思路&#xff1a;从最高位向低位构造&#xff0c;对每一位利用哈希表寻找是否存在可使此位为1的数 第一轮找1&#xff1a;清空哈希表&#xff0c;1&#xff0c;2存1&#xff0c;到3发现1^01&#xff0c;res|1<<3 第二轮找11&#xff1a;清空哈希表&#xff0c;1存10&…

会员管理系统开发

一、引言 在当今竞争激烈的商业环境中&#xff0c;建立并维护良好的客户关系是任何企业都必须重视的关键因素。为了提高客户满意度和忠诚度&#xff0c;企业需要一个功能强大、高效的会员管理系统。本文将详细介绍如何开发一个成功的会员管理系统&#xff0c;以及它对企业的重…

宣传技能培训2——《图片后期处理与制作》光影魔术师:一小时速成Lightroom图片后期软件 + 案例分析

图片后期处理与制作&#xff1a;从理论到实践 写在最前面背景介绍夜间拍摄及其后期捕捉瞬间更重要 深入探索Lightroom&#xff1a;提升图片处理效率与质量软件设置与优化图片处理与预览GPU加速导入图片到LightroomLightroom界面概览图片筛选与比较删除不需要的图片 Lightroom进…