班级事务管理系统设计与实现

班级事务管理系统
后端采用Spring Boot开发。

cloud分支版本正在开发中,后端采用Spring Cloud进行改造。

系统架构

项目采用B/S架构,前后端通讯采用RESTful API,数据格式使用Json,认证Token格式采用JWT。

身份认证使用Spring Security Oauth2。

前端:Vue.js

后端:Spring Cloud

数据库:MySQL

缓存:Redis

文件存储:FastDFS

ORM:MyBatis-Plus

具体技术栈如下:

后端使用的技术栈

  1. Spring Cloud
  2. Spring Security
  3. FastDFS
  4. MySql
  5. Redis
  6. Spring Cache
  7. MyBatis-Plus

前端使用的技术栈

  1. Vue.js
  2. axios
  3. ElementUI
  4. vue-router
  5. vuex
  6. tui-editor

各个模块简要介绍

模块名描述
tclass-common公共模块,存放一些通用的配置和类如:oauth资源服务器的配置,FastDFS文件服务等
tclass-configSpring Cloud配置中心,统一微服务的配置管理
tclass-gatewaySpring Cloud网关,负责将对应请求转发到对应的微服务模块
tclass-oauthSpring Cloud认证中心,负责权限统一的认证,提供登录接口以及发放JWT类型的Token
tclass-registrySpring Cloud注册中心,负责微服务的统一治理。
tclass-notice微服务通知模块,负责通知内容的CRUD
tclass-user微服务用户模块,负责用户的CRUD
tclass-work微服务作业模块,负责作业文件的持久化和作业内容的CRUD

项目中使用Spring Cloud相关组件介绍

技术栈描述
Spring Cloud Config微服务配置的统一管理,实时更新,存储的位置可以为Git仓库、SVN仓库、本地文件等
Spring Cloud OAuth2Spring Cloud 体系对OAuth2协议的实现,可以用来做多个微服务的统一认证 (验证身份合法性)授权(验证权限)
Spring Cloud Eureka负责服务的注册于发现,Eureka体系包括:服务注册中心、服务提供者、服务消费者。
Spring Cloud Ribbon负责服务间调用的负载均衡
Spring Cloud Feign简化微服务之间相互调用,只需要一个接口的注解,就可以实现服务之间的HTTP调用
Spring Cloud Hystrix微服务熔断器,当服务不可用时,防止请求服务的积压,导致系统过载

部署

由于系统使用Spring Cloud架构,部署时一般配合Nginx将请求转发到网关模块。部署时需修改对应注册中心和配置中心的地址。

服务启动顺序如下:

  1. tclass-config
  2. tclass-registry
  3. tclass-oauth
  4. tclass-gateway
  5. 其他业务模块

表字段属性

部门属性(Department)

属性类型说明约束
idint部门唯一标识非空,主键
namevarchar部门名称非空

文件扩展名属性(Extension)

属性类型说明约束
idint扩展名唯一标识非空,主键
namevarchar扩展名名称非空

民族属性(Nation)

属性类型说明约束
idint民族唯一标识非空,主键
namevarchar民族名称非空

政治面貌属性(Politicsstatus)

属性类型说明约束
idint政治面貌唯一标识非空,主键
namevarchar政治面貌名称非空

班级职务属性(Position)

属性类型说明约束
idint职务唯一标识非空,主键
namevarchar职务名称非空

权限属性(Role)

属性类型说明约束
idint权限唯一标识非空,主键
namevarchar权限英文名称非空
zh_namevarchar权限中文名称非空

通知属性(Notice)

属性类型说明约束
idint扩展名唯一标识非空,主键
s_idint通知发起人id非空
edit_s_idint通知编辑人id
deletedtinyint逻辑删除
titlevarchar通知标题非空
contenttext通知内容非空
create_timedatetime创建时间非空
update_timedatetime更新时间非空

学生用户属性(Student)

属性类型说明约束
idint学生用户唯一标识非空,主键
namevarchar学生用户名称非空
role_idint学生权限标识非空
passwordvarchar用户密码非空
gendervarchar用户性别非空
nation_idint民族标识非空
native_placevarchar用户籍贯非空
politic_idint政治面貌标识
emailvarchar用户邮箱
phonevarchar用户手机
addressvarchar用户家庭住址
pos_idint班级职务标识
create_timedatetime创建时间
update_timedatetime更新时间
login_timedatetime最近登录时间
avatar_urlvarchar头像链接
deletedtinyint逻辑删除

上传文件属性(Upload)

属性类型说明约束
s_idint文件所有者id非空
w_idint作业id非空
file_typevarchar文件类型非空
file_namevarchar文件名非空
file_pathvarchar文件保存路径非空
sizebigint文件大小非空
create_timedatetime创建时间
update_timedatetime更新时间

作业属性(Work)

属性类型说明约束
idint扩展名唯一标识非空,主键
s_idint作业发起人id非空
edit_s_idint作业编辑人id
deletedtinyint逻辑删除
namevarchar作业名称非空
extension_idint文件扩展名标识非空
file_name_format_enumint文件名命名枚举非空
last_timedatetime最晚提交时间非空
create_timedatetime创建时间非空
update_timedatetime更新时间非空

接口

统一响应格式:

Content-Type: application/json

状态码:

400 请求参数错误

401 用户未登陆

403 用户权限不足

404 请求资源不存在

405 不支持该请求方法

500 服务器内部出错

503 服务不可用

Json格式规范:

{"code":"业务错误码","msg":"描述","data":"结果集","timeStamp":"时间戳"
}

公共接口

登录

请求方法 POST

请求路径 /oauth/login

参数说明
username用户名
password密码
code验证码
grant_typeOauth2认证类型

响应状态(登录成功)

{"code": 200,"data": {"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjQ5NDkxOTAsInVzZXJfbmFtZSI6IjE3MjQxMTE0MDAiLCJhdXRob3JpdGllcyI6WyJST0xFX2FkbWluIl0sImp0aSI6IjQ1MmQ2Y2VkLWJjZWItNDkzOC05NzIyLTk2NzAxOTkzYzIzOCIsImNsaWVudF9pZCI6IndlYmFwcCIsInNjb3BlIjpbInNlcnZlciJdfQ.CW5PB4zZfx7aAUl9I4U6M2KLZGql_AKMjh1V9U9IafY","token_type": "bearer","refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxNzI0MTExNDAwIiwic2NvcGUiOlsic2VydmVyIl0sImF0aSI6IjQ1MmQ2Y2VkLWJjZWItNDkzOC05NzIyLTk2NzAxOTkzYzIzOCIsImV4cCI6MTYyNDk0NzY5MCwiYXV0aG9yaXRpZXMiOlsiUk9MRV9hZG1pbiJdLCJqdGkiOiI4MDMxZjEyMS0xOGEwLTRjMjktYTMzZS03NzU5NzBjNDc5NTMiLCJjbGllbnRfaWQiOiJ3ZWJhcHAifQ.9VsKTXvtj9tpLROYNVMzvNnN7gCGd7lSAiCHm1xEYM0","expires_in": 1798,"scope": "server","jti": "452d6ced-bceb-4938-9722-96701993c238"},"msg": "登录成功","timeStamp": 1624947390207
}

获取验证码

请求方法 GET

请求路径 /oauth/verifyCode.jpg

响应状态:返回验证码文件流

普通用户接口

更新用户信息

请求方法 PUT

请求路径 /user/

请求体

{"address": "海南省海口市美兰区","departmentIdList": [9, 8],"email": "chenjing@qq.com","gender": "女","id": 1724111401,"name": "陈静","nationId": 44,"nativePlace": "广东省,广州市,天河区","phone": "18795556693","politicId": 11,
}

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

获取民族列表

请求方法 GET

请求路径 /user/nations

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "汉族"}, {"id": 2,"name": "蒙古族"}, {"id": 3,"name": "回族"}...],"msg": "执行成功"
}

获取部门列表

请求方法 GET

请求路径 /user/departments

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "组织部"}, {"id": 2,"name": "实践部"}, {"id": 3,"name": "外联部"}...],"msg": "执行成功"
}

获取政治面貌列表

请求方法 GET

请求路径 /user/political

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "中共党员"}, {"id": 2,"name": "中共预备党员"}, {"id": 3,"name": "共青团员"}...],"msg": "执行成功"
}

获取班级职位列表

请求方法 GET

请求路径 /user/political

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "班长"}, {"id": 2,"name": "纪委"}, {"id": 3,"name": "学习委员"}...],"msg": "执行成功"
}

获取权限列表

请求方法 GET

请求路径 /user/roles

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "ROLE_admin","zhName": "管理员"}, {"id": 2,"name": "ROLE_student","zhName": "普通用户"}],"msg": "执行成功"
}

上传用户头像

请求方法 POST

请求路径 /user/avatar

参数说明
file头像文件

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

获取用户头像

请求方法 GET

请求路径 /user/avatar/{photoPath}

参数说明
photoPath头像图片路径

响应状态:返回头像文件流

获取作业列表

请求方法 GET

请求路径 /work/

参数说明
current当前页数
size页大小
createTime作业创建时间

响应状态(请求成功)

{"code": 200,"data": {"records": [{"id": 3,"editSId": null,"editorName": null,"deleted": false,"name": "医保凭证","fileNameFormatEnum": 2,"createTime": "2020-12-19 12:58:38","updateTime": "2020-12-19 12:58:38","lastTime": "2020-12-31 00:00:00","remarks": "请同学们将医保凭证上传到此处","extensionId": 11,"extensionName": ".jpeg","uploadFileCount": 0,"sid": 1724111400,"sname": "王涛"}],"total": 3,"size": 6,"current": 1,"orders": [],"optimizeCountSql": true,"hitCount": false,"searchCount": true,"pages": 1},"msg": "执行成功"
}

获取作业信息

请求方法 GET

请求路径 /work/{id}

参数说明
id作业id

响应状态(请求成功)

{"code": 200,"data": {"id": 3,"editSId": null,"editorName": null,"deleted": false,"name": "医保凭证","fileNameFormatEnum": 2,"createTime": "2020-12-19 12:58:38","updateTime": "2020-12-19 12:58:38","lastTime": "2020-12-31 00:00:00","remarks": "请同学们将医保凭证上传到此处","extensionId": 11,"extensionName": ".jpeg","uploadFileCount": 1,"sid": 1724111400,"sname": "王涛"},"msg": "执行成功"
}

获取扩展名列表

请求方法 GET

请求路径 /work/extensions

响应状态(请求成功)

{"code": 200,"data": [{"id": 1,"name": "无"}, {"id": 3,"name": ".html"}...],"msg": "执行成功"
}

上传学生作业

请求方法 POST

请求路径 /work/{wId}

参数说明
wId作业id
file上传的文件
sId学生用户id

响应状态(请求成功)

{"code":200,,"data":true,"msg":"上传成功!"
}

查询是否已上传作业

请求方法 GET

请求路径 /work/isUpload

参数说明
wId作业id
sId学生用户id

响应状态(请求成功)

{"code": 200,"data": {	//若已上传,返回文件信息,否则返回null"fileType": "application/octet-stream","fileName": "1724111400_王涛_Java作业.java","size": 1170,"createTime": "2020-12-22 20:36:39","updateTime": "2020-12-22 20:36:39","sname": "王涛","sid": 1724111400,"wid": 2},"msg": "执行成功"
}

删除已上传的文件

请求方法 DELETE

请求路径 /work/deleteFile

参数说明
wId作业id
sId学生用户id
filename文件名

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

获取通知列表

请求方法 GET

请求路径 /notice/

参数说明
current当前页
size页大小
title通知标题
createTime创建时间

响应状态(请求成功)

{"code": 200,"data": {"records": [{"id": 3,"editSId": null,"editorName": null,"deleted": false,"name": "医保凭证","fileNameFormatEnum": 2,"createTime": "2020-12-19 12:58:38","updateTime": "2020-12-19 12:58:38","lastTime": "2020-12-31 00:00:00","remarks": "请同学们将医保凭证上传到此处","extensionId": 11,"extensionName": ".jpeg","uploadFileCount": 1,"sname": "王涛","sid": 1724111400}...],"total": 2,"size": 6,"current": 1,"orders": [],"optimizeCountSql": true,"hitCount": false,"searchCount": true,"pages": 1},"msg": "执行成功"
}

获取通知

请求方法 GET

请求路径 /notice/{id}

参数说明
id通知id

响应状态(请求成功)

{"code": 200,"data": {"id": 33,"editSId": 1724111400,"editSName": "王涛","deleted": false,"title": "关于英语四六级通知","content": "# 英语四六级通知\n1. 报考资格\n    本次补报考生应满足唯一条件:已参加2020年9月延考且当次英语四级(CET4)笔试成绩大于等于425分的考生。\n2. 报名方式及时间\n    1. 本次补报科目仅为英语六级(CET6)笔试,其他科目不予补报。\n    2. 本次补报时间为11月9日9:00-11日17:00,过时不再予以补报。\n    3. 符合补报资格的考生,请自行登录报名系统http://cet-bm.neea.edu.cn完成CET6笔试补报及缴费。","createTime": "2020-12-19 12:49:30","updateTime": "2020-12-19 12:51:27","sname": "王涛","sid": 1724111400},"msg": "执行成功"
}

获取当前最新通知

请求方法 GET

请求路径 /notice/current

响应状态(请求成功)

{"code": 200,"data": {"id": 33,"editSId": 1724111400,"editSName": "王涛","deleted": false,"title": "关于英语四六级通知","content": "# 英语四六级通知\n1. 报考资格\n    本次补报考生应满足唯一条件:已参加2020年9月延考且当次英语四级(CET4)笔试成绩大于等于425分的考生。\n2. 报名方式及时间\n    1. 本次补报科目仅为英语六级(CET6)笔试,其他科目不予补报。\n    2. 本次补报时间为11月9日9:00-11日17:00,过时不再予以补报。\n    3. 符合补报资格的考生,请自行登录报名系统http://cet-bm.neea.edu.cn完成CET6笔试补报及缴费。","createTime": "2020-12-19 12:49:30","updateTime": "2020-12-19 12:51:27","sname": "王涛","sid": 1724111400},"msg": "执行成功"
}

管理员接口

分页查询学生数据

请求方法 GET

请求路径 /user/admin/

参数说明
current当前页
size页大小
name学生用户名字
nationId民族标识
nativePlace籍贯
politicId政治面貌
posId班级职务
gender性别

响应状态(请求成功)

{"code": 200,"data": {"records": [{"id": 1724111400,"roleId": 1,"name": "王涛","password": "e10adc3949ba59abbe56e057f20f883e","gender": "男","nationId": 53,"nativePlace": "广东省,广州市,天河区","politicId": 1,"email": "wang@qq.com","phone": "15644442252","address": "陕西西安新城区","avatarUrl": "/student/avatar/1724111400.jpg","posId": 1,"createTime": "2020-07-23 16:32:47","updateTime": "2020-12-22 20:29:53","loginTime": "2020-12-22 20:29:53","deleted": false,"role": {"id": 1,"name": "ROLE_admin","zhName": "管理员"},"nation": {"id": 53,"name": "赫哲族"},"politicsstatus": {"id": 1,"name": "中共党员"},"position": {"id": 1,"name": "班长"},"departmentIdList": [4, 2, 7, 8, 9]}, {"id": 1724111401,"roleId": 2,"name": "陈静","password": "e10adc3949ba59abbe56e057f20f883e","gender": "女","nationId": 44,"nativePlace": "广东省,广州市,天河区","politicId": 11,"email": "chenjing@qq.com","phone": "18795556693","address": "海南省海口市美兰区","avatarUrl": "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png","posId": 11,"createTime": "2020-07-23 16:38:45","updateTime": "2020-12-14 22:41:13","loginTime": "2020-12-14 22:11:45","deleted": false,"role": {"id": 2,"name": "ROLE_student","zhName": "普通用户"},"nation": {"id": 44,"name": "俄罗斯族"},"politicsstatus": {"id": 11,"name": "台盟盟员"},"position": {"id": 11,"name": "无"},"departmentIdList": [9, 8]}...],"total": 42,"size": 10,"current": 1,"orders": [],"optimizeCountSql": true,"hitCount": false,"searchCount": true,"pages": 5},"msg": "执行成功"
}

修改用户数据

请求方法 PUT

请求路径 /user/admin/

请求体

{"id": 1724111400,"name": "王涛","gender": "女","nationId": 53,"politicId": 1,"email": "wang@qq.com","phone": "15644442252","address": "陕西西安新城区","nativePlace": "广东省,广州市,天河区","posId": 1,"roleId": 1,"departmentIdList": [4, 2, 7, 8, 9]
}

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

批量删除用户数据

请求方法 DELETE

请求路径 /user/admin/

参数说明
idList用户的id列表

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

批量导出学生数据

请求方法 GET

请求路径 /user/admin/export

参数说明
idList用户的id列表

响应状态:返回excel文件流

批量导入学生数据

请求方法 POST

请求路径 /user/admin/import

参数说明
file导入的excel文件

响应状态(请求成功)

{"code":200,"data":true,"msg":"已成功导入n条数据!"
}

获取导入模板

请求方法 GET

请求路径 /user/admin/template

响应状态:返回excel文件流

获取作业数据

请求方法 GET

请求路径 /work/admin/{id}

参数说明
id作业id

响应状态(请求成功)

{"code": 200,"data": {"id": 3,"editSId": null,"editorName": null,"deleted": false,"name": "医保凭证","fileNameFormatEnum": 2,"createTime": "2020-12-19 12:58:38","updateTime": "2020-12-19 12:58:38","lastTime": "2020-12-31 00:00:00","remarks": "请同学们将医保凭证上传到此处","extensionId": 11,"extensionName": ".jpeg","uploadFileCount": 1,"sname": "王涛","sid": 1724111400},"msg": "执行成功"
}

发布作业

请求方法 POST

请求路径 /work/admin/

请求体

{"sid": 1724111400,"fileNameFormatEnum": 4,//文件命名枚举"extensionId": 3,//扩展名标识"name": "test","lastTime": "2020-12-24 00:00:00","remarks": "添加数据",
}

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

更新作业数据

请求方法 PUT

请求路径 /work/admin/

请求体

{"id": 4,"fileNameFormatEnum": 4,"extensionId": 3,"name": "修改test","lastTime": "2020-12-24 00:00:00","remarks": "添加数据","editSId": 1724111400
}

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

批量删除作业数据

请求方法 DELETE

请求路径 /work/admin/

参数说明
idList作业的id列表

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

下载作业文件

请求方法 GET

请求路径 /work/admin/download

参数说明
wId作业id
fileName文件名

响应状态:返回请求对应的文件流

打包下载作业文件

请求方法 GET

请求路径 /work/admin/download/{wId}

参数说明
wId作业id
fileName文件名

响应状态:返回打包zip文件流

分页获取上传文件信息列表

请求方法 GET

请求路径 /work/admin/upload/{wId}

参数说明
wId作业id
current当前页
size页大小

响应状态(请求成功)

{"code": 200,"data": {"records": [{"fileType": "image/jpeg","fileName": "1724111400_王涛_医保凭证.jpeg","size": 5430113,"createTime": "2020-12-20 16:23:32","updateTime": "2020-12-20 16:23:32","sname": "王涛","sid": 1724111400,"wid": 3}...],"total": 1,"size": 12,"current": 1,"orders": [],"optimizeCountSql": true,"hitCount": false,"searchCount": true,"pages": 1},"msg": "执行成功"
}

批量删除已提交的作业文件

请求方法 DELETE

请求路径 /work/admin/upload

参数说明
wId作业id
deleteSIdList需要删除文件对应的用户id列表
deleteFileNameList需要删除的文件名列表

响应状态(请求成功)

{"code":200,"data":true,"msg":"删除成功!"
}

添加文件扩展名

请求方法 POST

请求路径 /work/admin/extensions

参数说明
name扩展名

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

删除文件扩展名

请求方法 DELETE

请求路径 /work/admin/extensions

参数说明
eId扩展名id

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

发布通知

请求方法 POST

请求路径 /notice/admin/

参数说明
sId发布者id
title通知标题
content通知内容

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

编辑通知

请求方法 PUT

请求路径 /notice/admin/

参数说明
id通知id
editSId编辑者的用户id
sId发布者的用户id
title通知标题
content通知内容

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

批量删除通知

请求方法 DELETE

请求路径 /notice/admin/

参数说明
idList通知的id列表

响应状态(请求成功)

{"code":200,"data":true,"msg":"执行成功"
}

项目效果图

登录界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P3ii2nNW-1691279976612)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/login.jpg)]

项目首页

管理员导航栏

普通用户导航栏

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42HBjEja-1691279976613)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/menu_user.jpg)]

用户管理

用户数据导入导出

用户批量管理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YIKnNQnk-1691279976613)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/data_batch.jpg)]

用户高级搜索

编辑个人资料

编辑用户资料

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tDguO8L-1691279976614)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/user_edit.jpg)]

查看作业

查看提交的文件

提交作业

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qktMJWi4-1691279976615)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/work_upload.jpg)]

作业管理

发布作业

编辑作业

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J9jzTQmj-1691279976615)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/work_edit.jpg)]

编辑扩展名列表

查看用户提交的作业文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V1m22kve-1691279976616)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/work_uoload.jpg)]

查看通知

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hJbQcuyq-1691279976616)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/notice_index.jpg)]

查看通知详情

通知管理

编辑通知

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVK0NIjj-1691279976617)(https://github.com/Teoan/TClass/raw/cloud-dev/doc/notice_edit.jpg)]

发布通知

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

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

相关文章

jmeter性能测试常见的一些问题

一、request 请求超时设置 timeout 超时时间是可以手动设置的,新建一个 http 请求,在“高级”设置中找到“超时”设置,设置连接、响应时间为2000ms。 1. 请求连接超时,连不上服务器。 现象: Jmeter表现形式为&#xff…

安防监控视频汇聚EasyCVR平台的FLV视频流在VLC中无法播放的原因排查

众所周知,TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入,包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上,视频监控…

Mac 安装不在 Apple 商店授权的应用程序

文章目录 一、场景介绍二、实操说明 一、场景介绍 在日常的工作生活中,发现一些好用的应用程序,但是出于某些原因,应用程序的开发者并没有将安装包上架到苹果商店。 那么这些优秀的应用程序下载安装以后就会出现如下弹框被拒之门外 二、实操…

【论文阅读】基于深度学习的时序预测——Informer

系列文章链接 论文一:2020 Informer:长序列数据预测 论文二:2021 Autoformer:长序列数据预测 文章地址:https://arxiv.org/abs/2012.07436 github地址:https://github.com/zhouhaoyi/Informer2020 参考解读…

比特鹏哥5-数组【自用笔记】

比特鹏哥5-数组【自用笔记】 1.数组的概念2.一维数组的创建和初始化创建的语句结构初始化的语句结构 3.一维数组的使用数组的下标:从0开始,n个数组,最后一个的下标是n-1 4.一维数组在内存中的存储5.sizeof计算数组元素个数可以计算元素个数并…

计算机工作原理:进程调度

在计算机中,什么是进程?一个跑起来的程序就是一个进程,没跑起来就只能算一个程序。 在windows的任务管理器中,可以很清楚的看到有哪一些进程。 进程(progress)也叫任务(task)。 每…

侯捷 C++面向对象编程笔记——10 继承与虚函数

10 继承与虚函数 10.1 Inheritance 继承 语法::public base_class_name public 只是一种继承的方式,还有protect,private 子类会拥有自己的以及父类的数据 10.1.1 继承下的构造和析构 与复合下的构造和析构相似 构造是由内而外 Container …

UML-活动图

目录 一.活动图概述: 1.活动图的作用: 2.以下场合不使用活动图: 3.活动图的基本要素: 4.活动图的图符 4.1起始状态 4.2终止状态 4.3状态迁移 4.4决策点 4.5同步条:表示活动之间的不同 5.活动图: 二.泳道: 1.泳道图&a…

有人管一管小天才电话手表吗?

作者 | 张未 来源 | 洞见新研社 潮流果然是个圈,曾经风靡2008年的“摇一摇”重回我们的视野当中。 这个对于成年人有些过时的产物,以儿童手表为载体,正入侵着小学生的社交圈,成为儿童的“社交密码”。 “碰一碰”加好友&#x…

亚马逊公告:订单存档政策调整,超过两年将于9月起存档

站斧浏览器获悉: 亚马逊新公告:2023年9月起,亚马逊美国站和欧洲站宣布将调整订单数据存档政策。这一政策的调整旨在保护客户的个人隐私和数据安全,从而提高客户的购物体验。据悉,所有历时超过两年以上的订单将按月进行…

【高频面试题】多线程篇

文章目录 一、线程的基础知识1.线程与进程的区别2.并行和并发有什么区别?3.创建线程的方式有哪些?3.1.Runnable 和 Callable 有什么区别?3.2.run()和 start()有什么区别? 4.线程包括哪些状态,状态之间是如何变化的4.1.…

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动 文章目录 如何将Linux上的cpolar内网穿透设置成 - > 开机自启动前言一、进入命令行模式二、输入token码三、输入内网穿透命令 前言 我们将cpolar安装到了Ubuntu系统上,并通过web-UI界面对cpolar的功能有…

如何维护自己的电脑

目录 1、关于电脑选择的建议 1.1、价格预算 1.2、明确需求 1.3、电脑配置 1.4、分辨率 1.5、续航能力 1.6、品牌选择 1.7、用户评测 1.8、各个电商平台对比 1.9、最后决策 2、我的选择 3、电脑保养 3.1 外部清洁 3.2 安装软件 3.3 优化操作系统 3.4 维护硬件设…

web前端之CSS

文章目录 一、CSS简介1.1 CSS语法规则 二、CSS的引用方法2.1 定义行内样式表2.2定义内部样式表2.3链入外部样式表2.4导入外部样式表 三、CSS选择符3.1 基本选择符3.1.1 标签选择符3.1.2 class类选择符3.1.3 id选择符 3.2 复合选择符3.2.1 交集选择符(合并选择器&…

Docker安装Hadoop分布式集群

一、准备环境 docker search hadoop docker pull sequenceiq/hadoop-docker docker images二、Hadoop集群搭建 1. 运行hadoop102容器 docker run --name hadoop102 -d -h hadoop102 -p 9870:9870 -p 19888:19888 -v /opt/data/hadoop:/opt/data/hadoop sequenceiq/hadoop-do…

将matlab中工作区的数据保存为.mat文件及加载.mat数据

将matlab工作区中的数据保存为.mat文件 如数据a a[1 1 2 3 2 4];一、工作区数据 二、保存为.mat文件 利用save保存数据a到data.mat文件中 save(data.mat,a);三、加载数据 Iload(data.mat)

SEO搜索引擎优化

目录 场景 内部业务To B (Business-to-Business,B2B)需要降低SEO,反爬 客户业务To C (Business-to-Consumer,B2C)需要提高SEO TDK优化 Title(标题) Description(描述) Keywords&#xff…

matplotlib fig.legend()常用参数 包括位置调整和字体设置等

一、四种方法 legend() legend(handles, labels) legend(handleshandles) legend(labels)1 legend() labels自动通过绘图获取(Automatic detection of elements to be shown in the legend) # 第一种方法 ax.plot([1, 2, 3], labelInline label) ax.l…

Redis过期键删除策略

如果一个键过期了,那么它什么时候会被删除呢? 这个问题有三种可能的答案,它们分别代表了三种不同的删除策略: 1.定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时…

4.3 移动终端安全

数据参考:CISP官方 目录 移动智能终端重要性移动智能终端安全威胁移动智能终端安全使用 一、移动智能终端重要性 1、移动智能终端的发展 完整的超小型计算机系统 强大的处理能力完整的软硬件系统 可完成较为复杂的处理任务 拍照、听音乐、玩游戏、上网、视…