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

news2024/9/21 20:23:50

文末获取源码

开发语言: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();
    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于JavaWeb+SpringBoot+Vue医院管理系统小程序的设计和实现

基于JavaWebSpringBootVue医院管理系统小程序的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏[Java 源码获取 源码获取入口 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 2 2.1微信小程序 2 2.2 …

2.HTML入门

目录 一.HTML介绍 二.HTML常用标签 2.1 标题标签 2.2 段落标签 2.3 超链接标签 2.4 图片标签 2.5 换行与空格 2.6 布局标签 2.7 列表标签 2.8 表单标签 一.HTML介绍 定义&#xff1a;将内容显示在网页&#xff0c;用来描述网页的一种语言&#xff0c;负责网页的架构…

opencv 常用操作指南

1.通道交换 读取图像&#xff0c;然后将RGB通道替换成BGR通道&#xff0c;需要注意的是&#xff0c;opencv读取的图像默认是BGR。cv2.cvtColor函数可以参考Color Space Conversions img cv2.imread(imori.jpg) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.imwrite(answe…

适用于电脑的5个免费文件恢复软件分享

适用于电脑的最佳免费文件恢复软件 任何计算机用户都可能经历过丢失重要文件的恐惧。重要数据的丢失可能会令人不安和沮丧&#xff0c;无论是由于不小心删除、计算机故障还是硬盘格式化造成的。幸运的是&#xff0c;在数字时代&#xff0c;您可以使用值得信赖的解决方案检索这些…

KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网

目录 一、简介 2.1 芯片的硬件 2.2 测试的方法 一、简介 KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网 在线下载的mp3语音芯片ic&#xff0c;通过KT404A的uart直接更换内部的语音文件&#xff0c;从而实现动态的更新语音内容 物联网大潮的来袭。随着智能家居、…

linux下磁盘分区、挂载实操

文章目录 一、磁盘分区1.查看磁盘分区情况2.使用fdisk进行分区&#xff08;2T以下&#xff09;3.删除分区4.使用parted对磁盘进行分区&#xff08;大于2T&#xff09; 二、磁盘格式化1.格式化文件系统2.关闭文件系统自检3.禁止检查磁盘文件系统&#xff0c;开机修复错误 三、磁…

Vim 一下日志文件,Java 进程没了?

一次端口告警&#xff0c;发现 java 进程被异常杀掉&#xff0c;而根因竟然是因为在问题机器上 vim 查看了 nginx 日志。下面我将从时间维度详细回顾这次排查&#xff0c;希望读者在遇到相似问题时有些许启发。 时间线 15:19 收到端口异常 odin 告警。 状态:P1故障 名称:应用端…

win10戴尔电脑安装操作系统遇到的问题MBR分区表只能安装GPT磁盘

首先按F2启动boot管理界面 调整启动盘的启动顺序&#xff0c;这里启动U盘为第一顺序。 第一步 选择安装程序的磁盘 第二步 转换磁盘为GPT磁盘 一般出现 磁盘0和1&#xff0c;说明存在两个盘 &#xff0c;这里两个盘不是说的是C盘和D盘的问题&#xff0c;而是在物理上实际存在…

记一次docker服务启动失败解决过程

环境&#xff1a;centos 7.6 报错&#xff1a;start request repeated too quickly for docker.service 由于服务器修复了内核漏洞&#xff0c;需要重启&#xff0c;没想到重启后&#xff0c;docker启动失败了 查看状态 systemctl status docker如下图 里面有一行提示&…

java游戏制作-王者荣耀游戏

一.准备工作 首先创建一个新的Java项目命名为“王者荣耀”&#xff0c;并在src下创建两个包分别命名为“com.sxt"、”com.stx.beast",在相应的包中创建所需的类。 创建一个名为“img”的文件夹来储存所需的图片素材。 二.代码呈现 package com.sxt;import javax.sw…

V2X全方位通信部署解决方案如何支持智能交通建设?

背景介绍 后疫情时代人们更注重于享受当下&#xff0c;掀起了一股“旅游热”。大批量游客的到来给旅游胜地带来更多的人气和收益的同时&#xff0c;也带来了一系列的交通问题&#xff1a;游客和当地人民不仅会面临停车困难、交通拥堵的烦恼&#xff0c;还会因为游客对交通环境…

【Java线程通信】一窥究竟

今天我们要聊一聊Java线程通信。如果你是一个Java开发者&#xff0c;那么你肯定知道线程是Java中的一个重要概念。线程是程序执行的最小单位&#xff0c;它可以独立运行&#xff0c;也可以与其他线程共享资源。那么&#xff0c;线程之间如何进行通信呢&#xff1f;这就是我们今…

【UE5】资源(Asset)

了解UE游戏的基本构成 资源&#xff08;Asset&#xff09;: 在UE中&#xff0c;资源&#xff08;Asset&#xff09;是指游戏中使用到的各种素材&#xff0c;例如模型、纹理、材质、声音、动画、蓝图、数据表格、关卡等&#xff08;通常以uasset结尾&#xff09;&#xff0c;他…

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号&#xff1a; S 023 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S023&#xff0c;文末获取源码。} 项目编号&#xff1a;S023&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

微服务学习(十二):安装Minio

微服务学习&#xff08;十二&#xff09;&#xff1a;安装Minio 一、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视…

buck降压电路

一、Buck电路的拓扑结构 Buck是直流转直流的降压电路,下面是拓扑结构,作为硬件工程师,这个最好是能够记下来,了然于胸。 为啥要记下来,自然是因为这个电路太基础了,并且谁都会用到,更重要的一点,面试可能会考。。。 上图是个异步buck,同步buck就是将里面的二极管换成M…

栈和队列的OJ题--12.括号匹配

12.括号匹配 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a;该题比较简单&#xff0c;是对栈特性很好的应用&#xff0c;具体操作如下&#xff1a;循环遍历String中的字符&#xff0c;逐个取到每个括号&#xff0c;如果该括号是&#xff1a;1. …

ElasticSearch 7 SQL 详解

平时使用Elasticsearch的时候,会在Kibana中使用Query DSL来查询数据.每次要用到Query DSL时都基本忘光了,需要重新在回顾一遍,最近发现Elasticsearch已经支持SQL查询了(6.3版本以后),整理了下一些用法. 简介 Elasticsearch SQL是一个X-Pack组件,它允许针对Elasticsearch实时执…

java--static的应用知识:代码块

1.代码块概述 代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类) 2.代码块分为两种&#xff1a; 2.1.静态代码块&#xff1a; ①格式&#xff1a;static{ } ②特点&#xff1a;类加载时自动执行&#xff0c;由于类只会加载一次&#xff0c;所以静态代码块…

【PPspliT】ppt转pdf-保留过渡动画

网址 http://www.maxonthenet.altervista.org/ppsplit.php 下载安装 使用 再次打开ppt&#xff0c;就能在上方的选项栏里头看到了&#xff1a;