毕设说明-疫情管理系统

毕设说明-疫情管理系统

说明

本人疫情防控管理系统说明文档,纯手敲,别问为什么不直接用软件生成,问就是那时候不会

本人全部编程学习笔记分享,里面记录本人毕生所学–前后端编程学习、算法、软件破解之类的的都记录进去了。传到了git上,需要的自取,持续更新,觉得好的给个``star`谢谢

目录

[TOC]

疫情项目API接口文档

1.1. API 接口说明(后期补充)

  • 接口基准地址:192.168.0.22/ -->根据自己需求更改,自己本机电脑就http://localhost:...
  • 数据返回格式统一使用 JSON (如有其他格式将在接口文档声明)

1.1.1. 支持的请求方法

  • POST
  • GET

1.1.2. 通用返回状态说明

状态码含义说明
200OK请求成功
404NOT FOUND请求的资源不存在
500INTERNAL SERVER ERROR内部服务端错误

1.2. 数据库 设计

数据库名 : vue_store

数据库账号 : root

数据库密码 : root

数据库 :utf8 排序规则 :utf8_unicode_ci

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UF93yUnh-1645023414980)(洪吉林_疫情项目API接口文档中的图片/clip_image002.jpg)]

1.2.1.用户表

字段名含义数据类型说明
id用户id(学号或者教师号)int必填
token加密后的数据varchar(可不使用)
username用户varchar必填
password密码varchar必填
head头像缩略图mediumtext(可不使用)
mailbox邮箱varchar(可不使用)
address地址籍贯varchar可不填
sex性别varchar必填
createtime用户创建时间datetimeCURRENT_TIMESTAMP
modifytime最近一次修改时间datetimeCURRENT_TIMESTAMP
classes所属班级(教师也要,可以填多个班级)varchar必填
type类型(1管理员 2学生 3教师)int必填

1.2.2.健康填报表

字段名含义数据类型说明 (是 否)
h_id健康表idint必填
u_id用户idint必填
temperature当前体温float必填
hot是否发热varchar必填
gohubei是否去过湖北varchar必填
hubeiren是否是湖北籍贯varchar必填
fever是否发热varchar必填
leaveout是否离开学校varchar必填
hesuan是否经过核酸检测varchar必填
mask口罩是否充足varchar必填
masknum口罩剩余数量int必填
kills杀毒用品是否充足varchar必填
createtime健康表创建时间datetimeCURRENT_TIMESTAMP

1.2.3 请假表

字段名含义数据类型说明
l_id请假表idint必填
u_id请假人的idint必填
reason请假理由varchar必填
leavetype请假类型(外出 or 病假)varchar必填
starttime请假开始时间date必填 (格式 : 2020-08-25)
endtime请假结束时间date必填 (格式 : 2020-08-26)
state审批状态( 0未审批 or 1审批不通过 or 2审批通过 )int必填
createtime创建时间datetimeCURRENT_TIMESTAMP
classes所在的班级varchar必填

1.2.4公告表

字段名含义数据类型说明
l_id公告idint必填
title公告标题mediumtext必填
content公告内容mediumtext(可不使用)
createtime创建时间datetime必填
class通知的班级集合字符串varchar必填 (可以填多个,以 ; 分隔)

1.2.5阅读表-略

1.2.6 班级表-略

1.3. 共有部分

1.3.1. 登录验证接口

  • 请求路径:/users/login
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注
username用户名varchar不能为空
password密码varchar不能为空
type用户类型int(1管理员 2学生 3教师 )
  • 响应参数(如果无此用户将无数据)
参数名参数说明备注
id用户 ID
username用户名
password密码

1.3.2. 个人信息管理

1.3.2.1.个人信息获取
  • 请求路径:/users/getUserDataById
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id用户idint
  • 响应参数(如果无此用户将无数据)
参数名参数说明数据类型备注
id用户 IDint
username用户名varchar
classes所属班级varchar
sex性别varchar
address地址籍贯或者生源地varchar
createtime入网时间date
modifytime最近一次修改时间datetimeCURRENT_TIMESTAMP
type身份类型int(1管理员 2学生 3教师 )
1.3.2.2. 个人密码修改
  • 请求路径:/users/upPwd
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注
u_id用户idint
oldpassword旧密码varchar
newpassword新密码varchar(密码长度6-16)
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar

1.3.3. 发布通知

  • 请求路径:/admin/announce
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注
title标题text
classes班级字符串varchar多个班级以;分隔 (3班;5班;1班)
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar

1.3.4 获取所有通知与数量(分页获取)

  • 请求路径:/admin/getAllNotice
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
pageNum每页几条数据int
currPage当前页面int
  • 响应参数
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int

1.4. 学生管理

1.4.1.健康上报

1.4.1.1. 个人信息获取(见共有部分)
1.4.1.2. 健康填报表

前端先获取该用户当天填报表,如果没有才可以填写

  • 请求路径:/students/sethealth
  • 请求方法:post
  • 请求参数
参数含义数据类型说明 (是 否)
h_id健康表idint(自动生成不用填写)
u_id用户idint必填
temperature当前体温float必填
hot是否发热varchar必填
gohubei是否去过湖北varchar必填
hubeiren是否是湖北籍贯varchar必填
fever是否发热varchar必填
leave是否离开学校varchar必填
hesuan是否经过核酸检测varchar必填
mask口罩是否充足varchar必填
masknum口罩剩余数量int必填
kill杀毒用品是否充足varchar必填
createtime健康表创建时间atetimeCURRENT_TIMESTAMP
(自动生成)
  • 响应参数
参数名参数说明数据类型备注
data成功或者失败json
1.4.1.3 获取当天所有填报表

获取的是

  • 请求路径:/students/gethealthNowDay

  • 请求方法:get

  • 请求参数 -无参数

  • 响应参数

参数名参数说明数据类型备注
list当天所有报表信息
1.4.1.4 获取当天所有填报表与总数量(分页获取)

获取的是

  • 请求路径:/students/gethealthNowDayPage
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
pageNum每页几条数据int
currPage当前页面int
  • 响应参数
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int
1.4.1.5. 获取当天某用户报表
  • 请求路径:/students/getHealthNowDayByid
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id用来获取的用户idint必填
  • 响应参数
参数名参数说明数据类型备注
data当前页用户数据json
1.4.1.6 获取所有报表
  • 请求路径:/students/getAllHealth

  • 请求方法:get

  • 请求参数 -无参数

  • 响应参数

参数名参数说明数据类型备注
data所有报表信息

1.4.2. 请假申请

  • 请求路径:/students/setLeave
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注
u_id用户 IDint必填
reason请假理由varchar必填
leavetype请假类型varchar必填(病假或者外出)
starttime开始时间date必填 (格式 : 2020-08-25)
endtime结束时间date必填 (格式 : 2020-08-25)
  • 响应参数
参数名参数说明数据类型备注
results提交成功或者失败varchar提交结果

1.4.3. 我的通知

1.4.3.1. 我的通知分页获取数据与数量
  • 请求路径:/students/getNotice
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id当前用户idint必填
pageNum每页几条数据int
currPage当前页面int
  • 响应参数

  • 响应参数

参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int
1.4.3.2. 我的通知修改(已读未读)
1.4.3.2.1 获取的我通知已读列表(供已读未读状态渲染)
  • 请求路径:/students/getNoticeRead
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id当前用户idint必传
  • 响应参数
参数名参数说明数据类型备注
list包含下面几个参数的对象集合
n_id公告idint
u_id用户idint
readtime阅读时间datetime
1.4.3.2.2 已读转未读
  • 请求路径:/students/goweidu
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
n_id公告idint(点击的当前公告id)
u_id用户idint当前登录用户
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar删除结果
1.4.3.2.3 未读转已读
  • 请求路径:/students/goyidu
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
n_id公告idint(点击的当前公告id)
u_id当前用户idint当前登录用户
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar修改结果

1.5. 管理员

1.5.1. 根据用户类型进行用户信息与数量获取

1.5.1.1 根据用户类型进行用户信息获取(分页获取总数量与数据)

管理员用户管理部分可进行两次查询,一次教师获取一次学生获取 可以做到教师管理与学生管理分开

  • 请求路径:/users/getUsersByTypePage
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
type用户类型(1管理员2学生3教师)int
pageNum每页几条数据int
currPage当前页面int
  • 响应参数(若无此类型用户 无返回)
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int
1.5.1.2. 根据用户类型与查询字段模糊查询 (数据与总数量返回)
  • 请求路径:/admin/getUsersByTypeAndChar
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
type用户类型(1管理员2学生3教师)int
inputText输入的内容varchar
CharType查询的字段(籍贯: address 用户名: username
学号: id 班级: classes )
varchar
pageNum每页几条数据int
currPage当前页面int
  • 响应参数(若无此类型用户 无返回)
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int

1.5.2. 所有用户信息获取

1.5.2.1.所有用户信息获取与数量 (分页获取)

管理员用户管理部分可进行两次查询,一次教师获取一次学生获取 可以做到教师管理与学生管理分开

  • 请求路径:/users/getAllUsers
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
pageNum每页几条数据int
currPage当前页面int
  • 响应参数(若无此类型用户返回 无返回)
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int

1.5.3. 用户文件导入(导入后需要调用用户增加接口写入)

  • 请求路径:/upload/upload
  • 请求方式 : form表单提交
<form action="/upload/upload" enctype="multipart/form-data" method="post">
    <input type="text" name="title"><br>
    <input type="file" name="upload" multiple="multiple"><br>
    <input type="submit" value="Upload">
    </form>
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar

1.5.4. 用户增删改

1.5.4.1. 用户增加 -需要导入文件后再调用以写入数据库

如果id重复就进行更新,不重复插入

  • 请求路径:/users/setXlsxData

  • 请求方法:post

  • 请求参数 无参直接调用

  • 响应参数

参数名参数说明数据类型备注
results通过redis数据库内缓存的xlsx数据
读取写入数据库,若无返回未导入文件
缓存数据存在3600秒
varchar
1.5.4.2. 用户删除)(同时清空该用户阅读记录)

默认u_id==0为管理员 不能删除

  • 请求路径:/users/delUserdata
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id用户idint(点击的当前用户id)
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar删除结果
1.5.4.3. 用户修改
  • 请求路径:/users/upUserdata
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注(都是必传)
u_id用户idint(点击的当前用户id)
username用户名varchar
sex性别varchar
address籍贯地址生源地varchar
type修改用户类型int类型(1管理员 2学生 3教师 )
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar修改结果
1.5.3.4. 用户头像修改
  • 请求路径:/users/upicon
  • 请求方法:post
  • 请求参数
参数名参数说明数据类型备注(都是必传)
u_id用户idint(点击的当前用户id)
  • 响应参数
参数名参数说明数据类型备注
results成功或者失败varchar上传结果

1.6. 教师管理

1.6.1.请假审批

1.6.1.1. 获取该用户所属班级的全部请假单与数量(分页查询)
  • 请求路径:/admin/getLeave
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id用户idint
currPage当前页数int
pageNum每页数量int
  • 响应参数
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int
1.6.1… 获取该用户请假审批与数量(分页)
  • 请求路径:/admin/getuserLeave
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
u_id用户idint
currPage当前页数int
pageNum每页数量int
  • 响应参数
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int
1.6.1.3. 当前请假单审批(修改审批状态)
  • 请求路径:/admin/upLeaveState
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
l_id请假条idint当前点击审批的请假条
upState修改审批状态int( 0未审批 or 1审批不通过 or 2审批通过 )

1.7. 增值功能

1.7.1. 当前公告查看详情

查询两张表

  • 请求路径:/admin/NoticeDetails
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
n_id公告idint当前点击公告id
  • 响应参数
参数名参数说明数据类型备注
readNum当前公告已读人数int
tatol当前公告发布通知总人数int
data公告详情内容json
users阅读的用户头像,名字以及班级以及时间json

1.7.2.当前 公告删除功能(同时清空该公告的被阅读记录)

删除两张表

  • 请求路径:/admin/delNotice
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
n_id公告idint当前点击公告id
  • 响应参数
参数名参数说明数据类型备注
result删除结果varchar

1.7.3. 添加班级或者专业

  • 请求路径:/admin/addClasses
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
Classes添加的班级或者专业varchar(不可以带 ; )(专业名长度不超过6)
  • 响应参数
参数名参数说明数据类型备注
result删除结果varchar

1.7.4. 获取班级或者专业

  • 请求路径:/admin/getClasses

  • 请求方法:get

  • 请求参数

  • 响应参数

参数名参数说明数据类型备注
data获取的班级数组array

1.7.5 模糊查询班级(分页获取数据与数量)

  • 请求路径:/admin/getClassesSear
  • 请求方法:get
  • 请求参数
参数名参数说明数据类型备注
inputText输入的内容varchar
pageNum每页几条数据int
currPage当前页面int
  • 响应参数(若无此类型用户返回 无返回)
参数名参数说明数据类型备注
data当前页用户数据json
total用户总页数int

1.8. 数据库创建语句

本来我是懒得写这个,因为觉得给出了数据库er图应该大伙都可以自己写出来,但是好多人私信说不会创建数据库,想了一下那我就写出sql创建语句,正好也当锻炼一下自己.所以看到这里还不点个star是不是说不过去了🐶

大家创建了``database`后,运行以下几个查询语句即可创建全部表,这饭都喂到嘴里了别说还不会了同学们,这都不会就说不过去了

1.8.1用户表结构创建sql语句

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
 `id` int(11) NOT NULL COMMENT '用户id',
 `token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
 `username` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '用户',
 `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT '密码',
 `head` mediumtext CHARACTER SET utf8 COMMENT '头像',
 `mailbox` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮箱',
 `address` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '地址',
 `sex` varchar(20) CHARACTER SET utf8 DEFAULT NULL COMMENT '性别',
 `modifytime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '最近一次修改时间',
 `createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '存入时间',
 `classes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '所属班级',
 `type` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.2 健康填报表结构创建sql语句

DROP TABLE IF EXISTS `health`;
CREATE TABLE `health` (
 `h_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '健康表id',
 `u_id` int(11) NOT NULL COMMENT '用户id',
 `temperature` float(11,1) DEFAULT NULL COMMENT '当前体温',
 `hot` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否发热',
 `gohubei` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否去过湖北',
 `hubeiren` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否是湖北籍贯',
 `fever` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否发热',
 `leaveout` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否离开学校',
 `hesuan` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '是否经过核酸检测',
 `mask` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '口罩是否充足',
 `masknum` int(11) DEFAULT NULL COMMENT '口罩剩余数量',
 `kills` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '杀毒用品是否充足',
 `createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '存入时间',
 PRIMARY KEY (`h_id`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.3 请假表结构创建sql语句

DROP TABLE IF EXISTS `leave`;
CREATE TABLE `leave` (
 `l_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '请假表id -创建时间+学号',
 `u_id` int(11) NOT NULL COMMENT '请假人的id',
 `reason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '请假理由',
 `leavetype` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '请假类型',
 `starttime` date DEFAULT NULL COMMENT '请假开始时间',
 `endtime` date DEFAULT NULL COMMENT '请假结束时间',
 `state` int(11) DEFAULT '0' COMMENT '审批状态',
 `createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 `classes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '所在的班级',
 PRIMARY KEY (`l_id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.4 公告表结构创建sql语句

DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
 `n_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '公告id',
 `title` mediumtext COLLATE utf8_unicode_ci COMMENT '公告标题',
 `content` mediumtext COLLATE utf8_unicode_ci,
 `createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 `class` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '通知的班级',
 PRIMARY KEY (`n_id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.5 阅读表结构创建sql语句

DROP TABLE IF EXISTS `read`;
CREATE TABLE `read` (
 `r_id` int(11) NOT NULL AUTO_INCREMENT,
 `u_id` int(11) NOT NULL,
 `n_id` int(11) DEFAULT NULL,
 `readtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '已读时间',
 PRIMARY KEY (`r_id`)
) ENGINE=InnoDB AUTO_INCREMENT=148 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.6 班级表结构创建sql语句

DROP TABLE IF EXISTS `class`;
CREATE TABLE `class` (
 `c_id` int(11) NOT NULL AUTO_INCREMENT,
 `classes` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 PRIMARY KEY (`c_id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

1.8.7 设置删除更新的权限

SET FOREIGN_KEY_CHECKS=0;

此处不设置的话,可能在进行删除或者更新操作时会报错,具体详见本人Mysql使用笔记中的解除输入的安全模式问题描述

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻蔚蓝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值