1. 前端界面更新,添加部分按钮

2. README更新项目启动方式
3. 修改Docker启动脚本,使用--privileged和--host模式启动
This commit is contained in:
EnderByEndera
2024-01-27 02:34:51 +08:00
parent e48f837b64
commit c806444935
23 changed files with 173 additions and 19 deletions

2
.gitignore vendored
View File

@@ -8,6 +8,8 @@ build/
!**/src/main/**/build/
!**/src/test/**/build/
docker-ubuntu/protection_ubuntu.tar
VSCode.zip
Writerside*
### STS ###
.apt_generated

View File

@@ -1,5 +1,10 @@
# SSFY系统 README
若要直接运行,请使用如下指令:
```shell
./gradlew clean && ./gradlew bootRun
```
## 项目文件夹结构说明:
目前整体分为两大板块:**configuration**和**server**

View File

@@ -3,7 +3,14 @@ LABEL authors="Endera"
COPY realtime_protection realtime_protection
ENV SPRINGBOOT_FIRST_URL="172.24.100.53:8081" \
#ENV SPRINGBOOT_FIRST_URL="10.58.72.141:8081" \
# SPRINGBOOT_SECOND_URL="10.58.72.142:8081" \
# SPRINGBOOT_THIRD_URL="10.58.72.143:8081" \
# SPRINGBOOT_FOURTH_URL="10.58.72.144:8081" \
# NGINX_PORT=8080 \
# NGINX_SERVER_NAME="localhost"
ENV SPRINGBOOT_FIRST_URL="192.168.107.89:8081" \
SPRINGBOOT_SECOND_URL="172.24.100.53:8082" \
SPRINGBOOT_THIRD_URL="172.24.100.53:8083" \
SPRINGBOOT_FOURTH_URL="172.24.100.53:8084" \

View File

@@ -3,6 +3,13 @@ LABEL authors="Endera"
COPY realtime_protection realtime_protection
ENV MYSQL_USERNAME="root" \
MYSQL_PASSWD="IOmysql" \
MYSQL_URL="10.58.72.140:3306" \
DORIS_USERNAME="root" \
DORIS_PASSWD="" \
DORIS_URL="10.58.72.135:9030"
ENV MYSQL_USERNAME="root" \
MYSQL_PASSWD="aiihhbfcsy123!@#" \
MYSQL_URL="192.168.107.89:3306" \

View File

@@ -17,5 +17,7 @@ docker load < realtime_protection/docker-ubuntu/protection_ubuntu.tar
docker build -t protection_nginx -f realtime_protection/docker-nginx/Dockerfile .
echo "============built frontend servers============"
docker run -itd --name nginx_frontend -p 8080:8080 protection_nginx
# 使用host模式进行Nginx服务器部署方便在中心部署时不会遭遇容器内部无法访问外部网络的问题
# 使用privileged模式防止中心部署时无法启动Nginx服务器
docker run --privileged --network host -itd --name nginx_frontend protection_nginx
echo "============started frontend servers============"

View File

@@ -17,5 +17,6 @@ docker load < realtime_protection/docker-ubuntu/protection_ubuntu.tar
docker build -t protection_springboot -f realtime_protection/docker-springboot/Dockerfile .
echo "============built backend servers============"
docker run -itd --name springboot_backend -p 8081:8081 protection_springboot
# 使用privileged模式在中心部署时不会遭遇Java内存异常错误
docker run --privileged -itd --name springboot_backend -p 8081:8081 protection_springboot
echo "============started backend servers============"

View File

@@ -20,8 +20,8 @@ docker build -t protection_springboot -f realtime_protection/docker-springboot/D
echo "============built backend servers============"
# 尝试开启多个SpringBoot
docker run -itd --name springboot_backend_1 -p 8081:8081 protection_springboot
docker run -itd --name springboot_backend_2 -p 8082:8081 protection_springboot
docker run -itd --name springboot_backend_3 -p 8083:8081 protection_springboot
docker run -itd --name springboot_backend_4 -p 8084:8081 protection_springboot
docker run --privileged -itd --name springboot_backend_1 -p 8081:8081 protection_springboot
docker run --privileged -itd --name springboot_backend_2 -p 8082:8081 protection_springboot
docker run --privileged -itd --name springboot_backend_3 -p 8083:8081 protection_springboot
docker run --privileged -itd --name springboot_backend_4 -p 8084:8081 protection_springboot
echo "============started backend servers============"

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
#userPower{height:calc(100vh - 83px);background:#fff}#userPower .ant-card-body{padding:0!important}#userPower .ant-table-empty{border-bottom:none}#userPower .leftBox{display:inline-block;vertical-align:top;width:20%;height:100%;border:1px solid #e8e8e8;background:#fff;overflow:auto}#userPower .leftBox .search-head{position:relative;height:57px;border-bottom:1px solid #e8e8e8;padding:12px 35px 0 12px}#userPower .leftBox .search-head>i{position:absolute;right:8px;top:18px;font-size:20px;color:#1890ff;cursor:pointer}#userPower .leftBox .companyItem{position:relative;padding:3px 10px 5px 20px;cursor:pointer}#userPower .leftBox .companyItem:hover{background:#f8f8f8}#userPower .leftBox .companyItem:hover .companyDelete,#userPower .leftBox .companyItem:hover .companyEdit{display:block}#userPower .leftBox .companyItem.active{background:#1890ff}#userPower .leftBox .companyItem.active p{color:#fff}#userPower .leftBox .companyItem.active .companyDelete,#userPower .leftBox .companyItem.active .companyEdit{color:#1890ff;background:#fff}#userPower .leftBox .companyItem.active .companyIcon{background:url(../assets/company2.33b66bf6.svg) no-repeat}#userPower .leftBox .companyItem p{margin-bottom:0;width:98%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#userPower .leftBox .companyItem p:first-child{font-size:16px;font-weight:600;margin-bottom:0}#userPower .leftBox .companyItem .companyDelete,#userPower .leftBox .companyItem .companyEdit{display:none;position:absolute;width:24px;height:24px;right:10px;top:18px;font-size:14px;color:#fff;cursor:pointer;text-align:center;line-height:26px;background:#1890ff;border-radius:50%}#userPower .leftBox .companyItem .companyDelete{top:55px}#userPower .leftBox .companyItem .companyIcon{display:inline-block;width:16px;height:16px;margin-right:5px;margin-bottom:-2px;background:url(../assets/company1.b48b661f.svg) no-repeat}#userPower .leftBox .companyItem:nth-child(6n){border-bottom:none;padding:5px 10px 3px 20px}#userPower .leftBox .ant-list-item-content{margin:0}#userPower .leftBox .ant-list-pagination{margin:14px 10px 15px 0}#userPower .leftBox .ant-spin-container{border-bottom:1px solid #e8e8e8;overflow:auto}#userPower .leftBox .ant-pagination-item:not(.ant-pagination-item-active){display:none}#userPower .rightBox{display:inline-block;width:80%;height:100%}#userPower .rightBox .ant-card-bordered{border-bottom:none;border-left:none}#userPower .rightBox .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userPower .rightBox .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userPower .rightBox .ant-table-body{overflow-y:auto!important}#userPower .ant-table-thead>tr>th{color:#000}#userPower .table-page-search-wrapper .ant-form-inline .ant-form-item,#userPower .table-page-search-wrapper .table-page-search-submitButtons{margin:5px 12px 5px 12px}#userPower .ant-form-item-label{width:75px}.wwx_userType,.wwx_userType:focus,.wwx_userType:hover{text-decoration:none}.wwx_userType li{color:#5f5f5f;line-height:30px;text-align:center}.wwx_userType li:hover{background:#e6f7ff}#userShow{height:calc(100vh - 83px);background:#fff}#userShow .ant-card-body{padding:0!important}#userShow .ant-card-bordered{border-bottom:none;border-left:none}#userShow .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userShow .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userShow .ant-table-body{overflow:auto!important}#userShow .ant-table-empty{border-bottom:none}#userShow .ant-table-thead>tr>th{color:#000}.wwx_addmodal .ant-modal-body{padding:10px 15px 5px 15px}.wwx_addmodal .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}.wwx_addmodal .ant-table-body{overflow:auto!important}#userAudit{height:calc(100vh - 83px);background:#fff}#userAudit .ant-card-body{padding:0!important}#userAudit .ant-card-bordered{border-bottom:none;border-left:none;border-top:none}#userAudit .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userAudit .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userAudit .ant-table-body{overflow:auto!important}#userAudit .ant-table-empty{border-bottom:none}#userAudit .ant-table-thead>tr>th{color:#000}.spstyle{width:160px;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}[data-v-7ab90e50] .fangyu-form .ant-form-item label{display:inline-block;width:90px}[data-v-7ab90e50] .addform .ant-form-item label{display:inline-block;width:95px}
#userPower{height:calc(100vh - 83px);background:#fff}#userPower .ant-card-body{padding:0!important}#userPower .ant-table-empty{border-bottom:none}#userPower .leftBox{display:inline-block;vertical-align:top;width:20%;height:100%;border:1px solid #e8e8e8;background:#fff;overflow:auto}#userPower .leftBox .search-head{position:relative;height:57px;border-bottom:1px solid #e8e8e8;padding:12px 35px 0 12px}#userPower .leftBox .search-head>i{position:absolute;right:8px;top:18px;font-size:20px;color:#1890ff;cursor:pointer}#userPower .leftBox .companyItem{position:relative;padding:3px 10px 5px 20px;cursor:pointer}#userPower .leftBox .companyItem:hover{background:#f8f8f8}#userPower .leftBox .companyItem:hover .companyDelete,#userPower .leftBox .companyItem:hover .companyEdit{display:block}#userPower .leftBox .companyItem.active{background:#1890ff}#userPower .leftBox .companyItem.active p{color:#fff}#userPower .leftBox .companyItem.active .companyDelete,#userPower .leftBox .companyItem.active .companyEdit{color:#1890ff;background:#fff}#userPower .leftBox .companyItem.active .companyIcon{background:url(../assets/company2.33b66bf6.svg) no-repeat}#userPower .leftBox .companyItem p{margin-bottom:0;width:98%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#userPower .leftBox .companyItem p:first-child{font-size:16px;font-weight:600;margin-bottom:0}#userPower .leftBox .companyItem .companyDelete,#userPower .leftBox .companyItem .companyEdit{display:none;position:absolute;width:24px;height:24px;right:10px;top:18px;font-size:14px;color:#fff;cursor:pointer;text-align:center;line-height:26px;background:#1890ff;border-radius:50%}#userPower .leftBox .companyItem .companyDelete{top:55px}#userPower .leftBox .companyItem .companyIcon{display:inline-block;width:16px;height:16px;margin-right:5px;margin-bottom:-2px;background:url(../assets/company1.b48b661f.svg) no-repeat}#userPower .leftBox .companyItem:nth-child(6n){border-bottom:none;padding:5px 10px 3px 20px}#userPower .leftBox .ant-list-item-content{margin:0}#userPower .leftBox .ant-list-pagination{margin:14px 10px 15px 0}#userPower .leftBox .ant-spin-container{border-bottom:1px solid #e8e8e8;overflow:auto}#userPower .leftBox .ant-pagination-item:not(.ant-pagination-item-active){display:none}#userPower .rightBox{display:inline-block;width:80%;height:100%}#userPower .rightBox .ant-card-bordered{border-bottom:none;border-left:none}#userPower .rightBox .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userPower .rightBox .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userPower .rightBox .ant-table-body{overflow-y:auto!important}#userPower .ant-table-thead>tr>th{color:#000}#userPower .table-page-search-wrapper .ant-form-inline .ant-form-item,#userPower .table-page-search-wrapper .table-page-search-submitButtons{margin:5px 12px 5px 12px}#userPower .ant-form-item-label{width:75px}.wwx_userType,.wwx_userType:focus,.wwx_userType:hover{text-decoration:none}.wwx_userType li{color:#5f5f5f;line-height:30px;text-align:center}.wwx_userType li:hover{background:#e6f7ff}#userShow{height:calc(100vh - 83px);background:#fff}#userShow .ant-card-body{padding:0!important}#userShow .ant-card-bordered{border-bottom:none;border-left:none}#userShow .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userShow .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userShow .ant-table-body{overflow:auto!important}#userShow .ant-table-empty{border-bottom:none}#userShow .ant-table-thead>tr>th{color:#000}.wwx_addmodal .ant-modal-body{padding:10px 15px 5px 15px}.wwx_addmodal .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}.wwx_addmodal .ant-table-body{overflow:auto!important}#userAudit{height:calc(100vh - 83px);background:#fff}#userAudit .ant-card-body{padding:0!important}#userAudit .ant-card-bordered{border-bottom:none;border-left:none;border-top:none}#userAudit .table-page-search-wrapper .ant-form-inline>div>div{padding-left:14px!important;padding-right:14px!important}#userAudit .ant-table-fixed-header .ant-table-scroll .ant-table-header{overflow:hidden!important;padding-bottom:0!important;margin-bottom:0!important}#userAudit .ant-table-body{overflow:auto!important}#userAudit .ant-table-empty{border-bottom:none}#userAudit .ant-table-thead>tr>th{color:#000}.spstyle{width:160px;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}[data-v-7fed68d0] .fangyu-form .ant-form-item label{display:inline-block;width:90px}[data-v-7fed68d0] .addform .ant-form-item label{display:inline-block;width:95px}

View File

@@ -1 +1,136 @@
<!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>主动防御与处置系统</title><style>#loading-mask{position:fixed;left:0;top:0;height:100%;width:100%;background:#fff;user-select:none;z-index:9999;overflow:hidden}.loading-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.loading-dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:64px;width:64px;height:64px;box-sizing:border-box}.loading-dot i{width:22px;height:22px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.loading-dot i:nth-child(1){top:0;left:0}.loading-dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.loading-dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.loading-dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style><link href="/css/chunk-095e1288.e17630d8.css" rel="prefetch"><link href="/css/chunk-201885d7.f87b6c99.css" rel="prefetch"><link href="/css/chunk-2b492edc.f46eb8e2.css" rel="prefetch"><link href="/css/chunk-32db9202.0d3c934c.css" rel="prefetch"><link href="/css/chunk-3ecd8d86.2e6aaa43.css" rel="prefetch"><link href="/css/chunk-4aed3d39.bdf98880.css" rel="prefetch"><link href="/css/user.34bb7f05.css" rel="prefetch"><link href="/js/chunk-095e1288.4c51f6d9.js" rel="prefetch"><link href="/js/chunk-201885d7.8442cec0.js" rel="prefetch"><link href="/js/chunk-2b492edc.d94e75e9.js" rel="prefetch"><link href="/js/chunk-32db9202.43b104da.js" rel="prefetch"><link href="/js/chunk-3ecd8d86.fb22be1f.js" rel="prefetch"><link href="/js/chunk-4aed3d39.02e3d103.js" rel="prefetch"><link href="/js/fail.3290eb38.js" rel="prefetch"><link href="/js/user.dbc83141.js" rel="prefetch"><link href="/css/app.dd66d164.css" rel="preload" as="style"><link href="/css/chunk-vendors.4013be7d.css" rel="preload" as="style"><link href="/js/app.12ad6b76.js" rel="preload" as="script"><link href="/js/chunk-vendors.ae8e2410.js" rel="preload" as="script"><link href="/css/chunk-vendors.4013be7d.css" rel="stylesheet"><link href="/css/app.dd66d164.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><div id="loading-mask"><div class="loading-wrapper"><span class="loading-dot loading-dot-spin"><i></i><i></i><i></i><i></i></span></div></div></div><script src="/js/chunk-vendors.ae8e2410.js"></script><script src="/js/app.12ad6b76.js"></script></body></html>
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>主动防御与处置系统</title>
<style>#loading-mask {
position: fixed;
left: 0;
top: 0;
height: 100%;
width: 100%;
background: #fff;
user-select: none;
z-index: 9999;
overflow: hidden
}
.loading-wrapper {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -100%)
}
.loading-dot {
animation: antRotate 1.2s infinite linear;
transform: rotate(45deg);
position: relative;
display: inline-block;
font-size: 64px;
width: 64px;
height: 64px;
box-sizing: border-box
}
.loading-dot i {
width: 22px;
height: 22px;
position: absolute;
display: block;
background-color: #1890ff;
border-radius: 100%;
transform: scale(.75);
transform-origin: 50% 50%;
opacity: .3;
animation: antSpinMove 1s infinite linear alternate
}
.loading-dot i:nth-child(1) {
top: 0;
left: 0
}
.loading-dot i:nth-child(2) {
top: 0;
right: 0;
-webkit-animation-delay: .4s;
animation-delay: .4s
}
.loading-dot i:nth-child(3) {
right: 0;
bottom: 0;
-webkit-animation-delay: .8s;
animation-delay: .8s
}
.loading-dot i:nth-child(4) {
bottom: 0;
left: 0;
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s
}
@keyframes antRotate {
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg)
}
}
@-webkit-keyframes antRotate {
to {
-webkit-transform: rotate(405deg);
transform: rotate(405deg)
}
}
@keyframes antSpinMove {
to {
opacity: 1
}
}
@-webkit-keyframes antSpinMove {
to {
opacity: 1
}
}</style>
<link href="/css/chunk-095e1288.e17630d8.css" rel="prefetch">
<link href="/css/chunk-201885d7.f87b6c99.css" rel="prefetch">
<link href="/css/chunk-2b492edc.f46eb8e2.css" rel="prefetch">
<link href="/css/chunk-3ecd8d86.2e6aaa43.css" rel="prefetch">
<link href="/css/chunk-4571b781.7cc8f9ce.css" rel="prefetch">
<link href="/css/chunk-ed0b5ca6.199a7381.css" rel="prefetch">
<link href="/css/user.34bb7f05.css" rel="prefetch">
<link href="/js/chunk-095e1288.4c51f6d9.js" rel="prefetch">
<link href="/js/chunk-201885d7.405cf9b6.js" rel="prefetch">
<link href="/js/chunk-2b492edc.2a621865.js" rel="prefetch">
<link href="/js/chunk-3ecd8d86.ed8ab1fa.js" rel="prefetch">
<link href="/js/chunk-4571b781.7d5c0f91.js" rel="prefetch">
<link href="/js/chunk-ed0b5ca6.c1f2509d.js" rel="prefetch">
<link href="/js/fail.3290eb38.js" rel="prefetch">
<link href="/js/user.dbc83141.js" rel="prefetch">
<link href="/css/app.dd66d164.css" rel="preload" as="style">
<link href="/css/chunk-vendors.4013be7d.css" rel="preload" as="style">
<link href="/js/app.b2d9f739.js" rel="preload" as="script">
<link href="/js/chunk-vendors.ae8e2410.js" rel="preload" as="script">
<link href="/css/chunk-vendors.4013be7d.css" rel="stylesheet">
<link href="/css/app.dd66d164.css" rel="stylesheet">
</head>
<body>
<noscript><strong>We're sorry but vue-antd-pro doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong></noscript>
<div id="app">
<div id="loading-mask">
<div class="loading-wrapper"><span class="loading-dot loading-dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
</div>
</div>
<script src="/js/chunk-vendors.ae8e2410.js"></script>
<script src="/js/app.b2d9f739.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long