From 775d0b85e11301ed815c40c868d82615bc7710b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Fri, 25 Mar 2022 11:13:09 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E8=B0=83=E6=95=B4logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/defaultSettings.js | 6 +++--- sysom_web/package.json | 2 ++ sysom_web/public/logo.png | Bin 0 -> 29661 bytes sysom_web/src/global.less | 21 ++++++++++++++++++-- sysom_web/yarn.lock | 29 ++++++++++++++++++++++++---- 5 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 sysom_web/public/logo.png diff --git a/sysom_web/config/defaultSettings.js b/sysom_web/config/defaultSettings.js index fe5df0f9..14dbf778 100644 --- a/sysom_web/config/defaultSettings.js +++ b/sysom_web/config/defaultSettings.js @@ -5,7 +5,7 @@ const Settings = { contentWidth: 'Fluid', fixedHeader: true, fixSiderbar: true, - title: '系统运维平台', - logo: null, + title: '统信有幄UMOP', + logo: '/logo.png', }; -export default Settings; \ No newline at end of file +export default Settings; diff --git a/sysom_web/package.json b/sysom_web/package.json index 68a95463..7b85834d 100644 --- a/sysom_web/package.json +++ b/sysom_web/package.json @@ -57,6 +57,8 @@ "@umijs/route-utils": "^2.0.3", "antd": "4.17.0", "axios": "^0.26.1", + "browserslist": "^4.20.2", + "caniuse-lite": "^1.0.30001320", "classnames": "^2.2.6", "lodash": "^4.17.11", "moment": "^2.25.3", diff --git a/sysom_web/public/logo.png b/sysom_web/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ef27172d4cf33aaea317029595a55f7703ad1eff GIT binary patch literal 29661 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

x%%XqEcBmoqHF0PD%k-k3V#{7+B<3-xhr zclEY1AW91*5?dKoD$GVcEW@G0x@}~m(V@hHa&9Sa*5Xe0gX6}9y#5Vi46QSNBW}x8 zyR4Np^7iJTu~a#M5pxpDdqHAouw2>QD((-0GdVCI=w!-IIge0(@C%9Z6E3fyKDa~bB3E?$`5qg_-pID3Hzl?suy{i zw+ry-?|a+U*AcXpafBfrhBtRb){ciyW&XyJnaZO45fe&Jma_(gle{Wd)RZzWn+E(J D5XV-5 literal 0 HcmV?d00001 diff --git a/sysom_web/src/global.less b/sysom_web/src/global.less index a58f01c7..acfa0b1c 100644 --- a/sysom_web/src/global.less +++ b/sysom_web/src/global.less @@ -24,7 +24,24 @@ body, .ant-pro-global-footer-links{ margin: 0; } - + +.ant-pro-top-nav-header-logo h1{ + color: rgba(255, 255, 255, 0.65); + line-height: 48px; + font-size: 15px; + font-weight: bold; +} + +.ant-pro-top-nav-header-logo img{ + padding-right:20px; + height:15px; + vertical-align: text-top; + border-right: 1px solid rgba(255, 255, 255, 0.65); +} + +.ant-pro-top-nav-header-menu{ + margin-left: 50px; +} canvas { display: block; @@ -66,4 +83,4 @@ ol { } .ant-carousel .slick-dots li button{background: #fff !important;} -.ant-carousel .slick-dots li.slick-active button{background: #fff !important;} \ No newline at end of file +.ant-carousel .slick-dots li.slick-active button{background: #fff !important;} diff --git a/sysom_web/yarn.lock b/sysom_web/yarn.lock index 4b4fee6e..dbd8e70b 100644 --- a/sysom_web/yarn.lock +++ b/sysom_web/yarn.lock @@ -5086,6 +5086,17 @@ browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^ node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.20.2: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== + dependencies: + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + bser@2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -5252,10 +5263,10 @@ camelcase@^6.0.0: resolved "https://registry.npmmirror.com/camelcase/download/camelcase-6.2.1.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001280: - version "1.0.30001282" - resolved "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001282.tgz?cache=0&sync_timestamp=1637135357719&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" - integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== +caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001280, caniuse-lite@^1.0.30001317, caniuse-lite@^1.0.30001320: + version "1.0.30001320" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz" + integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== capture-exit@^2.0.0: version "2.0.0" @@ -6773,6 +6784,11 @@ electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.896: resolved "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.907.tgz#c8e155a17cb642a1023481c601aa3ad9ee61f402" integrity sha512-xoUPSkjimw51d9ryeH38XUwmR3HmCA+eky4hk0YEgsWeBWGyhb35OCvT3lWAdmvIkcGYCRNOB8LvtO00dJQpOA== +electron-to-chromium@^1.4.84: + version "1.4.91" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.91.tgz#842bbc97fd639abe7e46e7da530e3af5f6ca2831" + integrity sha512-Z7Jkc4+ouEg8F6RrrgLOs0kkJjI0cnyFQmnGVpln8pPifuKBNbUr37GMgJsCTSwy6Z9TK7oTwW33Oe+3aERYew== + element-resize-event@^3.0.3: version "3.0.6" resolved "https://registry.nlark.com/element-resize-event/download/element-resize-event-3.0.6.tgz#3a18efd4879ad615e979fd8bbf173b014987eb9a" @@ -11669,6 +11685,11 @@ node-releases@^2.0.1: resolved "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634806914912&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha1-PR05XyBPHy8ppUNYuftnh2WtL8U= +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629301911873&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" -- Gitee From 9275dc5b51e85db0c83539d6f9adf3f00545357f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Tue, 29 Mar 2022 17:15:21 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/proxy.js | 4 +++- sysom_web/src/pages/security/List/index.jsx | 7 ++++++- .../pages/security/components/Headcard.jsx | 20 +++++++++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/sysom_web/config/proxy.js b/sysom_web/config/proxy.js index 51abb491..8674628d 100644 --- a/sysom_web/config/proxy.js +++ b/sysom_web/config/proxy.js @@ -12,7 +12,9 @@ export default { '/api/v1/': { // 要代理的地址 //target: 'https://preview.pro.ant.design', - target: 'http://127.0.0.1:8001', + // target: 'http://127.0.0.1:8001', + // target: 'http://10.7.33.64/', + target: ' http://10.12.17.202:8000', // 配置了这个可以从 http 代理到 https // 依赖 origin 的功能可能需要这个,比如 cookie changeOrigin: true, diff --git a/sysom_web/src/pages/security/List/index.jsx b/sysom_web/src/pages/security/List/index.jsx index 492959f8..4a6d5cf9 100644 --- a/sysom_web/src/pages/security/List/index.jsx +++ b/sysom_web/src/pages/security/List/index.jsx @@ -22,6 +22,8 @@ function List(props) { const [succesvisible, setsuccesvisible] = useState(false); const [errvisible, seterrvisible] = useState(false); const [vlue, setCount] = useState(0); + const [huan,sethuan]=useState(false) + const showModal = () => { const leght = selectedRows.length; if (leght > 0) { @@ -61,6 +63,9 @@ function List(props) { const handleCancel = () => { setIsModalVisible(false); }; + const geng=()=>{ + sethuan(true) + } const columns = [ { @@ -177,7 +182,7 @@ function List(props) { return (

- + + + {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount}个,其中高危漏洞{higtcount}个,请尽快修复。 {param.isShow?():""} + + + + {param.quan?( ):""} + + + +
); -- Gitee From f4fe1703390488bd163929372f0ba8af3314c761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Fri, 1 Apr 2022 14:50:07 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/proxy.js | 2 +- sysom_web/src/locales/zh-CN/pages.js | 19 ++ .../src/pages/security/Historical/index.jsx | 153 ++++++------ .../security/Historicalist/historicalist.less | 2 +- .../pages/security/Historicalist/index.jsx | 217 +++++++++--------- .../security/Viewdetails/Viewdetails.less | 26 +-- .../src/pages/security/Viewdetails/index.jsx | 50 ++-- sysom_web/src/pages/security/service.js | 8 +- 8 files changed, 231 insertions(+), 246 deletions(-) diff --git a/sysom_web/config/proxy.js b/sysom_web/config/proxy.js index 8674628d..0ac98530 100644 --- a/sysom_web/config/proxy.js +++ b/sysom_web/config/proxy.js @@ -14,7 +14,7 @@ export default { //target: 'https://preview.pro.ant.design', // target: 'http://127.0.0.1:8001', // target: 'http://10.7.33.64/', - target: ' http://10.12.17.202:8000', + target: ' http://10.12.17.202:8001', // 配置了这个可以从 http 代理到 https // 依赖 origin 的功能可能需要这个,比如 cookie changeOrigin: true, diff --git a/sysom_web/src/locales/zh-CN/pages.js b/sysom_web/src/locales/zh-CN/pages.js index 1274f562..7a294d13 100644 --- a/sysom_web/src/locales/zh-CN/pages.js +++ b/sysom_web/src/locales/zh-CN/pages.js @@ -66,5 +66,24 @@ export default { 'pages.journal.audit.login': '登录行为', 'pages.journal.audit.action': '操作行为', 'pages.journal.audit.response_status': '返回状态', + 'pages.security.Historical.title': '历史修复漏洞信息', + 'pages.security.Historical.id': '序号', + 'pages.security.Historical.cve_id': 'cve编号', + 'pages.security.Historical.fixed_time': '修复时间', + 'pages.security.Historical.fix_user': '修复者', + 'pages.security.Historical.vul_level': '漏洞等级', + 'pages.security.Historical.severe_risk': '严重', + 'pages.security.Historical.high_risk': '高危', + 'pages.security.Historical.medium_risk': '中危', + 'pages.security.Historical.low_risk': '低危', + 'pages.security.Historical.fix_status': 'cve修复状态', + 'pages.security.Historical.details': '查看详情', + 'pages.security.Historical.back': '返回', + 'pages.security.Historical.created_at': '创建时间', + 'pages.security.Historical.success': '成功', + 'pages.security.Historical.fail': '失败', + 'pages.security.Historical.fix_details': 'CVE修复详情', + 'pages.security.Historical.fix_success': 'CVE修复成功', + 'pages.security.Historical.fix_fail': 'CVE修复失败,失败原因:', }; diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index 209b4b5b..a7012c1f 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -1,117 +1,112 @@ -import React ,{useState,useEffect}from 'react'; -import {Button,Card,Table,Col,Row} from 'antd' +import { useState, useEffect } from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import { Button, Col, Row } from 'antd' import './hist.less' -import {histApi} from '../service' +import { histApi } from '../service' import { PageContainer } from '@ant-design/pro-layout'; - +import ProTable from '@ant-design/pro-table'; + function index(props) { - const [dataSource,setdataSource]=useState([]) - const [total,setTotal]=useState(0) - useEffect(async() => { - const msg=await histApi() - setdataSource(msg.data) - }, []); - const columns=[ - - { - title: "序号", - key: "id", - width: 80, - align: "center", - render: (txt, record, index) => index + 1, - }, + const intl = useIntl(); + const columns = [ + { + title: , + key: "id", + width: 80, + align: "center", + render: (txt, record, index) => index + 1, + }, { - title:"cve编号", - dataIndex:'cve_id', - key:'cve_id', + title: , + dataIndex: 'cve_id', + key: 'cve_id', align: "center", }, { - title:"修复时间", - dataIndex:"fixed_time", - key:"fixed_time", + title: , + dataIndex: "fixed_time", + key: "fixed_time", align: "center", }, { - title:"修复者", - dataIndex:"fix_user", - key:"fix_user", + title: , + dataIndex: "fix_user", + key: "fix_user", align: "center", }, { - title:"漏洞等级", - dataIndex:"vul_level", - key:"vul_level", + title: , + dataIndex: "vul_level", + key: "vul_level", align: "center", - render:(txt,record)=>{ - - if(record.vul_level=="high"){ - return
高危
- }else if(record.vul_level=="medium"){ - return
中危
- }else if(record.vul_level=="critical"){ - return
严重
- }else if (record.vul_level == "low") { - return
低危
; + render: (txt, record) => { + if (record.vul_level == "high") { + return
+ } else if (record.vul_level == "medium") { + return
+ } else if (record.vul_level == "critical") { + return
+ } else if (record.vul_level == "low") { + return
; } else if (record.vul_level == "") { return
; } - }, - },{ - title:"CVE修复状态", - dataIndex:"status", - key:"status", + }, + }, { + title: , + dataIndex: "status", + key: "status", align: "center", width: 150, - render:(txt,record)=>{ - if(record.status=="success"){ - return
- }else{ - return
- } + render: (txt, record) => { + if (record.status == "success") { + return
+ } else { + return
+ } }, - }, { - title:"操作", + title: , align: "center", - render:(txt,record,index)=>{ + render: (txt, record, index) => { return (
- - +
) } } - ] - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100] , - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; return (
- -
-
- - - - + + + + + + + +
); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/Historicalist/historicalist.less b/sysom_web/src/pages/security/Historicalist/historicalist.less index 1468f007..f11511a9 100644 --- a/sysom_web/src/pages/security/Historicalist/historicalist.less +++ b/sysom_web/src/pages/security/Historicalist/historicalist.less @@ -13,7 +13,7 @@ margin-left: 55px; border-radius: 50%; margin-left: 55px; } -.list-table{ +.hisTable{ margin-top: 20px; } .ant-table-pagination.ant-pagination{ diff --git a/sysom_web/src/pages/security/Historicalist/index.jsx b/sysom_web/src/pages/security/Historicalist/index.jsx index 82b8636d..4c33efb2 100644 --- a/sysom_web/src/pages/security/Historicalist/index.jsx +++ b/sysom_web/src/pages/security/Historicalist/index.jsx @@ -1,132 +1,135 @@ -import React,{useEffect,useState} from 'react'; -import {Button,Card,Table,Row,Col} from 'antd' +import { useIntl, FormattedMessage } from 'umi'; +import { Button, Row, Col } from 'antd' import './historicalist.less' import { PageContainer } from '@ant-design/pro-layout'; -import {histidApi,} from '../service' +import { histidApi, } from '../service' import Headcard from "../components/Headcard"; +import ProTable from '@ant-design/pro-table'; function index(props) { - const [dataSource,setdataSource]=useState([]) - const [total,setTotal]=useState(0) - const [title,setTitle]=useState("") - useEffect( async()=>{ - const msg=await histidApi(props.match.params.id) - setdataSource(msg.setdatasource) - setTitle(msg.title) - - },[]) + console.log('props', props) + const intl = useIntl(); const fn = () => { props.history.push("/security/historical"); }; - + const columns = [ - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100], - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; - const columns=[ - { - title: "序号", + title: , key: "id", width: 80, align: "center", - render: (txt, record, index) => index + 1, + render: (txt, record, index) => index + 1, + }, + { + title: , + dataIndex: 'hostname', + key: 'hostname', + align: "center", + }, + { + title: , + dataIndex: "ip", + key: "ip", + align: "center", + }, + { + title: , + dataIndex: "created_by", + key: "created_by", + align: "center", + }, + { + title: , + dataIndex: "created_at", + key: "created_at", + align: "center", }, - { - title:"主机名称", - dataIndex:'hostname', - key:'hostname', - align: "center", - }, - { - title:"IP地址", - dataIndex:"ip", - key:"ip", - align: "center", - }, - { - title:"用户", - dataIndex:"created_by", - key:"created_by", - align: "center", - }, - { - title:"创建时间", - dataIndex:"created_at", - key:"created_at", - align: "center", - }, - { - title:"主机状态", - dataIndex:"host_status", - key:"host_status", - align: "center", - render:(txt,record)=>{ - if(record.host_status==="running"){ - return
运行中
- }else{ - return
离线
+ { + title: , + dataIndex: "host_status", + key: "host_status", + align: "center", + render: (txt, record) => { + if (record.host_status === "running") { + return
+ +
+ } else { + return
+ +
+ } } - } - },{ - title:"CVE修复状态", - dataIndex:"status", - key:"status", - align: "center", - width: 150, - render:(txt,record)=>{ - - if(record.status=="success"){ - return
- }else{ - return
- } + }, { + title: , + dataIndex: "status", + key: "status", + align: "center", + width: 150, + render: (txt, record) => { + + if (record.status == "success") { + return
+ } else { + return
+ } + }, + filters: [ + { + text: + + , value: 'success' + }, + { + text: + + , value: 'fail' + }, + + ], + onFilter: (value, record) => record.status.includes(value), }, - filters: [ - { text: '成功', value: 'success' }, - { text: '失败', value: 'fail' }, - - ], - onFilter: (value, record) => record.status.includes(value), - }, - { - title:"CVE修复详情", - align: "center", - render:(txt,record,index)=>{ - return ( -
- - -
- ) + { + title: , + align: "center", + render: (txt, record, index) => { + return ( +
+ +
+ ) + } } - } - -] + ] return (
- - - - - - - - - + {/* */} + { return histidApi(props.match.params.id); }} + /> + + + + + + + ); } diff --git a/sysom_web/src/pages/security/Viewdetails/Viewdetails.less b/sysom_web/src/pages/security/Viewdetails/Viewdetails.less index 5a7ed88e..e42d5d7f 100644 --- a/sysom_web/src/pages/security/Viewdetails/Viewdetails.less +++ b/sysom_web/src/pages/security/Viewdetails/Viewdetails.less @@ -1,6 +1,5 @@ -.card_succ{ +.card_result{ margin-top: 15px; - font-size: 16px; h3{ margin-bottom: 12px; @@ -17,29 +16,12 @@ span{ margin-left: 5px; } - } -} -.card_err{ - margin-top: 15px; - font-size: 16px; - h3{ - margin-bottom: 12px; - span{ - margin-right: 12px; + &.card_err{ + color: red; } - } - h5{ - font-size: 18px; - - } - p{ - font-size: 14px; - color: red; - span{ - margin-left: 6px; } } -} + .err_Button{ margin-left: 92%; margin-top: 20px; diff --git a/sysom_web/src/pages/security/Viewdetails/index.jsx b/sysom_web/src/pages/security/Viewdetails/index.jsx index c48b3534..212ceea7 100644 --- a/sysom_web/src/pages/security/Viewdetails/index.jsx +++ b/sysom_web/src/pages/security/Viewdetails/index.jsx @@ -1,28 +1,27 @@ -import React, { useState, useEffect } from "react"; -import { Card, Table, Button, Progress, Modal, Row, Col } from "antd"; +import { useState, useEffect } from "react"; +import { FormattedMessage } from 'umi'; +import { Button, Row, Col } from "antd"; import "./Viewdetails.less"; import { viewApi, summaryApi } from "../service"; import { PageContainer } from "@ant-design/pro-layout"; import Headcard from "../components/Headcard"; +import ProCard from "@ant-design/pro-card"; function index(props) { const [home, sethome] = useState(""); const [reason, setreason] = useState(""); const [Svisible, setSvisible] = useState(false); - const [errvisible, seterrvisible] = useState(false); useEffect(async () => { const msg = await viewApi( props.match.params.id, props.match.params.homename ); - + sethome(msg.data.hostname); if (msg.data.status == "fail") { - seterrvisible(true); - sethome(msg.data.hostname); + setSvisible(false); setreason(msg.data.details); } else { setSvisible(true); - sethome(msg.data.hostname); } }, []); const fn = () => { @@ -31,35 +30,24 @@ function index(props) { return (
- - - {Svisible ? ( -

主机名称 {home}

-

CVE修复成功.

-
- ) : null} - {errvisible ? ( - -

- 主机名称 - {home} -

- -

CVE修复失败,失败原因:{reason}

-
- ) : null} - + {/* */} + +

+ + {home}

+ {Svisible ? +

.

+ :

{reason}

} +
+ -
- - {" "} + diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index 506fbd36..7de24649 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -58,11 +58,9 @@ const token = localStorage.getItem('token'); }, ...(options || {}), }); - - return { - setdatasource:msg.data.hosts_datail, - title:msg.data.cve_id - } + // console.log('msg',msg) + msg.data.data = [...msg.data.hosts_datail]; + return msg.data; }; -- Gitee From 588b9d8d8e3b2ff1f51948de9b9730ed5b7aed96 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 6 Apr 2022 17:44:20 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=BC=8F=E6=B4=9E=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/src/locales/zh-CN/pages.js | 24 ++ .../src/pages/security/Historical/index.jsx | 6 +- .../security/Historicalist/historicalist.less | 6 + .../pages/security/Historicalist/index.jsx | 40 +-- .../src/pages/security/Homelist/Cvetable.jsx | 158 +++++++++++ .../src/pages/security/Homelist/Toptable.jsx | 51 ++++ .../src/pages/security/Homelist/homelist.less | 15 +- .../src/pages/security/Homelist/index.jsx | 216 ++------------- sysom_web/src/pages/security/List/index.jsx | 256 ++++++++---------- sysom_web/src/pages/security/List/list.less | 13 +- .../src/pages/security/Viewdetails/index.jsx | 29 +- .../pages/security/components/Headcard.jsx | 40 --- .../pages/security/components/ListCard.jsx | 57 ++++ .../pages/security/components/restoration.jsx | 12 + 14 files changed, 494 insertions(+), 429 deletions(-) create mode 100644 sysom_web/src/pages/security/Homelist/Cvetable.jsx create mode 100644 sysom_web/src/pages/security/Homelist/Toptable.jsx delete mode 100644 sysom_web/src/pages/security/components/Headcard.jsx create mode 100644 sysom_web/src/pages/security/components/ListCard.jsx create mode 100644 sysom_web/src/pages/security/components/restoration.jsx diff --git a/sysom_web/src/locales/zh-CN/pages.js b/sysom_web/src/locales/zh-CN/pages.js index f1b60c96..a104d99c 100644 --- a/sysom_web/src/locales/zh-CN/pages.js +++ b/sysom_web/src/locales/zh-CN/pages.js @@ -71,5 +71,29 @@ export default { 'pages.journal.task.params': '参数列表', 'pages.journal.task.success': '成功', 'pages.journal.task.fail': '失败', + 'pages.security.list.index':'序号', + 'pages.security.list.cve_id':'编号', + 'pages.security.list.pub_time':'发布时间', + 'pages.security.list.vul_level':'漏洞等级', + 'pages.security.list.hosts':'涉及主机', + 'pages.security.list.operation':'操作', + 'pages.security.list.high':'高危', + 'pages.security.list.medium':'中危', + 'pages.security.list.critical':'严重', + 'pages.security.list.low':'低危', + 'pages.security.list.repair':'修复', + 'pages.security.list.confirm':'确认修复吗', + 'pages.security.list.re':'正在修复中...', + 'pages.security.list.error':'修复出错了,', + 'pages.security.list.details':'查看详情,', + 'pages.security.Homelist.name':'软件名称', + 'pages.security.Homelist.vul_level':'严重程度', + 'pages.security.Homelist.fixed_version':'修复版本', + 'pages.security.Homelist.hostname':'主机名称', + 'pages.security.Homelist.ip':'IP地址', + 'pages.security.Homelist.created_by':'用户', + 'pages.security.Homelist.created_at':'创建时间', + 'pages.security.Homelist.status':'主机状态', + 'pages.security.Homelist.re':'修复中', }; diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index 209b4b5b..67111e69 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -51,10 +51,8 @@ function index(props) { return
中危
}else if(record.vul_level=="critical"){ return
严重
- }else if (record.vul_level == "low") { - return
低危
; - } else if (record.vul_level == "") { - return
; + }else{ + return
低危
} }, },{ diff --git a/sysom_web/src/pages/security/Historicalist/historicalist.less b/sysom_web/src/pages/security/Historicalist/historicalist.less index 1468f007..06c6ee97 100644 --- a/sysom_web/src/pages/security/Historicalist/historicalist.less +++ b/sysom_web/src/pages/security/Historicalist/historicalist.less @@ -13,6 +13,12 @@ margin-left: 55px; border-radius: 50%; margin-left: 55px; } +.numbersuccess{ + color: palegreen; +} +.numbererr{ + color: red +} .list-table{ margin-top: 20px; } diff --git a/sysom_web/src/pages/security/Historicalist/index.jsx b/sysom_web/src/pages/security/Historicalist/index.jsx index 82b8636d..c43079de 100644 --- a/sysom_web/src/pages/security/Historicalist/index.jsx +++ b/sysom_web/src/pages/security/Historicalist/index.jsx @@ -2,26 +2,29 @@ import React,{useEffect,useState} from 'react'; import {Button,Card,Table,Row,Col} from 'antd' import './historicalist.less' import { PageContainer } from '@ant-design/pro-layout'; -import {histidApi,} from '../service' -import Headcard from "../components/Headcard"; - +import {histidApi,summaryApi} from '../service' + function index(props) { const [dataSource,setdataSource]=useState([]) const [total,setTotal]=useState(0) - const [title,setTitle]=useState("") useEffect( async()=>{ const msg=await histidApi(props.match.params.id) - setdataSource(msg.setdatasource) - setTitle(msg.title) + console.log(msg) + setdataSource(msg.data) },[]) - const fn = () => { - props.history.push("/security/historical"); - }; - + const [affectcount,setaffectcount]=useState(0); + const [cvecount,setcvecount]=useState(0); + const [higtcount,sethigtcount]=useState(0) - + useEffect(async() => { + const msg=await summaryApi(); + console.log(msg) + setaffectcount(msg.affect) + setcvecount(msg.cvecount) + sethigtcount(msg.highcount) + }, []); const paginationProps = { showSizeChanger: true, showQuickJumper: true, @@ -75,7 +78,7 @@ function index(props) { if(record.host_status==="running"){ return
运行中
}else{ - return
离线
+ return
off
} } },{ @@ -105,7 +108,7 @@ function index(props) { render:(txt,record,index)=>{ return (
- +
) @@ -116,10 +119,13 @@ function index(props) { return (
- - -
- + {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount}个,其中高危漏洞{higtcount}个,请尽快修复。 + + +
+ + + {succesvisible?(

修复中< Progress width={40} percent={vlue} size="small" />

):null} + {errvisible?(

修复出错了,

):null} + + + + + + + + + ); +} + +export default Cvetable; diff --git a/sysom_web/src/pages/security/Homelist/Toptable.jsx b/sysom_web/src/pages/security/Homelist/Toptable.jsx new file mode 100644 index 00000000..8e09ac7d --- /dev/null +++ b/sysom_web/src/pages/security/Homelist/Toptable.jsx @@ -0,0 +1,51 @@ +import { useRef, useState } from "react"; +import { useIntl, FormattedMessage } from "umi"; +import ProTable from "@ant-design/pro-table"; +import {getOneById} from '../service' +import "./homelist.less"; + + +const Toptable = (params) => { + console.log(params.id) + +const request=async()=>{ + const msg=await getOneById(params.id); + msg.data = [...msg.setdata] + return msg +} + + const columns=[ + + { + title:, + dataIndex:'name', + align: "center", + }, + { + title:, + dataIndex:"vul_level", + key:"vul_level", + + }, + { + title:, + dataIndex:"fixed_version", + key:"fixed_version", + } + ] + return ( +
+ +
+ ); +}; + +export default Toptable; diff --git a/sysom_web/src/pages/security/Homelist/homelist.less b/sysom_web/src/pages/security/Homelist/homelist.less index 54dce3cf..b532c1ec 100644 --- a/sysom_web/src/pages/security/Homelist/homelist.less +++ b/sysom_web/src/pages/security/Homelist/homelist.less @@ -3,10 +3,13 @@ margin-bottom: 20px; } -// .numbersuccess{ -// color: palegreen; -// } -// .numbererr{ -// color: red -// } +.numbersuccess{ + color: palegreen; +} +.numbererr{ + color: red +} +.ant-card-body{ + padding-bottom: 0px; +} diff --git a/sysom_web/src/pages/security/Homelist/index.jsx b/sysom_web/src/pages/security/Homelist/index.jsx index d8a7112d..51ca5090 100644 --- a/sysom_web/src/pages/security/Homelist/index.jsx +++ b/sysom_web/src/pages/security/Homelist/index.jsx @@ -1,204 +1,22 @@ -import React ,{useState,useEffect}from 'react'; -import { Card, Table, Button,Progress,Row, Col} from "antd"; -import './homelist.less' +import { useRef ,useState} from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import ProCard from '@ant-design/pro-card'; import { PageContainer } from '@ant-design/pro-layout'; +import Toptable from './Toptable' +import Cvetable from './Cvetable' +import './homelist.less' -import {getOneById,manyApi} from '../service' -import Headcard from "../components/Headcard"; -function index(props) { - const [data,setdata]=useState([]) - const [lovodata,setlovodata]=useState([]) - const [total,setTotal]=useState(0) - const [selectedRowKeys, setselectedRowKeys] = useState([]); - const [selectedRows, setselectedRows] = useState([]); - const [title,settitle]=useState("") - const [vlue,setCount]=useState(0) - - useEffect(async()=>{ - const msg=await getOneById(props.match.params.id); - setlovodata(msg.setlovodata) - setdata(msg.setdata) - settitle(msg.title) - },[]) - const[succesvisible,setsuccesvisible]=useState(false); - const [errvisible,seterrvisible]=useState(false) - - const fn = () => { - props.history.push("/security/historical"); - }; - const rowSelection = { - selectedRowKeys, - onChange: (selectedRowKeys, selectedRows) => { - setselectedRowKeys(selectedRowKeys); - setselectedRows(selectedRows); - }, - }; - const columns=[ - - { - title:"软件名称", - dataIndex:'name', - key:'name' - }, - { - title:"严重程度", - dataIndex:"vul_level", - key:"vul_level", - - }, - { - title:"修复版本", - dataIndex:"fixed_version", - key:"fixed_version", - } - ] - const lnvohost=[ - { - title: "序号", - key: "id", - width: 80, - align: "center", - render: (txt, record, index) => index + 1, - }, - { - title:"主机名称", - dataIndex:'hostname', - key:'hostname' - }, - { - title:"IP地址", - dataIndex:"ip", - key:"ip", - }, - { - title:"用户", - dataIndex:"created_by", - key:"created_by", - }, - { - title:"创建时间", - dataIndex:"created_at", - key:"created_at", - }, - { - title:"主机状态", - dataIndex:"status", - key:"status", - render:(txt,record)=>{ - if(record.status==="running"){ - return
运行中
- }else{ - return
离线
- } - } - },{ - title:"操作", - render:(txt,record,index)=>{ - return ( -
- - -
- ) - } - } - ] - -const repair=async()=>{ - const arry=[]; - const leght =selectedRows.length; - - if(leght>0){ - setsuccesvisible(true) - seterrvisible(false) - const time =setInterval(()=>{ - setCount(vlue=>vlue+1); - - },2500) - const id=props.match.params.id - for(let i = 0; i < leght; i++){ - arry.push({"cve_id":id, "hostname":[selectedRows[i].hostname ]}) - } - const msg=await manyApi({cve_id_list:arry}); - if(msg){ - setsuccesvisible(true) - setCount(99); - clearInterval(time) - if(msg.message=="fix cve failed"){ - seterrvisible(true) - setsuccesvisible(false); - setCount(0); - }else{ - setTimeout(() => { - props.history.push("/security/list") - }, 1000); - - } - } - } - - -} - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100] , - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; - return ( - -
- - - - -
- - -
- - - {succesvisible?(

修复中< Progress width={40} percent={vlue} size="small" />

):null} - {errvisible?(

恢复出错了,

):null} - - - { props.history.push("/security/list") }}> - -
-
-
-
+const { Divider } = ProCard; +const Homelist=(props)=> { + const id=props.match.params.id + return ( + + + + + + ); } -export default index; +export default Homelist; diff --git a/sysom_web/src/pages/security/List/index.jsx b/sysom_web/src/pages/security/List/index.jsx index 4cc4f898..dd5da1f4 100644 --- a/sysom_web/src/pages/security/List/index.jsx +++ b/sysom_web/src/pages/security/List/index.jsx @@ -1,39 +1,46 @@ -import React, { useState, useEffect, useRef } from "react"; -import { Card, Table, Button, Progress, Modal, Tooltip, message, } from "antd"; +import { useRef ,useState} from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import ProCard from '@ant-design/pro-card'; +import { PageContainer } from '@ant-design/pro-layout'; +import { Button,Modal,Progress} from 'antd'; +import ProTable from '@ant-design/pro-table'; +import Restoration from "../components/restoration" +import ListCard from '../components/ListCard' import "./list.less"; -import { listApi, manyApi, updataApi } from "../service"; -import { PageContainer } from "@ant-design/pro-layout"; -import Headcard from "../components/Headcard"; +import { listApi, manyApi } from "../service"; -function List(props) { - // console.log(props) - const [data, setdata] = useState([]); - - useEffect(async () => { - const msg = await listApi(); - - setdata(msg.data); - }, []); +const { Divider } = ProCard; +const List=(props)=> { + const actionRef = useRef(); + const intl = useIntl(); const fn = () => { props.history.push("/security/historical"); }; + const [selectedRowKeys, setselectedRowKeys] = useState(0); + const [selectedRows,setselectedRows]=useState(0) + const rowSelection = { + onChange: (selectedRowKeys,selectedRows) => { + setselectedRowKeys(selectedRowKeys) + setselectedRows(selectedRows) + }, + }; const [isModalVisible, setIsModalVisible] = useState(false); const [succesvisible, setsuccesvisible] = useState(false); const [errvisible, seterrvisible] = useState(false); const [vlue, setCount] = useState(0); - const [huan,sethuan]=useState(false) + const showModal = () => { - const leght = selectedRows.length; - if (leght > 0) { + const leght = selectedRows.length; + if (leght > 0) { setIsModalVisible(true); } }; const handleOk = async () => { const time = setInterval(() => { setCount((vlue) => vlue + 1); - }, 2500); + }, 4500); setIsModalVisible(false); setsuccesvisible(true); const arry = []; @@ -44,7 +51,7 @@ function List(props) { hostname: selectedRows[i].hosts, }); } - const msg = await manyApi({ cve_id_list: arry }); + const msg = await manyApi({ cve_id_list: arry }); if (msg) { setIsModalVisible(false); setsuccesvisible(true); @@ -63,73 +70,67 @@ function List(props) { const handleCancel = () => { setIsModalVisible(false); }; - const geng=async()=>{ - sethuan(true) - const msg = await updataApi(); - console.log(msg) - if(msg.message=="success"){ - sethuan(false) - props.history.push("/security"); - }else if(msg.message=="forbidden"){ - sethuan(false) - message.warning('操作频率过快,请稍后再试!'); -} - } - + const columns = [ { - title: "序号", - key: "index", - width: 80, + title: , + dataIndex: 'index', align: "center", - + hideInSearch: true, render: (txt, record, index) => index + 1, }, { - title: "编号", - dataIndex: "cve_id", - key: "cve_id", + title: , + dataIndex: 'cve_id', align: "center", + hideInSearch: true }, { - title: "发布时间", - dataIndex: "pub_time", - key: "pub_time", + title: , + dataIndex: 'pub_time', + valueType: 'dateTime', align: "center", - sorter: (a, b) => a.pub_time.length - b.pub_time.length, + hideInSearch: true, + sorter: (a, b) => a.pub_time - b.pub_time, }, { - title: "漏洞等级", - dataIndex: "vul_level", - key: "vul_level", + title: , + dataIndex: 'vul_level', align: "center", - render: (txt, record) => { - if (record.vul_level == "high") { - return
高危
; - } else if (record.vul_level == "medium") { - return
中危
; - } else if (record.vul_level == "critical") { - return
严重
; - } else if (record.vul_level == "low") { - return
低危
; - } else if (record.vul_level == "") { - return
; - } + filters: true, + onFilter: true, + hideInSearch: true, + valueEnum: { + high: { + text: ( + + ), + }, + medium: { + text: ( + + ), + }, + critical: { + text: ( + + ), + }, + low: { + text: ( + + ), + }, }, - filters: [ - { text: "严重", value: "critical" }, - { text: "高危", value: "high" }, - { text: "中危", value: "medium" }, - { text: "低危", value: "low" }, - ], - onFilter: (value, record) => record.vul_level.includes(value), }, + { + title: , + dataIndex: 'hosts', width: "20%", - title: "涉及主机", align: "center", - dataIndex: "hosts", - key: "hosts", + valueType: 'select', + hideInSearch: true, onCell: () => { return { style: { @@ -141,105 +142,62 @@ function List(props) { }, }; }, - render: (text) => ( - - {text.toString()} + render: (_,record,text) => ( + + {record.hosts.toString()} ), }, { - title: "操作", + title: , + dataIndex: "option", align: "center", - render: (txt, record, index) => { - return ( -
- -
- ); - }, + valueType: "option", + render: (_, record) => [ + + {} + , + ], }, + + ]; - const [selectedRowKeys, setselectedRowKeys] = useState(0); - const [selectedRows, setselectedRows] = useState(0); - const [total, setTotal] = useState(0); - const rowSelection = { - selectedRowKeys, - onChange: (selectedRowKeys, selectedRows) => { - setselectedRowKeys(selectedRowKeys); - setselectedRows(selectedRows); - }, - }; - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10, 20, 50, 100], - defaultPageSize: 20, - // current: pageNum, // 当前页码 - showTotal: (total, ranage) => `共 ${total} 条`, - position: ["bottomRight"], - // size:"small" - }; return ( -
- - - - 修复 - - } - > - - -

确定修复吗

+
+ + + + [ + , + + ]} + rowSelection={rowSelection} + /> + + +

+ {} +

- -

正在修复中...

+

{}

-

- 恢复出错了, -

- -
+ +
); } diff --git a/sysom_web/src/pages/security/List/list.less b/sysom_web/src/pages/security/List/list.less index 3ee14fb0..43d63a63 100644 --- a/sysom_web/src/pages/security/List/list.less +++ b/sysom_web/src/pages/security/List/list.less @@ -4,6 +4,7 @@ .blue{ width: 20px; height: 20px; +background: blue; } .tan{ position: relative; @@ -11,6 +12,13 @@ height: 20px; width: 200px; } +// .waring{ +// width: 25px; +// height: 25px; +// background-image: url(../../../../public/icons/waring.png); +// background-repeat:no-repeat; + +// } .ant-modal-body{ p{ @@ -21,9 +29,4 @@ height: 20px; } -} -.Ooylined{ - float:right; - - } \ No newline at end of file diff --git a/sysom_web/src/pages/security/Viewdetails/index.jsx b/sysom_web/src/pages/security/Viewdetails/index.jsx index c48b3534..d42032e4 100644 --- a/sysom_web/src/pages/security/Viewdetails/index.jsx +++ b/sysom_web/src/pages/security/Viewdetails/index.jsx @@ -3,8 +3,6 @@ import { Card, Table, Button, Progress, Modal, Row, Col } from "antd"; import "./Viewdetails.less"; import { viewApi, summaryApi } from "../service"; import { PageContainer } from "@ant-design/pro-layout"; -import Headcard from "../components/Headcard"; - function index(props) { const [home, sethome] = useState(""); const [reason, setreason] = useState(""); @@ -25,17 +23,30 @@ function index(props) { sethome(msg.data.hostname); } }, []); - const fn = () => { - props.history.push("/security/historical"); - }; + const [affectcount, setaffectcount] = useState(0); + const [cvecount, setcvecount] = useState(0); + const [higtcount, sethigtcount] = useState(0); + useEffect(async () => { + const msg = await summaryApi(); + setaffectcount(msg.affect); + setcvecount(msg.cvecount); + sethigtcount(msg.highcount); + }, []); return (
- + + {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount} + 个,其中高危漏洞{higtcount}个,请尽快修复。 + - {Svisible ? ( -

主机名称 {home}

-

CVE修复成功.

+ {Svisible ? ( + +

+ 主机名称 + {home} +

+

CVE修复成功.

) : null} {errvisible ? ( diff --git a/sysom_web/src/pages/security/components/Headcard.jsx b/sysom_web/src/pages/security/components/Headcard.jsx deleted file mode 100644 index 05b914fc..00000000 --- a/sysom_web/src/pages/security/components/Headcard.jsx +++ /dev/null @@ -1,40 +0,0 @@ -import React,{useState,useEffect} from 'react'; -import { Card, Button,Row,Col} from "antd"; -import {summaryApi} from '../service' -import {SyncOutlined} from '@ant-design/icons'; -import '../List/list.less' - -function Headcard(param) { - const [affectcount,setaffectcount]=useState(0); - const [cvecount,setcvecount]=useState(0); - const [higtcount,sethigtcount]=useState(0) - - useEffect(async() => { - const msg=await summaryApi(); - setaffectcount(msg.affect) - setcvecount(msg.cvecount) - sethigtcount(msg.highcount) - }, []); - - - - - return ( -
- - -
- {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount}个,其中高危漏洞{higtcount}个,请尽快修复。 - {param.isShow?():""} - {param.upData?():""} - - - {param.quan?( < SyncOutlined className="Ooylined" style={{fontSize:'22px',}} spin />):""} - - - - - ); -} - -export default Headcard; \ No newline at end of file diff --git a/sysom_web/src/pages/security/components/ListCard.jsx b/sysom_web/src/pages/security/components/ListCard.jsx new file mode 100644 index 00000000..29939fc7 --- /dev/null +++ b/sysom_web/src/pages/security/components/ListCard.jsx @@ -0,0 +1,57 @@ +import { Statistic ,Button} from 'antd'; +import { useState, useEffect } from 'react'; +import ProCard from '@ant-design/pro-card'; +import RcResizeObserver from 'rc-resize-observer'; +import {summaryApi} from '../service' +const { Divider } = ProCard; + + +const ListCard=()=> { + const [responsive, setResponsive] = useState(false); + const [StatisticList, setStatisticList] = useState() + + useEffect(async() => { + const msg=await summaryApi(); + console.log(msg) + setStatisticList(msg) + }, []); + return ( + { + setResponsive(offset.width < 596); + }}> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +export default ListCard; diff --git a/sysom_web/src/pages/security/components/restoration.jsx b/sysom_web/src/pages/security/components/restoration.jsx new file mode 100644 index 00000000..7615f8f6 --- /dev/null +++ b/sysom_web/src/pages/security/components/restoration.jsx @@ -0,0 +1,12 @@ +import { Button, message } from "antd"; + +const restoration=(param)=> { + // console.log(param) + return ( +
+ +
+ ); +} + +export default restoration; -- Gitee From 3876dc5ff9d1cff579eedf23abbad55773ecb3d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Wed, 6 Apr 2022 17:44:46 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9C=AC=E5=9C=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/proxy.js | 3 ++- .../src/pages/security/Historical/index.jsx | 2 +- .../pages/security/Historicalist/index.jsx | 24 +++++++++---------- .../src/pages/security/Homelist/homelist.less | 5 ++++ .../src/pages/security/Homelist/index.jsx | 11 +++++---- sysom_web/src/pages/security/service.js | 1 - 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/sysom_web/config/proxy.js b/sysom_web/config/proxy.js index 0ac98530..a3f8f9e3 100644 --- a/sysom_web/config/proxy.js +++ b/sysom_web/config/proxy.js @@ -14,7 +14,8 @@ export default { //target: 'https://preview.pro.ant.design', // target: 'http://127.0.0.1:8001', // target: 'http://10.7.33.64/', - target: ' http://10.12.17.202:8001', + // target: 'http://10.7.38.146/', + target: 'http://10.12.17.202:8001', // 配置了这个可以从 http 代理到 https // 依赖 origin 的功能可能需要这个,比如 cookie changeOrigin: true, diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index a7012c1f..66aeb052 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -72,7 +72,7 @@ function index(props) { render: (txt, record, index) => { return (
-
diff --git a/sysom_web/src/pages/security/Historicalist/index.jsx b/sysom_web/src/pages/security/Historicalist/index.jsx index 4c33efb2..9b852c9b 100644 --- a/sysom_web/src/pages/security/Historicalist/index.jsx +++ b/sysom_web/src/pages/security/Historicalist/index.jsx @@ -1,21 +1,20 @@ -import { useIntl, FormattedMessage } from 'umi'; +import { useState } from 'react'; +import { FormattedMessage, } from 'umi'; import { Button, Row, Col } from 'antd' import './historicalist.less' import { PageContainer } from '@ant-design/pro-layout'; import { histidApi, } from '../service' -import Headcard from "../components/Headcard"; import ProTable from '@ant-design/pro-table'; - function index(props) { - console.log('props', props) - const intl = useIntl(); - const fn = () => { - props.history.push("/security/historical"); - }; + const [cveId, setCveId] = useState('cve'); + const getHist = async () => { + const res = await histidApi(props.match.params.id); + setCveId(res.cve_id); + return res; + } const columns = [ - { title: , key: "id", @@ -109,15 +108,14 @@ function index(props) { return (
- {/* */} { return histidApi(props.match.params.id); }} + request={getHist} /> @@ -134,4 +132,4 @@ function index(props) { ); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/Homelist/homelist.less b/sysom_web/src/pages/security/Homelist/homelist.less index 54dce3cf..16d1972e 100644 --- a/sysom_web/src/pages/security/Homelist/homelist.less +++ b/sysom_web/src/pages/security/Homelist/homelist.less @@ -3,6 +3,11 @@ margin-bottom: 20px; } +.allbtn{ + display:flex; + flex-direction:row-reverse; + align-items: center; +} // .numbersuccess{ // color: palegreen; // } diff --git a/sysom_web/src/pages/security/Homelist/index.jsx b/sysom_web/src/pages/security/Homelist/index.jsx index d8a7112d..14ce0986 100644 --- a/sysom_web/src/pages/security/Homelist/index.jsx +++ b/sysom_web/src/pages/security/Homelist/index.jsx @@ -187,13 +187,16 @@ const repair=async()=>{
- + {succesvisible?(

修复中< Progress width={40} percent={vlue} size="small" />

):null} {errvisible?(

恢复出错了,

):null} - - { props.history.push("/security/list") }}> - + + + + + +
diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index 7de24649..82f07fe6 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -58,7 +58,6 @@ const token = localStorage.getItem('token'); }, ...(options || {}), }); - // console.log('msg',msg) msg.data.data = [...msg.data.hosts_datail]; return msg.data; }; -- Gitee From e07d2bb7f3d00e6534e28b0e6691a29e46e8cc6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Wed, 6 Apr 2022 18:08:32 +0800 Subject: [PATCH 06/13] wuyadan --- sysom_web/config/defaultSettings.js | 4 +- sysom_web/src/global.less | 15 +- sysom_web/src/locales/zh-CN/pages.js | 19 ++ .../src/pages/security/Historical/index.jsx | 155 ++++++------ .../security/Historicalist/historicalist.less | 8 +- .../pages/security/Historicalist/index.jsx | 237 +++++++++--------- .../src/pages/security/Homelist/Cvetable.jsx | 11 +- .../src/pages/security/Homelist/homelist.less | 5 + .../security/Viewdetails/Viewdetails.less | 26 +- .../src/pages/security/Viewdetails/index.jsx | 71 ++---- sysom_web/src/pages/security/service.js | 7 +- 11 files changed, 269 insertions(+), 289 deletions(-) diff --git a/sysom_web/config/defaultSettings.js b/sysom_web/config/defaultSettings.js index fe5df0f9..ec65b1cc 100644 --- a/sysom_web/config/defaultSettings.js +++ b/sysom_web/config/defaultSettings.js @@ -5,7 +5,7 @@ const Settings = { contentWidth: 'Fluid', fixedHeader: true, fixSiderbar: true, - title: '系统运维平台', - logo: null, + title: '统信有幄UMOP', + logo: '/logo.png', }; export default Settings; \ No newline at end of file diff --git a/sysom_web/src/global.less b/sysom_web/src/global.less index a58f01c7..d5279b04 100644 --- a/sysom_web/src/global.less +++ b/sysom_web/src/global.less @@ -24,7 +24,20 @@ body, .ant-pro-global-footer-links{ margin: 0; } - + +.ant-pro-top-nav-header-logo h1{ + color: rgba(255, 255, 255, 0.65); + line-height: 48px; + font-size: 15px; + font-weight: bold; +} + +.ant-pro-top-nav-header-logo img{ + padding-right:20px; + height:15px; + vertical-align: text-top; + border-right: 1px solid rgba(255, 255, 255, 0.65); +} canvas { display: block; diff --git a/sysom_web/src/locales/zh-CN/pages.js b/sysom_web/src/locales/zh-CN/pages.js index a104d99c..68ca3ca7 100644 --- a/sysom_web/src/locales/zh-CN/pages.js +++ b/sysom_web/src/locales/zh-CN/pages.js @@ -95,5 +95,24 @@ export default { 'pages.security.Homelist.created_at':'创建时间', 'pages.security.Homelist.status':'主机状态', 'pages.security.Homelist.re':'修复中', + 'pages.security.Historical.title': '历史修复漏洞信息', + 'pages.security.Historical.id': '序号', + 'pages.security.Historical.cve_id': 'cve编号', + 'pages.security.Historical.fixed_time': '修复时间', + 'pages.security.Historical.fix_user': '修复者', + 'pages.security.Historical.vul_level': '漏洞等级', + 'pages.security.Historical.severe_risk': '严重', + 'pages.security.Historical.high_risk': '高危', + 'pages.security.Historical.medium_risk': '中危', + 'pages.security.Historical.low_risk': '低危', + 'pages.security.Historical.fix_status': 'cve修复状态', + 'pages.security.Historical.details': '查看详情', + 'pages.security.Historical.back': '返回', + 'pages.security.Historical.created_at': '创建时间', + 'pages.security.Historical.success': '成功', + 'pages.security.Historical.fail': '失败', + 'pages.security.Historical.fix_details': 'CVE修复详情', + 'pages.security.Historical.fix_success': 'CVE修复成功', + 'pages.security.Historical.fix_fail': 'CVE修复失败,失败原因:' }; diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index 67111e69..66aeb052 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -1,115 +1,112 @@ -import React ,{useState,useEffect}from 'react'; -import {Button,Card,Table,Col,Row} from 'antd' +import { useState, useEffect } from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import { Button, Col, Row } from 'antd' import './hist.less' -import {histApi} from '../service' +import { histApi } from '../service' import { PageContainer } from '@ant-design/pro-layout'; - +import ProTable from '@ant-design/pro-table'; + function index(props) { - const [dataSource,setdataSource]=useState([]) - const [total,setTotal]=useState(0) - useEffect(async() => { - const msg=await histApi() - setdataSource(msg.data) - }, []); - const columns=[ - - { - title: "序号", - key: "id", - width: 80, - align: "center", - render: (txt, record, index) => index + 1, - }, + const intl = useIntl(); + const columns = [ + { + title: , + key: "id", + width: 80, + align: "center", + render: (txt, record, index) => index + 1, + }, { - title:"cve编号", - dataIndex:'cve_id', - key:'cve_id', + title: , + dataIndex: 'cve_id', + key: 'cve_id', align: "center", }, { - title:"修复时间", - dataIndex:"fixed_time", - key:"fixed_time", + title: , + dataIndex: "fixed_time", + key: "fixed_time", align: "center", }, { - title:"修复者", - dataIndex:"fix_user", - key:"fix_user", + title: , + dataIndex: "fix_user", + key: "fix_user", align: "center", }, { - title:"漏洞等级", - dataIndex:"vul_level", - key:"vul_level", + title: , + dataIndex: "vul_level", + key: "vul_level", align: "center", - render:(txt,record)=>{ - - if(record.vul_level=="high"){ - return
高危
- }else if(record.vul_level=="medium"){ - return
中危
- }else if(record.vul_level=="critical"){ - return
严重
- }else{ - return
低危
+ render: (txt, record) => { + if (record.vul_level == "high") { + return
+ } else if (record.vul_level == "medium") { + return
+ } else if (record.vul_level == "critical") { + return
+ } else if (record.vul_level == "low") { + return
; + } else if (record.vul_level == "") { + return
; } - }, - },{ - title:"CVE修复状态", - dataIndex:"status", - key:"status", + }, + }, { + title: , + dataIndex: "status", + key: "status", align: "center", width: 150, - render:(txt,record)=>{ - if(record.status=="success"){ - return
- }else{ - return
- } + render: (txt, record) => { + if (record.status == "success") { + return
+ } else { + return
+ } }, - }, { - title:"操作", + title: , align: "center", - render:(txt,record,index)=>{ + render: (txt, record, index) => { return (
- - +
) } } - ] - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100] , - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; return (
- -
-
- - - - + + + + + + + +
); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/Historicalist/historicalist.less b/sysom_web/src/pages/security/Historicalist/historicalist.less index 06c6ee97..f11511a9 100644 --- a/sysom_web/src/pages/security/Historicalist/historicalist.less +++ b/sysom_web/src/pages/security/Historicalist/historicalist.less @@ -13,13 +13,7 @@ margin-left: 55px; border-radius: 50%; margin-left: 55px; } -.numbersuccess{ - color: palegreen; -} -.numbererr{ - color: red -} -.list-table{ +.hisTable{ margin-top: 20px; } .ant-table-pagination.ant-pagination{ diff --git a/sysom_web/src/pages/security/Historicalist/index.jsx b/sysom_web/src/pages/security/Historicalist/index.jsx index c43079de..9b852c9b 100644 --- a/sysom_web/src/pages/security/Historicalist/index.jsx +++ b/sysom_web/src/pages/security/Historicalist/index.jsx @@ -1,140 +1,135 @@ -import React,{useEffect,useState} from 'react'; -import {Button,Card,Table,Row,Col} from 'antd' +import { useState } from 'react'; +import { FormattedMessage, } from 'umi'; +import { Button, Row, Col } from 'antd' import './historicalist.less' import { PageContainer } from '@ant-design/pro-layout'; -import {histidApi,summaryApi} from '../service' - +import { histidApi, } from '../service' +import ProTable from '@ant-design/pro-table'; function index(props) { - const [dataSource,setdataSource]=useState([]) - const [total,setTotal]=useState(0) - useEffect( async()=>{ - const msg=await histidApi(props.match.params.id) - console.log(msg) - setdataSource(msg.data) - - },[]) - const [affectcount,setaffectcount]=useState(0); - const [cvecount,setcvecount]=useState(0); - const [higtcount,sethigtcount]=useState(0) - - useEffect(async() => { - const msg=await summaryApi(); - console.log(msg) - setaffectcount(msg.affect) - setcvecount(msg.cvecount) - sethigtcount(msg.highcount) - }, []); - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100], - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; - const columns=[ - + const [cveId, setCveId] = useState('cve'); + const getHist = async () => { + const res = await histidApi(props.match.params.id); + setCveId(res.cve_id); + return res; + } + + const columns = [ { - title: "序号", + title: , key: "id", width: 80, align: "center", - render: (txt, record, index) => index + 1, + render: (txt, record, index) => index + 1, + }, + { + title: , + dataIndex: 'hostname', + key: 'hostname', + align: "center", + }, + { + title: , + dataIndex: "ip", + key: "ip", + align: "center", + }, + { + title: , + dataIndex: "created_by", + key: "created_by", + align: "center", + }, + { + title: , + dataIndex: "created_at", + key: "created_at", + align: "center", }, - { - title:"主机名称", - dataIndex:'hostname', - key:'hostname', - align: "center", - }, - { - title:"IP地址", - dataIndex:"ip", - key:"ip", - align: "center", - }, - { - title:"用户", - dataIndex:"created_by", - key:"created_by", - align: "center", - }, - { - title:"创建时间", - dataIndex:"created_at", - key:"created_at", - align: "center", - }, - { - title:"主机状态", - dataIndex:"host_status", - key:"host_status", - align: "center", - render:(txt,record)=>{ - if(record.host_status==="running"){ - return
运行中
- }else{ - return
off
+ { + title: , + dataIndex: "host_status", + key: "host_status", + align: "center", + render: (txt, record) => { + if (record.host_status === "running") { + return
+ +
+ } else { + return
+ +
+ } } - } - },{ - title:"CVE修复状态", - dataIndex:"status", - key:"status", - align: "center", - width: 150, - render:(txt,record)=>{ - - if(record.status=="success"){ - return
- }else{ - return
- } + }, { + title: , + dataIndex: "status", + key: "status", + align: "center", + width: 150, + render: (txt, record) => { + + if (record.status == "success") { + return
+ } else { + return
+ } + }, + filters: [ + { + text: + + , value: 'success' + }, + { + text: + + , value: 'fail' + }, + + ], + onFilter: (value, record) => record.status.includes(value), }, - filters: [ - { text: '成功', value: 'success' }, - { text: '失败', value: 'fail' }, - - ], - onFilter: (value, record) => record.status.includes(value), - }, - { - title:"CVE修复详情", - align: "center", - render:(txt,record,index)=>{ - return ( -
- - -
- ) + { + title: , + align: "center", + render: (txt, record, index) => { + return ( +
+ +
+ ) + } } - } - -] + ] return (
- {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount}个,其中高危漏洞{higtcount}个,请尽快修复。 - - - - - - - - - - + + + + + + + + ); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/Homelist/Cvetable.jsx b/sysom_web/src/pages/security/Homelist/Cvetable.jsx index 41379ef0..89f55b23 100644 --- a/sysom_web/src/pages/security/Homelist/Cvetable.jsx +++ b/sysom_web/src/pages/security/Homelist/Cvetable.jsx @@ -141,13 +141,16 @@ const Cvetable=(params)=> { /> - + {succesvisible?(

修复中< Progress width={40} percent={vlue} size="small" />

):null} {errvisible?(

修复出错了,

):null} - - - + + + + + + diff --git a/sysom_web/src/pages/security/Homelist/homelist.less b/sysom_web/src/pages/security/Homelist/homelist.less index b532c1ec..bc265e8e 100644 --- a/sysom_web/src/pages/security/Homelist/homelist.less +++ b/sysom_web/src/pages/security/Homelist/homelist.less @@ -13,3 +13,8 @@ padding-bottom: 0px; } +.allbtn{ + display:flex; + flex-direction:row-reverse; + align-items: center; +} \ No newline at end of file diff --git a/sysom_web/src/pages/security/Viewdetails/Viewdetails.less b/sysom_web/src/pages/security/Viewdetails/Viewdetails.less index 5a7ed88e..e42d5d7f 100644 --- a/sysom_web/src/pages/security/Viewdetails/Viewdetails.less +++ b/sysom_web/src/pages/security/Viewdetails/Viewdetails.less @@ -1,6 +1,5 @@ -.card_succ{ +.card_result{ margin-top: 15px; - font-size: 16px; h3{ margin-bottom: 12px; @@ -17,29 +16,12 @@ span{ margin-left: 5px; } - } -} -.card_err{ - margin-top: 15px; - font-size: 16px; - h3{ - margin-bottom: 12px; - span{ - margin-right: 12px; + &.card_err{ + color: red; } - } - h5{ - font-size: 18px; - - } - p{ - font-size: 14px; - color: red; - span{ - margin-left: 6px; } } -} + .err_Button{ margin-left: 92%; margin-top: 20px; diff --git a/sysom_web/src/pages/security/Viewdetails/index.jsx b/sysom_web/src/pages/security/Viewdetails/index.jsx index d42032e4..7ebb3d06 100644 --- a/sysom_web/src/pages/security/Viewdetails/index.jsx +++ b/sysom_web/src/pages/security/Viewdetails/index.jsx @@ -1,76 +1,51 @@ -import React, { useState, useEffect } from "react"; -import { Card, Table, Button, Progress, Modal, Row, Col } from "antd"; +import { useState, useEffect } from "react"; +import { FormattedMessage } from 'umi'; +import { Button, Row, Col } from "antd"; import "./Viewdetails.less"; import { viewApi, summaryApi } from "../service"; import { PageContainer } from "@ant-design/pro-layout"; +import ProCard from "@ant-design/pro-card"; + function index(props) { const [home, sethome] = useState(""); const [reason, setreason] = useState(""); const [Svisible, setSvisible] = useState(false); - const [errvisible, seterrvisible] = useState(false); useEffect(async () => { const msg = await viewApi( props.match.params.id, props.match.params.homename ); - + sethome(msg.data.hostname); if (msg.data.status == "fail") { - seterrvisible(true); - sethome(msg.data.hostname); + setSvisible(false); setreason(msg.data.details); } else { setSvisible(true); - sethome(msg.data.hostname); } }, []); - const [affectcount, setaffectcount] = useState(0); - const [cvecount, setcvecount] = useState(0); - const [higtcount, sethigtcount] = useState(0); - useEffect(async () => { - const msg = await summaryApi(); - setaffectcount(msg.affect); - setcvecount(msg.cvecount); - sethigtcount(msg.highcount); - }, []); + const fn = () => { + props.history.push("/security/historical"); + }; return (
- - {affectcount}台主机存在被攻击风险,涉及CVE漏洞{cvecount} - 个,其中高危漏洞{higtcount}个,请尽快修复。 - - - {Svisible ? ( - -

- 主机名称 - {home} -

-

CVE修复成功.

-
- ) : null} - {errvisible ? ( - -

- 主机名称 - {home} -

- -

CVE修复失败,失败原因:{reason}

-
- ) : null} - + +

+ + {home}

+ {Svisible ? +

.

+ :

{reason}

} +
+ -
- - {" "} + @@ -79,4 +54,4 @@ function index(props) { ); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index 506fbd36..f6cd769b 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -58,11 +58,8 @@ const token = localStorage.getItem('token'); }, ...(options || {}), }); - - return { - setdatasource:msg.data.hosts_datail, - title:msg.data.cve_id - } + msg.data.data = [...msg.data.hosts_datail]; + return msg.data; }; -- Gitee From f096b01f293f26070d3dd592d75aaca4d236c32f Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 7 Apr 2022 13:49:54 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E5=AE=89=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/security/Historical/index.jsx | 155 +++++++++--------- .../pages/security/components/ListCard.jsx | 14 +- sysom_web/src/pages/security/service.js | 35 +++- 3 files changed, 115 insertions(+), 89 deletions(-) diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index 66aeb052..67111e69 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -1,112 +1,115 @@ -import { useState, useEffect } from 'react'; -import { useIntl, FormattedMessage } from 'umi'; -import { Button, Col, Row } from 'antd' +import React ,{useState,useEffect}from 'react'; +import {Button,Card,Table,Col,Row} from 'antd' import './hist.less' -import { histApi } from '../service' +import {histApi} from '../service' import { PageContainer } from '@ant-design/pro-layout'; -import ProTable from '@ant-design/pro-table'; - + function index(props) { - const intl = useIntl(); - const columns = [ - { - title: , - key: "id", - width: 80, - align: "center", - render: (txt, record, index) => index + 1, - }, + const [dataSource,setdataSource]=useState([]) + const [total,setTotal]=useState(0) + useEffect(async() => { + const msg=await histApi() + setdataSource(msg.data) + }, []); + const columns=[ + + { + title: "序号", + key: "id", + width: 80, + align: "center", + render: (txt, record, index) => index + 1, + }, { - title: , - dataIndex: 'cve_id', - key: 'cve_id', + title:"cve编号", + dataIndex:'cve_id', + key:'cve_id', align: "center", }, { - title: , - dataIndex: "fixed_time", - key: "fixed_time", + title:"修复时间", + dataIndex:"fixed_time", + key:"fixed_time", align: "center", }, { - title: , - dataIndex: "fix_user", - key: "fix_user", + title:"修复者", + dataIndex:"fix_user", + key:"fix_user", align: "center", }, { - title: , - dataIndex: "vul_level", - key: "vul_level", + title:"漏洞等级", + dataIndex:"vul_level", + key:"vul_level", align: "center", - render: (txt, record) => { - if (record.vul_level == "high") { - return
- } else if (record.vul_level == "medium") { - return
- } else if (record.vul_level == "critical") { - return
- } else if (record.vul_level == "low") { - return
; - } else if (record.vul_level == "") { - return
; + render:(txt,record)=>{ + + if(record.vul_level=="high"){ + return
高危
+ }else if(record.vul_level=="medium"){ + return
中危
+ }else if(record.vul_level=="critical"){ + return
严重
+ }else{ + return
低危
} - }, - }, { - title: , - dataIndex: "status", - key: "status", + }, + },{ + title:"CVE修复状态", + dataIndex:"status", + key:"status", align: "center", width: 150, - render: (txt, record) => { - if (record.status == "success") { - return
- } else { - return
- } + render:(txt,record)=>{ + if(record.status=="success"){ + return
+ }else{ + return
+ } }, + }, { - title: , + title:"操作", align: "center", - render: (txt, record, index) => { + render:(txt,record,index)=>{ return (
- + +
) } } + ] + const paginationProps = { + showSizeChanger: true, + showQuickJumper: true, + total: total, // 数据总数 + pageSizeOptions: [10,20,50,100] , + defaultPageSize:20, + // current: pageNum, // 当前页码 + showTotal: ((total,ranage) => `共 ${total} 条`), + position:["bottomRight"], + // size:"small" + }; return (
- - - - -
- - - + +
+
+ + + +
); } -export default index; \ No newline at end of file +export default index; diff --git a/sysom_web/src/pages/security/components/ListCard.jsx b/sysom_web/src/pages/security/components/ListCard.jsx index 29939fc7..215f98a1 100644 --- a/sysom_web/src/pages/security/components/ListCard.jsx +++ b/sysom_web/src/pages/security/components/ListCard.jsx @@ -4,6 +4,8 @@ import ProCard from '@ant-design/pro-card'; import RcResizeObserver from 'rc-resize-observer'; import {summaryApi} from '../service' const { Divider } = ProCard; +import '../List/list.less' +import { size } from 'lodash-es'; const ListCard=()=> { @@ -12,7 +14,7 @@ const ListCard=()=> { useEffect(async() => { const msg=await summaryApi(); - console.log(msg) + // console.log(msg) setStatisticList(msg) }, []); return ( @@ -27,23 +29,23 @@ const ListCard=()=> { - + - + - + - + - + diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index f6cd769b..148e377a 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -18,7 +18,7 @@ const token = localStorage.getItem('token'); } export async function summaryApi(options) { - const msg= await request('/api/v1/vul/summary', { + const msg= await request('/api/v1/vul/summary/', { method: 'GET', headers: { 'Content-Type': 'application/json', @@ -28,11 +28,20 @@ const token = localStorage.getItem('token'); }); return { - affect:msg.data.fixed_cve.affect_host_count, - cvecount:msg.data.fixed_cve.cve_count, - highcount:msg.data.fixed_cve.high_cve_count + + affect:msg.data.fixed_cve.affect_host_count, + cvecount:msg.data.fixed_cve.cve_count, + highcount:msg.data.fixed_cve.high_cve_count, + cvefix:msg.data.fixed_cve.cvefix_today_count, + cvefix_all:msg.data.fixed_cve.cvefix_all_count, + last_time:msg.data.fixed_cve.latest_scan_time, } } +// { +// affect:msg.data.fixed_cve.affect_host_count, +// cvecount:msg.data.fixed_cve.cve_count, +// highcount:msg.data.fixed_cve.high_cve_count +// } @@ -58,8 +67,11 @@ const token = localStorage.getItem('token'); }, ...(options || {}), }); - msg.data.data = [...msg.data.hosts_datail]; - return msg.data; + + return { + setdatasource:msg.data.hosts_datail, + title:msg.data.cve_id + } }; @@ -121,7 +133,16 @@ const token = localStorage.getItem('token'); ...(options || {}), }); - return msg + return { + + + affect:msg.data.fixed_cve.affect_host_count, + cvecount:msg.data.fixed_cve.cve_count, + highcount:msg.data.fixed_cve.high_cve_count, + cvefix:msg.data.fixed_cve.cvefix_today_count, + cvefix_all:msg.data.fixed_cve.cvefix_all_count, + last_time:msg.data.fixed_cve.latest_scan_time, + } } -- Gitee From e00b19ddea51ddeb72bad3c4aa37d31ef0f6fe5c Mon Sep 17 00:00:00 2001 From: ut002528 Date: Fri, 8 Apr 2022 14:49:24 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=AE=89=E5=85=A8=E4=B8=AD=E5=BF=83umi?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/proxy.js | 5 +- sysom_web/public/logo.png | Bin 0 -> 29661 bytes sysom_web/src/locales/zh-CN/component.js | 10 ++ .../src/pages/security/Historical/index.jsx | 155 +++++++++--------- .../pages/security/Historicalist/index.jsx | 1 + .../src/pages/security/Homelist/Cvetable.jsx | 16 ++ sysom_web/src/pages/security/List/index.jsx | 2 +- .../pages/security/components/ListCard.jsx | 72 ++++++-- sysom_web/src/pages/security/service.js | 28 +--- 9 files changed, 168 insertions(+), 121 deletions(-) create mode 100644 sysom_web/public/logo.png diff --git a/sysom_web/config/proxy.js b/sysom_web/config/proxy.js index 51abb491..79ebf498 100644 --- a/sysom_web/config/proxy.js +++ b/sysom_web/config/proxy.js @@ -12,7 +12,10 @@ export default { '/api/v1/': { // 要代理的地址 //target: 'https://preview.pro.ant.design', - target: 'http://127.0.0.1:8001', + // target: 'http://127.0.0.1:8001', + // target: 'http://10.7.33.64', + // target: 'http://10.12.17.202:8001', + target: 'http://10.7.38.131', // 配置了这个可以从 http 代理到 https // 依赖 origin 的功能可能需要这个,比如 cookie changeOrigin: true, diff --git a/sysom_web/public/logo.png b/sysom_web/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ef27172d4cf33aaea317029595a55f7703ad1eff GIT binary patch literal 29661 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

x%%XqEcBmoqHF0PD%k-k3V#{7+B<3-xhr zclEY1AW91*5?dKoD$GVcEW@G0x@}~m(V@hHa&9Sa*5Xe0gX6}9y#5Vi46QSNBW}x8 zyR4Np^7iJTu~a#M5pxpDdqHAouw2>QD((-0GdVCI=w!-IIge0(@C%9Z6E3fyKDa~bB3E?$`5qg_-pID3Hzl?suy{i zw+ry-?|a+U*AcXpafBfrhBtRb){ciyW&XyJnaZO45fe&Jma_(gle{Wd)RZzWn+E(J D5XV-5 literal 0 HcmV?d00001 diff --git a/sysom_web/src/locales/zh-CN/component.js b/sysom_web/src/locales/zh-CN/component.js index 1f1feadb..d67dbf10 100644 --- a/sysom_web/src/locales/zh-CN/component.js +++ b/sysom_web/src/locales/zh-CN/component.js @@ -2,4 +2,14 @@ export default { 'component.tagSelect.expand': '展开', 'component.tagSelect.collapse': '收起', 'component.tagSelect.all': '全部', + 'component.ListCard.needed_to_repair': '需要修复的漏洞(CVE)', + 'component.ListCard.high_needed_to_repair': '需要修复的高危漏洞(CVE)', + 'component.ListCard.hosts_with_vul': '存在漏洞的主机', + 'component.ListCard.today_repaired': '今日已修复漏洞', + 'component.ListCard.cumulate_repaired': '累计已修复漏洞', + 'component.ListCard.latest_scan_time': '最新扫描时间', + 'component.ListCard.scan': '一键扫描', + 'component.ListCard.scanning': '扫描中', + 'component.ListCard.success': '扫描成功', + 'component.ListCard.failed': '扫描失败' }; diff --git a/sysom_web/src/pages/security/Historical/index.jsx b/sysom_web/src/pages/security/Historical/index.jsx index 67111e69..66aeb052 100644 --- a/sysom_web/src/pages/security/Historical/index.jsx +++ b/sysom_web/src/pages/security/Historical/index.jsx @@ -1,115 +1,112 @@ -import React ,{useState,useEffect}from 'react'; -import {Button,Card,Table,Col,Row} from 'antd' +import { useState, useEffect } from 'react'; +import { useIntl, FormattedMessage } from 'umi'; +import { Button, Col, Row } from 'antd' import './hist.less' -import {histApi} from '../service' +import { histApi } from '../service' import { PageContainer } from '@ant-design/pro-layout'; - +import ProTable from '@ant-design/pro-table'; + function index(props) { - const [dataSource,setdataSource]=useState([]) - const [total,setTotal]=useState(0) - useEffect(async() => { - const msg=await histApi() - setdataSource(msg.data) - }, []); - const columns=[ - - { - title: "序号", - key: "id", - width: 80, - align: "center", - render: (txt, record, index) => index + 1, - }, + const intl = useIntl(); + const columns = [ + { + title: , + key: "id", + width: 80, + align: "center", + render: (txt, record, index) => index + 1, + }, { - title:"cve编号", - dataIndex:'cve_id', - key:'cve_id', + title: , + dataIndex: 'cve_id', + key: 'cve_id', align: "center", }, { - title:"修复时间", - dataIndex:"fixed_time", - key:"fixed_time", + title: , + dataIndex: "fixed_time", + key: "fixed_time", align: "center", }, { - title:"修复者", - dataIndex:"fix_user", - key:"fix_user", + title: , + dataIndex: "fix_user", + key: "fix_user", align: "center", }, { - title:"漏洞等级", - dataIndex:"vul_level", - key:"vul_level", + title: , + dataIndex: "vul_level", + key: "vul_level", align: "center", - render:(txt,record)=>{ - - if(record.vul_level=="high"){ - return

高危
- }else if(record.vul_level=="medium"){ - return
中危
- }else if(record.vul_level=="critical"){ - return
严重
- }else{ - return
低危
+ render: (txt, record) => { + if (record.vul_level == "high") { + return
+ } else if (record.vul_level == "medium") { + return
+ } else if (record.vul_level == "critical") { + return
+ } else if (record.vul_level == "low") { + return
; + } else if (record.vul_level == "") { + return
; } - }, - },{ - title:"CVE修复状态", - dataIndex:"status", - key:"status", + }, + }, { + title: , + dataIndex: "status", + key: "status", align: "center", width: 150, - render:(txt,record)=>{ - if(record.status=="success"){ - return
- }else{ - return
- } + render: (txt, record) => { + if (record.status == "success") { + return
+ } else { + return
+ } }, - }, { - title:"操作", + title: , align: "center", - render:(txt,record,index)=>{ + render: (txt, record, index) => { return (
- - +
) } } - ] - const paginationProps = { - showSizeChanger: true, - showQuickJumper: true, - total: total, // 数据总数 - pageSizeOptions: [10,20,50,100] , - defaultPageSize:20, - // current: pageNum, // 当前页码 - showTotal: ((total,ranage) => `共 ${total} 条`), - position:["bottomRight"], - // size:"small" - }; return (
- -
-
- - - - + + + + + + + +
); } -export default index; +export default index; \ No newline at end of file diff --git a/sysom_web/src/pages/security/Historicalist/index.jsx b/sysom_web/src/pages/security/Historicalist/index.jsx index 9b852c9b..6b2ddc6f 100644 --- a/sysom_web/src/pages/security/Historicalist/index.jsx +++ b/sysom_web/src/pages/security/Historicalist/index.jsx @@ -10,6 +10,7 @@ function index(props) { const [cveId, setCveId] = useState('cve'); const getHist = async () => { const res = await histidApi(props.match.params.id); + console.log('res',res) setCveId(res.cve_id); return res; } diff --git a/sysom_web/src/pages/security/Homelist/Cvetable.jsx b/sysom_web/src/pages/security/Homelist/Cvetable.jsx index 89f55b23..97d94f8c 100644 --- a/sysom_web/src/pages/security/Homelist/Cvetable.jsx +++ b/sysom_web/src/pages/security/Homelist/Cvetable.jsx @@ -49,6 +49,22 @@ const Cvetable=(params)=> { { title:, dataIndex:"status", + align: "center", + render: (txt, record) => { + if (record.status === "running") { + return
+ +
+ } else if(record.status === "offline"){ + return
+ +
+ }else{ + return
+ +
+ } + } }, { title: , diff --git a/sysom_web/src/pages/security/List/index.jsx b/sysom_web/src/pages/security/List/index.jsx index dd5da1f4..7b3473af 100644 --- a/sysom_web/src/pages/security/List/index.jsx +++ b/sysom_web/src/pages/security/List/index.jsx @@ -165,7 +165,7 @@ const List=(props)=> { return (
- + [ diff --git a/sysom_web/src/pages/security/components/ListCard.jsx b/sysom_web/src/pages/security/components/ListCard.jsx index 215f98a1..4c65ce41 100644 --- a/sysom_web/src/pages/security/components/ListCard.jsx +++ b/sysom_web/src/pages/security/components/ListCard.jsx @@ -1,22 +1,39 @@ -import { Statistic ,Button} from 'antd'; +import { Statistic ,Button, message} from 'antd'; import { useState, useEffect } from 'react'; +import { useIntl, FormattedMessage } from 'umi'; import ProCard from '@ant-design/pro-card'; import RcResizeObserver from 'rc-resize-observer'; -import {summaryApi} from '../service' +import {summaryApi,updataApi} from '../service' const { Divider } = ProCard; import '../List/list.less' import { size } from 'lodash-es'; -const ListCard=()=> { +const ListCard=(props)=> { + const intl = useIntl(); const [responsive, setResponsive] = useState(false); + const [complete, setComplete] = useState(false); const [StatisticList, setStatisticList] = useState() - + const getSummary = async() => { + setComplete(true); + let msg=await summaryApi(); + if(msg){ + setComplete(false); + if(msg.success){ + message.success(intl.formatMessage({id:'component.ListCard.success',defaultMessage:'Scan success'})); + setStatisticList(msg.data.fixed_cve) + props.refreshTable(); + }else{ + message.error(intl.formatMessage({id:'component.ListCard.failed',defaultMessage:'Scan failed'})); + } + } + } useEffect(async() => { - const msg=await summaryApi(); - // console.log(msg) - setStatisticList(msg) - }, []); + let msg=await summaryApi(); + if(msg.success) + setStatisticList(msg.data.fixed_cve) + }, []); + return ( { }}> - + - + - + - + - + - + - - + diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index 148e377a..f46ca96b 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -27,15 +27,7 @@ const token = localStorage.getItem('token'); ...(options || {}), }); - return { - - affect:msg.data.fixed_cve.affect_host_count, - cvecount:msg.data.fixed_cve.cve_count, - highcount:msg.data.fixed_cve.high_cve_count, - cvefix:msg.data.fixed_cve.cvefix_today_count, - cvefix_all:msg.data.fixed_cve.cvefix_all_count, - last_time:msg.data.fixed_cve.latest_scan_time, - } + return msg; } // { // affect:msg.data.fixed_cve.affect_host_count, @@ -67,11 +59,8 @@ const token = localStorage.getItem('token'); }, ...(options || {}), }); - - return { - setdatasource:msg.data.hosts_datail, - title:msg.data.cve_id - } + msg.data.data = [...msg.data.hosts_datail]; + return msg.data; }; @@ -133,16 +122,7 @@ const token = localStorage.getItem('token'); ...(options || {}), }); - return { - - - affect:msg.data.fixed_cve.affect_host_count, - cvecount:msg.data.fixed_cve.cve_count, - highcount:msg.data.fixed_cve.high_cve_count, - cvefix:msg.data.fixed_cve.cvefix_today_count, - cvefix_all:msg.data.fixed_cve.cvefix_all_count, - last_time:msg.data.fixed_cve.latest_scan_time, - } + return msg; } -- Gitee From 6b2c8a01c9314dc1acc237dddf9e12b68e3c7fc0 Mon Sep 17 00:00:00 2001 From: ut002528 Date: Fri, 8 Apr 2022 16:27:15 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E6=8A=8A=E6=94=B9=E5=8A=A8=E7=9A=84proxy?= =?UTF-8?q?=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/src/locales/zh-CN/pages.js | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/sysom_web/src/locales/zh-CN/pages.js b/sysom_web/src/locales/zh-CN/pages.js index 35904e09..e5ac9e06 100644 --- a/sysom_web/src/locales/zh-CN/pages.js +++ b/sysom_web/src/locales/zh-CN/pages.js @@ -66,25 +66,6 @@ export default { 'pages.journal.audit.login': '登录行为', 'pages.journal.audit.action': '操作行为', 'pages.journal.audit.response_status': '返回状态', - 'pages.security.Historical.title': '历史修复漏洞信息', - 'pages.security.Historical.id': '序号', - 'pages.security.Historical.cve_id': 'cve编号', - 'pages.security.Historical.fixed_time': '修复时间', - 'pages.security.Historical.fix_user': '修复者', - 'pages.security.Historical.vul_level': '漏洞等级', - 'pages.security.Historical.severe_risk': '严重', - 'pages.security.Historical.high_risk': '高危', - 'pages.security.Historical.medium_risk': '中危', - 'pages.security.Historical.low_risk': '低危', - 'pages.security.Historical.fix_status': 'cve修复状态', - 'pages.security.Historical.details': '查看详情', - 'pages.security.Historical.back': '返回', - 'pages.security.Historical.created_at': '创建时间', - 'pages.security.Historical.success': '成功', - 'pages.security.Historical.fail': '失败', - 'pages.security.Historical.fix_details': 'CVE修复详情', - 'pages.security.Historical.fix_success': 'CVE修复成功', - 'pages.security.Historical.fix_fail': 'CVE修复失败,失败原因:', 'pages.journal.task.task_id': '任务ID', 'pages.journal.task.status': '状态', 'pages.journal.task.params': '参数列表', @@ -133,5 +114,4 @@ export default { 'pages.security.Historical.fix_details': 'CVE修复详情', 'pages.security.Historical.fix_success': 'CVE修复成功', 'pages.security.Historical.fix_fail': 'CVE修复失败,失败原因:' - -}; +}; \ No newline at end of file -- Gitee From 4b61b1e1f13ebc53dd7e63b9aa4b8a7696362c07 Mon Sep 17 00:00:00 2001 From: ut002528 Date: Fri, 8 Apr 2022 17:19:54 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AD=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E5=8F=96=E6=B6=88=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/src/pages/security/Homelist/Cvetable.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysom_web/src/pages/security/Homelist/Cvetable.jsx b/sysom_web/src/pages/security/Homelist/Cvetable.jsx index 97d94f8c..1294aafe 100644 --- a/sysom_web/src/pages/security/Homelist/Cvetable.jsx +++ b/sysom_web/src/pages/security/Homelist/Cvetable.jsx @@ -164,7 +164,7 @@ const Cvetable=(params)=> { - + -- Gitee From 8a8b6d5c6910aa79ac8c816aee4ad60ff8969af8 Mon Sep 17 00:00:00 2001 From: ut002528 Date: Fri, 8 Apr 2022 17:51:12 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AD=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E8=BF=94=E5=9B=9E=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/src/pages/security/Homelist/Cvetable.jsx | 2 +- sysom_web/src/pages/security/service.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sysom_web/src/pages/security/Homelist/Cvetable.jsx b/sysom_web/src/pages/security/Homelist/Cvetable.jsx index 1294aafe..c921c553 100644 --- a/sysom_web/src/pages/security/Homelist/Cvetable.jsx +++ b/sysom_web/src/pages/security/Homelist/Cvetable.jsx @@ -164,7 +164,7 @@ const Cvetable=(params)=> { - + diff --git a/sysom_web/src/pages/security/service.js b/sysom_web/src/pages/security/service.js index f46ca96b..43302c3c 100644 --- a/sysom_web/src/pages/security/service.js +++ b/sysom_web/src/pages/security/service.js @@ -61,7 +61,7 @@ const token = localStorage.getItem('token'); }); msg.data.data = [...msg.data.hosts_datail]; return msg.data; - }; + } export async function getOneById(id,options) { @@ -80,7 +80,7 @@ const token = localStorage.getItem('token'); setdata:msg.data.software, }; - }; + } @@ -95,7 +95,7 @@ const token = localStorage.getItem('token'); }); return msg; - }; + } export async function manyApi(body, options) { -- Gitee From 358e306eec5aa1f90c698f4cffbbd86db6c3b781 Mon Sep 17 00:00:00 2001 From: ut002528 Date: Fri, 8 Apr 2022 21:44:13 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AD=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E8=BF=94=E5=9B=9E=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/defaultSettings.js | 4 ++-- sysom_web/public/logo.png | Bin 29661 -> 0 bytes sysom_web/src/global.less | 14 -------------- 3 files changed, 2 insertions(+), 16 deletions(-) delete mode 100644 sysom_web/public/logo.png diff --git a/sysom_web/config/defaultSettings.js b/sysom_web/config/defaultSettings.js index 14dbf778..30d680cb 100644 --- a/sysom_web/config/defaultSettings.js +++ b/sysom_web/config/defaultSettings.js @@ -5,7 +5,7 @@ const Settings = { contentWidth: 'Fluid', fixedHeader: true, fixSiderbar: true, - title: '统信有幄UMOP', - logo: '/logo.png', + title: '系统运维平台', + logo: null, }; export default Settings; diff --git a/sysom_web/public/logo.png b/sysom_web/public/logo.png deleted file mode 100644 index ef27172d4cf33aaea317029595a55f7703ad1eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29661 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

x%%XqEcBmoqHF0PD%k-k3V#{7+B<3-xhr zclEY1AW91*5?dKoD$GVcEW@G0x@}~m(V@hHa&9Sa*5Xe0gX6}9y#5Vi46QSNBW}x8 zyR4Np^7iJTu~a#M5pxpDdqHAouw2>QD((-0GdVCI=w!-IIge0(@C%9Z6E3fyKDa~bB3E?$`5qg_-pID3Hzl?suy{i zw+ry-?|a+U*AcXpafBfrhBtRb){ciyW&XyJnaZO45fe&Jma_(gle{Wd)RZzWn+E(J D5XV-5 diff --git a/sysom_web/src/global.less b/sysom_web/src/global.less index 884dd5f9..6a52b925 100644 --- a/sysom_web/src/global.less +++ b/sysom_web/src/global.less @@ -25,20 +25,6 @@ body, margin: 0; } -.ant-pro-top-nav-header-logo h1{ - color: rgba(255, 255, 255, 0.65); - line-height: 48px; - font-size: 15px; - font-weight: bold; -} - -.ant-pro-top-nav-header-logo img{ - padding-right:20px; - height:15px; - vertical-align: text-top; - border-right: 1px solid rgba(255, 255, 255, 0.65); -} - canvas { display: block; } -- Gitee From 7442ea6094898bee56aaa56ae766c69b54c37055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E4=B8=B9?= Date: Mon, 11 Apr 2022 13:53:22 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysom_web/config/proxy.js | 5 +-- sysom_web/src/pages/security/List/index.jsx | 2 +- .../pages/security/components/ListCard.jsx | 43 ++++++++++--------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/sysom_web/config/proxy.js b/sysom_web/config/proxy.js index a3f8f9e3..51abb491 100644 --- a/sysom_web/config/proxy.js +++ b/sysom_web/config/proxy.js @@ -12,10 +12,7 @@ export default { '/api/v1/': { // 要代理的地址 //target: 'https://preview.pro.ant.design', - // target: 'http://127.0.0.1:8001', - // target: 'http://10.7.33.64/', - // target: 'http://10.7.38.146/', - target: 'http://10.12.17.202:8001', + target: 'http://127.0.0.1:8001', // 配置了这个可以从 http 代理到 https // 依赖 origin 的功能可能需要这个,比如 cookie changeOrigin: true, diff --git a/sysom_web/src/pages/security/List/index.jsx b/sysom_web/src/pages/security/List/index.jsx index 7b3473af..af76ca28 100644 --- a/sysom_web/src/pages/security/List/index.jsx +++ b/sysom_web/src/pages/security/List/index.jsx @@ -165,7 +165,7 @@ const List=(props)=> { return (

- + [ diff --git a/sysom_web/src/pages/security/components/ListCard.jsx b/sysom_web/src/pages/security/components/ListCard.jsx index 4c65ce41..507effe7 100644 --- a/sysom_web/src/pages/security/components/ListCard.jsx +++ b/sysom_web/src/pages/security/components/ListCard.jsx @@ -11,28 +11,29 @@ import { size } from 'lodash-es'; const ListCard=(props)=> { const intl = useIntl(); - const [responsive, setResponsive] = useState(false); - const [complete, setComplete] = useState(false); - const [StatisticList, setStatisticList] = useState() - const getSummary = async() => { - setComplete(true); - let msg=await summaryApi(); - if(msg){ - setComplete(false); - if(msg.success){ - message.success(intl.formatMessage({id:'component.ListCard.success',defaultMessage:'Scan success'})); - setStatisticList(msg.data.fixed_cve) - props.refreshTable(); - }else{ - message.error(intl.formatMessage({id:'component.ListCard.failed',defaultMessage:'Scan failed'})); - } + const [responsive, setResponsive] = useState(false); + const [complete, setComplete] = useState(false); + const [StatisticList, setStatisticList] = useState() + const Scan = async () => { + setComplete(true); + let res=await updataApi(); + if(res){ + setComplete(false); + if(res.success){ + message.success(intl.formatMessage({id:'component.ListCard.success',defaultMessage:'Scan success'})); + setTimeout(()=>{ + window.location.reload(); + },1000) + }else{ + message.error(intl.formatMessage({id:'component.ListCard.failed',defaultMessage:'Scan failed'})); } } - useEffect(async() => { - let msg=await summaryApi(); - if(msg.success) - setStatisticList(msg.data.fixed_cve) - }, []); + } + useEffect(async() => { + let msg=await summaryApi(); + if(msg.success) + setStatisticList(msg.data.fixed_cve) + }, []); return ( { value={StatisticList?.latest_scan_time} valueStyle={{ color: "white",fontSize:13,whiteSpace:'nowrap',textAlign:'center' }} /> - + -- Gitee