Tcode平台改造升级-系统菜单框架完成、首页页面开发
2
.env
@@ -1,4 +1,4 @@
|
||||
VITE_APP_TITLE = '可信开源代码库'
|
||||
VITE_APP_TITLE = 'Tcode'
|
||||
VITE_TEST_REPOID = 34
|
||||
|
||||
VITE_SECRET_KEY = 'SA!nUNPZ5o!OSV&B'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 可信开源代码库
|
||||
# Tcode
|
||||
|
||||
架构:基于[create-vue](https://github.com/vuejs/create-vue)构建(vite+vue3+pinia+scss)
|
||||
组件库:[Vue DevUI](https://vue-devui.github.io/)
|
||||
|
||||
17
index.html
@@ -9,7 +9,7 @@
|
||||
<link rel="dns-prefetch" href="//usercenter-app.gitcode.com">
|
||||
<link rel="dns-prefetch" href="//res.hc-cdn.com">
|
||||
<!-- <meta name="referrer" content="no-referrer"> -->
|
||||
<title>可信开源代码库</title>
|
||||
<title>Tcode</title>
|
||||
<style type="text/css">
|
||||
.icon {
|
||||
width: 1em; height: 1em;
|
||||
@@ -23,19 +23,4 @@
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
<!-- <script type="text/javascript" src="https://cdn-static.gitcode.com/js/gitcode-icon.js"></script>-->
|
||||
<!-- <script type="text/javascript" src="https://cdn-static.gitcode.com/js/event-msg.min.0.0.2.js"></script>-->
|
||||
<!-- <script type="text/javascript" src="https://cdn-static.gitcode.com/js/lottie.min.js" defer></script>-->
|
||||
<!-- <script type="text/javascript" src="https://cdn-static.gitcode.com/js/furion.js" defer></script>-->
|
||||
<!-- baidu统计 -->
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
_hmt.push(['_setAutoPageview', false]);
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?62047c952451105d57bab2c4af9ce85b";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
230
package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "gitcode-v2",
|
||||
"name": "openRepoPortalV2",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "gitcode-v2",
|
||||
"name": "openRepoPortalV2",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@devui-design/icons": "^1.4.0",
|
||||
@@ -14,6 +14,7 @@
|
||||
"@sentry/vue": "^7.101.1",
|
||||
"@types/crypto-js": "^4.1.1",
|
||||
"@vueuse/core": "^10.2.1",
|
||||
"ant-design-vue": "4.x",
|
||||
"axios": "^1.6.8",
|
||||
"canvas-confetti": "^1.9.2",
|
||||
"crypto-js": "^4.2.0",
|
||||
@@ -37,6 +38,7 @@
|
||||
"swiper": "^10.3.1",
|
||||
"vue": "^3.3.4",
|
||||
"vue-devui": "^1.6.31",
|
||||
"vue-fast-marquee": "^1.0.6",
|
||||
"vue-router": "^4.2.2",
|
||||
"xlsx": "^0.18.5",
|
||||
"yaml": "^2.4.1"
|
||||
@@ -103,6 +105,34 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ant-design/colors": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz",
|
||||
"integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ctrl/tinycolor": "^3.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ant-design/icons-svg": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz",
|
||||
"integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@ant-design/icons-vue": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-7.0.1.tgz",
|
||||
"integrity": "sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ant-design/colors": "^6.0.0",
|
||||
"@ant-design/icons-svg": "^4.2.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": ">=3.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.24.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
|
||||
@@ -1699,7 +1729,6 @@
|
||||
"version": "7.24.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz",
|
||||
"integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
@@ -1710,8 +1739,7 @@
|
||||
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
|
||||
"version": "0.14.1",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
||||
},
|
||||
"node_modules/@babel/template": {
|
||||
"version": "7.24.0",
|
||||
@@ -1765,11 +1793,32 @@
|
||||
"resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz",
|
||||
"integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A=="
|
||||
},
|
||||
"node_modules/@ctrl/tinycolor": {
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
|
||||
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@devui-design/icons": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://mirrors.cloud.tencent.com/npm/@devui-design/icons/-/icons-1.4.0.tgz",
|
||||
"integrity": "sha512-taAX1RNW0QHUqQTRPqLTYTB2PZIqUplhWeF4hcmWkSTjpWlDNI40DssG/WRb3sISkfBk/4BMUxxC5XeTL3jo7A=="
|
||||
},
|
||||
"node_modules/@emotion/hash": {
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.2.tgz",
|
||||
"integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@emotion/unitless": {
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.8.1.tgz",
|
||||
"integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@esbuild/win32-x64": {
|
||||
"version": "0.18.20",
|
||||
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
|
||||
@@ -2322,6 +2371,16 @@
|
||||
"vue": "2.x || 3.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@simonwep/pickr": {
|
||||
"version": "1.8.2",
|
||||
"resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.8.2.tgz",
|
||||
"integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"core-js": "^3.15.1",
|
||||
"nanopop": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tsconfig/node18": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-2.0.1.tgz",
|
||||
@@ -3196,6 +3255,46 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/ant-design-vue": {
|
||||
"version": "4.2.6",
|
||||
"resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-4.2.6.tgz",
|
||||
"integrity": "sha512-t7eX13Yj3i9+i5g9lqFyYneoIb3OzTvQjq9Tts1i+eiOd3Eva/6GagxBSXM1fOCjqemIu0FYVE1ByZ/38epR3Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@ant-design/colors": "^6.0.0",
|
||||
"@ant-design/icons-vue": "^7.0.0",
|
||||
"@babel/runtime": "^7.10.5",
|
||||
"@ctrl/tinycolor": "^3.5.0",
|
||||
"@emotion/hash": "^0.9.0",
|
||||
"@emotion/unitless": "^0.8.0",
|
||||
"@simonwep/pickr": "~1.8.0",
|
||||
"array-tree-filter": "^2.1.0",
|
||||
"async-validator": "^4.0.0",
|
||||
"csstype": "^3.1.1",
|
||||
"dayjs": "^1.10.5",
|
||||
"dom-align": "^1.12.1",
|
||||
"dom-scroll-into-view": "^2.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"lodash-es": "^4.17.15",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"scroll-into-view-if-needed": "^2.2.25",
|
||||
"shallow-equal": "^1.0.0",
|
||||
"stylis": "^4.1.3",
|
||||
"throttle-debounce": "^5.0.0",
|
||||
"vue-types": "^3.0.0",
|
||||
"warning": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.22.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/ant-design-vue"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": ">=3.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/any-promise": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||
@@ -3242,6 +3341,12 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/array-tree-filter": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
|
||||
"integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
|
||||
@@ -3686,6 +3791,12 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/compute-scroll-into-view": {
|
||||
"version": "1.0.20",
|
||||
"resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
|
||||
"integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/computeds": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
|
||||
@@ -3708,7 +3819,6 @@
|
||||
"version": "3.36.1",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz",
|
||||
"integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
@@ -4693,6 +4803,18 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/dom-align": {
|
||||
"version": "1.12.4",
|
||||
"resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz",
|
||||
"integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/dom-scroll-into-view": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
|
||||
"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/dompurify": {
|
||||
"version": "3.0.11",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.11.tgz",
|
||||
@@ -6144,6 +6266,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-plain-object": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-3.0.1.tgz",
|
||||
"integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-regex": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
|
||||
@@ -6294,8 +6425,7 @@
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
@@ -6516,6 +6646,18 @@
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/loose-envify": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"loose-envify": "cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/lottie-web": {
|
||||
"version": "5.12.2",
|
||||
"resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.12.2.tgz",
|
||||
@@ -6742,6 +6884,12 @@
|
||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/nanopop": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.4.2.tgz",
|
||||
"integrity": "sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/natural-compare": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
||||
@@ -7667,6 +7815,12 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/resize-observer-polyfill": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
|
||||
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.22.8",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
||||
@@ -7866,6 +8020,15 @@
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/scroll-into-view-if-needed": {
|
||||
"version": "2.2.31",
|
||||
"resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
|
||||
"integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"compute-scroll-into-view": "^1.0.20"
|
||||
}
|
||||
},
|
||||
"node_modules/select": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
|
||||
@@ -7911,6 +8074,12 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/shallow-equal": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz",
|
||||
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/shebang-command": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||
@@ -8314,7 +8483,7 @@
|
||||
},
|
||||
"node_modules/swiper": {
|
||||
"version": "10.3.1",
|
||||
"resolved": "https://mirrors.cloud.tencent.com/npm/swiper/-/swiper-10.3.1.tgz",
|
||||
"resolved": "https://registry.npmmirror.com/swiper/-/swiper-10.3.1.tgz",
|
||||
"integrity": "sha512-24Wk3YUdZHxjc9faID97GTu6xnLNia+adMt6qMTZG/HgdSUt4fS0REsGUXJOgpTED0Amh/j+gRGQxsLayJUlBQ==",
|
||||
"funding": [
|
||||
{
|
||||
@@ -8326,6 +8495,7 @@
|
||||
"url": "http://opencollective.com/swiper"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 4.7.0"
|
||||
}
|
||||
@@ -8425,6 +8595,15 @@
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/throttle-debounce": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz",
|
||||
"integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=12.22"
|
||||
}
|
||||
},
|
||||
"node_modules/tiny-emitter": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
|
||||
@@ -9028,6 +9207,15 @@
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/vue-fast-marquee": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmmirror.com/vue-fast-marquee/-/vue-fast-marquee-1.0.6.tgz",
|
||||
"integrity": "sha512-VMqaeuBSS3L55Q84EuLJPHZ4Zv4UVBDXmh+2hb1IBTLKt/FmurJnWVXv8BNnbQSupA4kHbPlWDLwp+kvEMOF7A==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"vue": ">=3.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-router": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz",
|
||||
@@ -9102,6 +9290,30 @@
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/vue-types": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/vue-types/-/vue-types-3.0.2.tgz",
|
||||
"integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"is-plain-object": "3.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.15.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/warning": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz",
|
||||
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
"swiper": "^10.3.1",
|
||||
"vue": "^3.3.4",
|
||||
"vue-devui": "^1.6.31",
|
||||
"vue-fast-marquee": "^1.0.6",
|
||||
"vue-router": "^4.2.2",
|
||||
"xlsx": "^0.18.5",
|
||||
"yaml": "^2.4.1"
|
||||
|
||||
85
src/App.vue
@@ -177,54 +177,41 @@ onBeforeUnmount(() => {
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
.global-notification {
|
||||
&-mobile {
|
||||
.devui-notification {
|
||||
right: 15px;
|
||||
left: 15px;
|
||||
width: #{calc(100vw - 30px )};
|
||||
top: 60px;
|
||||
&__title {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.devui-notification-item-container {
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
opacity: 1;
|
||||
.devui-notification__item {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&-pc {
|
||||
.devui-notification {
|
||||
width: 296px;
|
||||
right: 22px;
|
||||
top: 60px;
|
||||
&__title {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.devui-notification-item-container {
|
||||
background: rgba(255, 255, 255, 1);
|
||||
box-sizing: border-box;
|
||||
padding: 22px;
|
||||
opacity: 1;
|
||||
.devui-notification__item {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.devui-notification__message {
|
||||
margin-left: 0;
|
||||
}
|
||||
.icon-close {
|
||||
font-size: 0 !important;
|
||||
&:before {
|
||||
content: ''
|
||||
}
|
||||
}
|
||||
body {
|
||||
color: #000;
|
||||
font-family: PingFangSC, PingFang SC, Helvetica Neue, Helvetica, Arial, Hiragino Sans GB, Microsoft YaHei, sans-serif;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.LNK:link, .LNK:visited {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
-webkit-transition: all .2s ease-out .1s;
|
||||
transition: all .2s ease-out .1s;
|
||||
}
|
||||
|
||||
img:hover {
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
-webkit-transform: matrix(1.02, 0, 0, 1.02, 0, 0);
|
||||
transform: matrix(1.02, 0, 0, 1.02, 0, 0);
|
||||
}
|
||||
|
||||
.animated {
|
||||
-webkit-animation-duration: 1s;
|
||||
animation-duration: 1s;
|
||||
-webkit-animation-fill-mode: both;
|
||||
animation-fill-mode: both;
|
||||
}
|
||||
|
||||
|
||||
.swiper-button-prev, .swiper-button-next {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -366,28 +366,6 @@ body::-webkit-scrollbar-corner {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
input {
|
||||
background-color: transparent !important;
|
||||
// appearance: none;
|
||||
|
||||
&:-webkit-autofill,
|
||||
textarea:-webkit-autofill,
|
||||
select:-webkit-autofill {
|
||||
-webkit-text-fill-color: inherit !important;
|
||||
background-color: transparent !important;
|
||||
background-image: none;
|
||||
transition: background-color 36000s ease-in-out 0s; //背景色透明 生效时长 过渡效果 启用时延迟的时间
|
||||
}
|
||||
&:-moz-autofill,
|
||||
textarea:-moz-autofill,
|
||||
select:-moz-autofill {
|
||||
-webkit-text-fill-color: inherit !important;
|
||||
background-color: transparent !important;
|
||||
background-image: none;
|
||||
transition: background-color 36000s ease-in-out 0s; //背景色透明 生效时长 过渡效果 启用时延迟的时间
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1536px) {
|
||||
.g-padding-x {
|
||||
padding: 0 32px;
|
||||
|
||||
BIN
src/assets/imgs/logo3.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
src/assets/v3/09d1ab34dd334323a1bb50e4a298bcfb.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
src/assets/v3/2fde85b65bc84c01b5d280151a5fb555.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
src/assets/v3/4b518ec439454e7a85d261de0c833c6e.png
Normal file
|
After Width: | Height: | Size: 5.6 MiB |
BIN
src/assets/v3/6b8d01d61f9a40d2b0c74bc6783ff296.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
src/assets/v3/7a87c819de3a45f69d1697d6344f5483.gif
Normal file
|
After Width: | Height: | Size: 4.8 MiB |
BIN
src/assets/v3/a631f17938ec427eb0efcaf7ef19d716.gif
Normal file
|
After Width: | Height: | Size: 8.5 MiB |
BIN
src/assets/v3/ab622e07e5f14b23be0d5c2e620ea4be.mp4
Normal file
BIN
src/assets/v3/b173212bc7814f28b4674b9cff1097ed.gif
Normal file
|
After Width: | Height: | Size: 5.6 MiB |
BIN
src/assets/v3/bgt.CXTC8XIQ.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
src/assets/v3/brand/aiqiyi.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
src/assets/v3/brand/bili.jpg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
src/assets/v3/brand/chinasouth.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
src/assets/v3/brand/cm.jpg
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
src/assets/v3/brand/didi.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/v3/brand/guangfa.jpg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
src/assets/v3/brand/guangfazhengqusn.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/v3/brand/guoxin.jpg
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
src/assets/v3/brand/guozai.jpg
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
src/assets/v3/brand/henanjich.jpg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
src/assets/v3/brand/huawei.jpg
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
src/assets/v3/brand/kaifa.jpg
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
src/assets/v3/brand/nankai.jpg
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
src/assets/v3/brand/pana.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
src/assets/v3/brand/sf.jpg
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
src/assets/v3/brand/shanghaizhengquan.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
src/assets/v3/brand/shenzhenzhengquan.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
src/assets/v3/brand/spring.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/v3/brand/state.jpg
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
src/assets/v3/brand/tsinghua.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
src/assets/v3/brand/uni.jpg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
src/assets/v3/brand/vip.jpg
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
src/assets/v3/brand/vivo.jpg
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
src/assets/v3/brand/xhs.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
src/assets/v3/brand/xingye.jpg
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
src/assets/v3/ee5c7cb6d2ef4504b0e47a2bed942d7f.png
Normal file
|
After Width: | Height: | Size: 389 KiB |
BIN
src/assets/v3/index-top-bg.D8cqOFJJ.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
src/assets/v3/system-zh.png
Normal file
|
After Width: | Height: | Size: 623 KiB |
@@ -1,242 +1,316 @@
|
||||
<!--<template>-->
|
||||
<!-- <div class="comHeader">-->
|
||||
<!-- <div class="nav"><a aria-current="page" href="/" class="router-link-active router-link-exact-active logo"><img-->
|
||||
<!-- src="@/assets/imgs/logo3.png" alt="Tcode"></a>-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li><a href="javascript:;" rel="noopener noreferrer" class="LNK">知攻善防</a>-->
|
||||
<!-- <div class="nav-hover hover-product">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-zh">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row menu-row1">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row-title">单点安全建设</div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row-items">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8=""-->
|
||||
<!-- class="menu-section-title">事前防御</span><h4-->
|
||||
<!-- data-v-bc7d8fb8="" class="item-tit">安全开发</h4>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-yh"></i> 代码审计服务 </a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=4"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 上线前安全评估(渗透测试)服务 </a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/codeinsight" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-yh"></i> 智能静态应用程序安全测试系统(慧鉴) </a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- <h4 data-v-bc7d8fb8="" class="item-tit">安全能力提升</h4>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-mz"></i> 人才培训与能力提升</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-mz"></i> CTF 办赛与培训</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-mz"></i> 红蓝军建设服务</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">脆弱暴露评估</span>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/xray" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 风险评估系统(洞鉴) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/cloudatlas" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 资产暴露面运营管理(云图) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/alioth" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 安全验证平台(御衡)</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/xblade" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 自动化渗透测试平台(无锋)</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/aigc" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-yh"></i> 大模型系统安全评估服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-yh"></i> 风险评估服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=3"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 互联网渗透测试服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-yh"></i> 安全验证服务</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">网络边界防护</span>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/safeline" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> Web 应用防火墙(雷池) <i data-v-bc7d8fb8=""-->
|
||||
<!-- class="ico-zn"></i></a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/safeline" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> Web 应用与 API 防护(雷池) <i data-v-bc7d8fb8=""-->
|
||||
<!-- class="ico-zn"></i></a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/tanswer" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 流量威胁检测响应系统(全悉) <i data-v-bc7d8fb8="" class="ico-zn"></i></a>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">入侵检测防御</span>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/dsensor" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 主动威胁欺骗防御系统(谛听) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 日志审计 </a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 数据库审计 </a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training?tab=5"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 沙盘推演服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=6"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 攻防演练服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend?tab=2"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 勒索病毒演练服务</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend?tab=3"-->
|
||||
<!-- class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>-->
|
||||
<!-- 邮件钓鱼演练服务</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">主机应用防护</span>-->
|
||||
<!-- <h4 data-v-bc7d8fb8="" class="item-tit">主机与终端防护</h4>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/cloudwalker" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 云工作负载保护平台(牧云)</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- <h4 data-v-bc7d8fb8="" class="item-tit">应用防护</h4>-->
|
||||
<!-- <ul data-v-bc7d8fb8="" class="hover-child">-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/enterprise" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 网站监测</a></li>-->
|
||||
<!-- <li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/enterprise" class="LNK"><i-->
|
||||
<!-- data-v-bc7d8fb8="" class="ico-dp"></i> 网页防篡改</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row menu-row2">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row-title">智能运营平台</div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="menu-row-content">-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="content1"><a data-v-bc7d8fb8="" href="/cosmos" class="link-item"><img-->
|
||||
<!-- data-v-bc7d8fb8="" src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span data-v-bc7d8fb8="">安全分析与运营管理平台(万象)</span></a><a-->
|
||||
<!-- data-v-bc7d8fb8="" href="/mssSafe" class="link-item"><img data-v-bc7d8fb8=""-->
|
||||
<!-- src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span-->
|
||||
<!-- data-v-bc7d8fb8="">MSS安全托管服务(大观)</span></a><a data-v-bc7d8fb8="" href="/insight"-->
|
||||
<!-- class="link-item"><img data-v-bc7d8fb8=""-->
|
||||
<!-- src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span-->
|
||||
<!-- data-v-bc7d8fb8="">风险运营管理平台(鉴微)</span></a><a data-v-bc7d8fb8="" href="/training?tab=4"-->
|
||||
<!-- class="link-item"><img data-v-bc7d8fb8=""-->
|
||||
<!-- src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span-->
|
||||
<!-- data-v-bc7d8fb8="">网络安全实训平台(墨攻)</span></a></div>-->
|
||||
<!-- <div data-v-bc7d8fb8="" class="content2"><a data-v-bc7d8fb8="" href="/chaitinAI"-->
|
||||
<!-- class="link-item"><span-->
|
||||
<!-- data-v-bc7d8fb8="">安全模型平台(问津)</span></a></div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div><!––></li>-->
|
||||
<!-- <li><a href="javascript:;" rel="noopener noreferrer" class="LNK">智能安全</a>-->
|
||||
<!-- <div class="nav-hover hover-product hover-product2 EN" style="left: 266px;">-->
|
||||
<!-- <div class="product-list">-->
|
||||
<!-- <div class="plist">-->
|
||||
<!-- <div class="list-item">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li class="hover-item"><a href="javascript:;" rel="noopener noreferrer" class="LNK">AI 赋能安全</a><h4-->
|
||||
<!-- class="item-tit">攻击入侵平台</h4>-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a href="/xblade" class="LNK"><i class="ico-dp"></i> AI 自动化渗透测试平台(无锋)-->
|
||||
<!-- </a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- <h4 class="item-tit">安全建设平台</h4>-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a href="/insight" class="LNK"><i class="ico-dp"></i> AI 风险运营管理平台(鉴微)-->
|
||||
<!-- </a></li>-->
|
||||
<!-- <li class="child-item"><a href="/cosmos" class="LNK"><i class="ico-dp"></i> AI 安全分析与运营管理平台(万象)-->
|
||||
<!-- </a></li>-->
|
||||
<!-- <li class="child-item"><a href="/chaitinAI" class="LNK"><i class="ico-dp"></i> AI 安全运营大模型平台(问津)-->
|
||||
<!-- </a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="hover-item"><a href="javascript:;" rel="noopener noreferrer" class="LNK">AI 自身安全</a><h4-->
|
||||
<!-- class="item-tit">代码安全</h4>-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a href="/codeinsight" class="LNK"><i class="ico-dp"></i>-->
|
||||
<!-- 智能静态应用程序安全测试系统(慧鉴) </a></li>-->
|
||||
<!-- <li class="child-item"><a href="/codeforce" class="LNK"><i class="ico-dp"></i> 智能开发与安全一体化平台(码力)-->
|
||||
<!-- </a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div><!––></li>-->
|
||||
<!-- <li><a href="/solutions" class="LNK">解决方案</a></li>-->
|
||||
<!-- <li><a href="javascript:;" rel="noopener noreferrer" class="LNK">资源中心</a>-->
|
||||
<!-- <div class="nav-hover">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li class="hover-item">-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a target="_self" class="LNK" href="/showcase">客户案例</a><!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_self" class="LNK" href="/reports">资料下载</a><!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com/vuldb/index">漏洞检测</a>-->
|
||||
<!-- <!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com/techblog/index">技术博客</a>-->
|
||||
<!-- <!––></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li><a href="javascript:;" rel="noopener noreferrer" class="LNK">合作伙伴</a>-->
|
||||
<!-- <div class="nav-hover">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li class="hover-item">-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://wanzhong.chaitin.cn">万众平台</a>-->
|
||||
<!-- <!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://bbs.chaitin.cn">CT TALK - -->
|
||||
<!-- 伙伴技术社区</a><!––></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li><a href="/intro" class="LNK">关于我们</a>-->
|
||||
<!-- <div class="nav-hover">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li class="hover-item">-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><!––><a href="/intro" class="LNK">公司介绍</a></li>-->
|
||||
<!-- <li class="child-item"><a target="_self" class="LNK" href="/news">新闻动态</a><!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK"-->
|
||||
<!-- href="https://app.mokahr.com/campus-recruitment/chaitin">加入我们</a><!––>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item"><!––><a href="/contact-us" class="LNK">联系我们</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li><a href="javascript:;" rel="noopener noreferrer" class="LNK">Tcode站点</a>-->
|
||||
<!-- <div class="nav-hover">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li class="hover-item">-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://rivers.chaitin.cn">Tcode百川云</a>-->
|
||||
<!-- <!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://baizhi.cloud">Tcode百智云</a><!––>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://wanzhong.chaitin.cn">万众平台</a>-->
|
||||
<!-- <!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com">CT Stack-->
|
||||
<!-- 安全社区</a><!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://bbs.chaitin.cn">CT TALK - -->
|
||||
<!-- 伙伴技术社区</a><!––></li>-->
|
||||
<!-- <li class="child-item"><a target="_blank" class="LNK" href="https://xray.cool">Xray 社区</a><!––></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="promo">-->
|
||||
<!-- <ul>-->
|
||||
<!-- <li><a class="LNK" href="javascript:;" @click="handleLogin('register')">注册</a></li>-->
|
||||
<!-- <li><a class="LNK" href="javascript:;" @click="handleLogin('login')">登录</a></li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!--</template>-->
|
||||
<template>
|
||||
<div class="comHeader">
|
||||
<div class="nav"><a aria-current="page" href="/" class="router-link-active router-link-exact-active logo"><img
|
||||
src="@/assets/imgs/logo2.png" alt="Tcode"></a>
|
||||
<div class="nav">
|
||||
<a aria-current="page" href="/" class="router-link-active router-link-exact-active logo">
|
||||
<img src="@/assets/imgs/logo3.png" alt="Tcode">
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="javascript:;" rel="noopener noreferrer" class="LNK">知攻善防</a>
|
||||
<div class="nav-hover hover-product">
|
||||
<div data-v-bc7d8fb8="" class="menu-zh">
|
||||
<div data-v-bc7d8fb8="" class="menu-row menu-row1">
|
||||
<div data-v-bc7d8fb8="" class="menu-row-title">单点安全建设</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-row-items">
|
||||
<div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8=""
|
||||
class="menu-section-title">事前防御</span><h4
|
||||
data-v-bc7d8fb8="" class="item-tit">安全开发</h4>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-yh"></i> 代码审计服务 </a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=4"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
上线前安全评估(渗透测试)服务 </a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/codeinsight" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-yh"></i> 智能静态应用程序安全测试系统(慧鉴) </a></li>
|
||||
</ul>
|
||||
<h4 data-v-bc7d8fb8="" class="item-tit">安全能力提升</h4>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-mz"></i> 人才培训与能力提升</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-mz"></i> CTF 办赛与培训</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-mz"></i> 红蓝军建设服务</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">脆弱暴露评估</span>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/xray" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 风险评估系统(洞鉴) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>
|
||||
</li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/cloudatlas" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 资产暴露面运营管理(云图) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>
|
||||
</li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/alioth" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 安全验证平台(御衡)</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/xblade" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 自动化渗透测试平台(无锋)</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/aigc" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-yh"></i> 大模型系统安全评估服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-yh"></i> 风险评估服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=3"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
互联网渗透测试服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-yh"></i> 安全验证服务</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">网络边界防护</span>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/safeline" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> Web 应用防火墙(雷池) <i data-v-bc7d8fb8=""
|
||||
class="ico-zn"></i></a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/safeline" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> Web 应用与 API 防护(雷池) <i data-v-bc7d8fb8=""
|
||||
class="ico-zn"></i></a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/tanswer" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 流量威胁检测响应系统(全悉) <i data-v-bc7d8fb8="" class="ico-zn"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">入侵检测防御</span>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/dsensor" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 主动威胁欺骗防御系统(谛听) <i data-v-bc7d8fb8="" class="ico-zn2"></i></a>
|
||||
</li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 日志审计 </a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 数据库审计 </a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/training?tab=5"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
沙盘推演服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/evaluate?tab=6"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
攻防演练服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend?tab=2"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
勒索病毒演练服务</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/defend?tab=3"
|
||||
class="LNK"><i data-v-bc7d8fb8="" class="ico-yh"></i>
|
||||
邮件钓鱼演练服务</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-section"><span data-v-bc7d8fb8="" class="menu-section-title">主机应用防护</span>
|
||||
<h4 data-v-bc7d8fb8="" class="item-tit">主机与终端防护</h4>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/cloudwalker" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 云工作负载保护平台(牧云)</a></li>
|
||||
</ul>
|
||||
<h4 data-v-bc7d8fb8="" class="item-tit">应用防护</h4>
|
||||
<ul data-v-bc7d8fb8="" class="hover-child">
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/enterprise" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 网站监测</a></li>
|
||||
<li data-v-bc7d8fb8="" class="child-item"><a data-v-bc7d8fb8="" href="/enterprise" class="LNK"><i
|
||||
data-v-bc7d8fb8="" class="ico-dp"></i> 网页防篡改</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-row menu-row2">
|
||||
<div data-v-bc7d8fb8="" class="menu-row-title">智能运营平台</div>
|
||||
<div data-v-bc7d8fb8="" class="menu-row-content">
|
||||
<div data-v-bc7d8fb8="" class="content1"><a data-v-bc7d8fb8="" href="/cosmos" class="link-item"><img
|
||||
data-v-bc7d8fb8="" src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span data-v-bc7d8fb8="">安全分析与运营管理平台(万象)</span></a><a
|
||||
data-v-bc7d8fb8="" href="/mssSafe" class="link-item"><img data-v-bc7d8fb8=""
|
||||
src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span
|
||||
data-v-bc7d8fb8="">MSS安全托管服务(大观)</span></a><a data-v-bc7d8fb8="" href="/insight"
|
||||
class="link-item"><img data-v-bc7d8fb8=""
|
||||
src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span
|
||||
data-v-bc7d8fb8="">风险运营管理平台(鉴微)</span></a><a data-v-bc7d8fb8="" href="/training?tab=4"
|
||||
class="link-item"><img data-v-bc7d8fb8=""
|
||||
src="https://www.chaitin.cn/_nuxt/3.B1j6TFrJ.png"><span
|
||||
data-v-bc7d8fb8="">网络安全实训平台(墨攻)</span></a></div>
|
||||
<div data-v-bc7d8fb8="" class="content2"><a data-v-bc7d8fb8="" href="/chaitinAI"
|
||||
class="link-item"><span
|
||||
data-v-bc7d8fb8="">安全模型平台(问津)</span></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!----></li>
|
||||
<li><a href="javascript:;" rel="noopener noreferrer" class="LNK">智能安全</a>
|
||||
<div class="nav-hover hover-product hover-product2 EN" style="left: 266px;">
|
||||
<div class="product-list">
|
||||
<div class="plist">
|
||||
<div class="list-item">
|
||||
<ul>
|
||||
<li class="hover-item"><a href="javascript:;" rel="noopener noreferrer" class="LNK">AI 赋能安全</a><h4
|
||||
class="item-tit">攻击入侵平台</h4>
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a href="/xblade" class="LNK"><i class="ico-dp"></i> AI 自动化渗透测试平台(无锋)
|
||||
</a></li>
|
||||
</ul>
|
||||
<h4 class="item-tit">安全建设平台</h4>
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a href="/insight" class="LNK"><i class="ico-dp"></i> AI 风险运营管理平台(鉴微)
|
||||
</a></li>
|
||||
<li class="child-item"><a href="/cosmos" class="LNK"><i class="ico-dp"></i> AI 安全分析与运营管理平台(万象)
|
||||
</a></li>
|
||||
<li class="child-item"><a href="/chaitinAI" class="LNK"><i class="ico-dp"></i> AI 安全运营大模型平台(问津)
|
||||
</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="hover-item"><a href="javascript:;" rel="noopener noreferrer" class="LNK">AI 自身安全</a><h4
|
||||
class="item-tit">代码安全</h4>
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a href="/codeinsight" class="LNK"><i class="ico-dp"></i>
|
||||
智能静态应用程序安全测试系统(慧鉴) </a></li>
|
||||
<li class="child-item"><a href="/codeforce" class="LNK"><i class="ico-dp"></i> 智能开发与安全一体化平台(码力)
|
||||
</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!----></li>
|
||||
<li><a href="/solutions" class="LNK">解决方案</a></li>
|
||||
<li><a href="javascript:;" rel="noopener noreferrer" class="LNK">资源中心</a>
|
||||
<li><a href="/" class="LNK router-link-exact-active router-link-active">首页</a></li>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">产品服务 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul>
|
||||
<li class="hover-item">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a target="_self" class="LNK" href="/showcase">客户案例</a><!----></li>
|
||||
<li class="child-item"><a target="_self" class="LNK" href="/reports">资料下载</a><!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com/vuldb/index">漏洞检测</a>
|
||||
<!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com/techblog/index">技术博客</a>
|
||||
<!----></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="child-item"><a href="/product/a" class="LNK">产品服务 A</a></li>
|
||||
<li class="child-item"><a href="/product/b" class="LNK">产品服务 B</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="javascript:;" rel="noopener noreferrer" class="LNK">合作伙伴</a>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">解决方案 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul>
|
||||
<li class="hover-item">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://wanzhong.chaitin.cn">万众平台</a>
|
||||
<!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://bbs.chaitin.cn">CT TALK -
|
||||
伙伴技术社区</a><!----></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="child-item"><a href="/solutions/industry1" class="LNK">行业解决方案 1</a></li>
|
||||
<li class="child-item"><a href="/solutions/industry2" class="LNK">行业解决方案 2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/intro" class="LNK">关于我们</a>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">数据服务 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul>
|
||||
<li class="hover-item">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><!----><a href="/intro" class="LNK">公司介绍</a></li>
|
||||
<li class="child-item"><a target="_self" class="LNK" href="/news">新闻动态</a><!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK"
|
||||
href="https://app.mokahr.com/campus-recruitment/chaitin">加入我们</a><!---->
|
||||
</li>
|
||||
<li class="child-item"><!----><a href="/contact-us" class="LNK">联系我们</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="child-item"><a href="/data/api" class="LNK">API 数据服务</a></li>
|
||||
<li class="child-item"><a href="/data/report" class="LNK">定制数据报告</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="javascript:;" rel="noopener noreferrer" class="LNK">长亭站点</a>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">态势感知中心 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul>
|
||||
<li class="hover-item">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://rivers.chaitin.cn">长亭百川云</a>
|
||||
<!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://baizhi.cloud">长亭百智云</a><!---->
|
||||
</li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://wanzhong.chaitin.cn">万众平台</a>
|
||||
<!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://stack.chaitin.com">CT Stack
|
||||
安全社区</a><!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://bbs.chaitin.cn">CT TALK -
|
||||
伙伴技术社区</a><!----></li>
|
||||
<li class="child-item"><a target="_blank" class="LNK" href="https://xray.cool">Xray 社区</a><!----></li>
|
||||
<li class="child-item"><a href="/awareness/dashboard" class="LNK">实时态势面板</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a href="/pricing" class="LNK">定价</a></li>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">开源服务专区 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a href="/open/doc" class="LNK">文档与支持</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><a href="javascript:;" class="LNK">关于我们 <i class="ico-arrow-down"></i></a>
|
||||
<div class="nav-hover">
|
||||
<ul class="hover-child">
|
||||
<li class="child-item"><a href="/about/intro" class="LNK">公司介绍</a></li>
|
||||
<li class="child-item"><a href="/about/contact" class="LNK">联系我们</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="promo">
|
||||
<ul>
|
||||
<li><a class="LNK" href="javascript:;" @click="handleLogin('register')">注册</a></li>
|
||||
<li><a class="LNK" href="javascript:;" @click="handleLogin('login')">登录</a></li>
|
||||
<li><a class="LNK btn-primary" href="javascript:;" @click="handleLogin('login')">[控制台登录]</a></li>
|
||||
<li><a class="LNK btn-secondary" href="javascript:;" @click="handleLogin('login')">[申请试用]</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -270,7 +344,7 @@ const handleLogin = (type) => {
|
||||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
background: #050505;
|
||||
border-bottom: 1px solid #656565;
|
||||
border-bottom: 0px solid #656565;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
justify-content: space-between;
|
||||
@@ -282,7 +356,7 @@ const handleLogin = (type) => {
|
||||
}
|
||||
|
||||
.comHeader:before {
|
||||
background: url(./bgt.CXTC8XIQ.png) repeat-x top;
|
||||
background: url(@/assets/v3/bgt.CXTC8XIQ.png) repeat-x top;
|
||||
background-size: 50% auto;
|
||||
content: "";
|
||||
height: 60px;
|
||||
|
||||
@@ -788,15 +788,15 @@ onUnmounted(() => {
|
||||
<template #header>
|
||||
<div v-if="formType === 'login'" class="header-h1">
|
||||
<img :src="logo" alt="头像">
|
||||
<div class="headertitel">可信开源代码库账号登录</div>
|
||||
<div class="headertitel">Tcode账号登录</div>
|
||||
</div>
|
||||
<div v-else class="header-h1">
|
||||
<img :src="logo" alt="头像">
|
||||
<div class="headertitel">可信开源代码库账号注册</div>
|
||||
<div class="headertitel">Tcode账号注册</div>
|
||||
</div>
|
||||
</template>
|
||||
<template #default>
|
||||
<!-- <div v-if="formType === 'login'" class="header-h1">可信开源代码库账号登录</div>-->
|
||||
<!-- <div v-if="formType === 'login'" class="header-h1">Tcode账号登录</div>-->
|
||||
<iframe :src="`https://gitcode.com/${formType || 'login'}/?be_nested=1`"></iframe>
|
||||
</template>
|
||||
</Modal>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<Aside :asideDefaultWidth="240" @on-select="handleClickMenu" style="height: calc(100% - 60px);padding-top: 0px;"></Aside>
|
||||
</d-drawer>
|
||||
<d-layout :style="{ marginLeft: mainMarginLeftWidth + 'px', transition: 'margin-left ease 0.1s' }">
|
||||
<d-layout :class="responsiveClass" :style="{ minHeight: `calc(100% - ${footerSize?.height.value || 0}px)` }">
|
||||
<d-layout :class="responsiveClass">
|
||||
<!-- sidebar -->
|
||||
<d-aside class="d-aside mr-[32px] pt-24" v-if="route?.meta?.sidebarType">
|
||||
<slot name="sidebar"></slot>
|
||||
@@ -51,6 +51,8 @@
|
||||
</slot>
|
||||
</d-content>
|
||||
</d-layout>
|
||||
|
||||
<ComFooter />
|
||||
<!-- footer -->
|
||||
<!-- <d-footer v-if="!route?.meta?.hiddenFooter" ref="refFooter">
|
||||
<slot name="footer">
|
||||
@@ -72,6 +74,7 @@ import { RouterView, useRoute, useRouter } from 'vue-router';
|
||||
import { computed, ref, watch, watchEffect, onMounted, onUnmounted } from 'vue';
|
||||
import Header from '@/components/Header/index.vue';
|
||||
import Footer from '@/components/Footer/index.vue';
|
||||
import ComFooter from '@/views/Jyh/Home/component/ComFooter.vue';
|
||||
import Aside from './aside.vue';
|
||||
import { useGlobalInfoStore } from '@/stores/Global';
|
||||
|
||||
@@ -192,21 +195,21 @@ onUnmounted(() => {
|
||||
vertical-align: middle;
|
||||
background-position: 0 center;
|
||||
}
|
||||
|
||||
.home-background {
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
//background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 1)),url('@/assets/imgs/home/首页01_BG_@2x.png');
|
||||
background-image: url('@/assets/imgs/home/首页02_BG_@2x.png');
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
}
|
||||
//
|
||||
//.home-background {
|
||||
// &::before {
|
||||
// content: '';
|
||||
// position: absolute;
|
||||
// top: 0;
|
||||
// left: 0;
|
||||
// width: 100%;
|
||||
// height: 100%;
|
||||
// //background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 1)),url('@/assets/imgs/home/首页01_BG_@2x.png');
|
||||
// background-image: url('@/assets/imgs/home/首页02_BG_@2x.png');
|
||||
// background-size: cover;
|
||||
// background-position: center;
|
||||
// z-index: -1;
|
||||
// }
|
||||
//
|
||||
//}
|
||||
</style>
|
||||
|
||||
@@ -9,8 +9,8 @@ export const usePageTitle = (title?: string, name?:string) => {
|
||||
// pageTitle.value = `${title} - ${name} - ${projectName}`;
|
||||
pageTitle.value = `${title}`;
|
||||
} else {
|
||||
// pageTitle.value = title ? `${title} - ${projectName}` : (name ? `${name} - ${projectName}` : '可信开源代码库');
|
||||
pageTitle.value = title ? `${title}` : (name ? `${name} - ${projectName}` : '可信开源代码库');
|
||||
// pageTitle.value = title ? `${title} - ${projectName}` : (name ? `${name} - ${projectName}` : 'Tcode');
|
||||
pageTitle.value = title ? `${title}` : (name ? `${name} - ${projectName}` : 'Tcode');
|
||||
}
|
||||
return pageTitle.value;
|
||||
};
|
||||
|
||||
@@ -123,6 +123,7 @@ onMounted(() => {
|
||||
padding: 12px;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
color: white !important;
|
||||
|
||||
border-radius: 100px;
|
||||
/*border: 2px solid #FFF;*/
|
||||
|
||||
@@ -92,12 +92,12 @@
|
||||
<div v-else class="welcome-page">
|
||||
<div class="home-title">
|
||||
<img src="@/assets/imgs/jyh/ai/aiLogo2.png" alt="logo" />
|
||||
<h1>可信开源代码库AI助手</h1>
|
||||
<h1>TcodeAI助手</h1>
|
||||
</div>
|
||||
<div class="home-detail">
|
||||
<div class="home-detail-1">Hi,欢迎使用可信开源代码库AI助手</div>
|
||||
<div class="home-detail-2">可信开源代码库AI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,可信开源代码库AI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 可信开源代码库AI助手 做得更好。</div>
|
||||
<div class="home-detail-1">Hi,欢迎使用TcodeAI助手</div>
|
||||
<div class="home-detail-2">TcodeAI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,TcodeAI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 TcodeAI助手 做得更好。</div>
|
||||
</div>
|
||||
<div style="width: 100%;margin-top: -20px">
|
||||
<SwiperComponent />
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<div class="home-content">
|
||||
<div class="home-title">
|
||||
<img src="@/assets/imgs/jyh/ai/aiLogo2.png" alt="logo" />
|
||||
<h1>可信开源代码库AI助手</h1>
|
||||
<h1>TcodeAI助手</h1>
|
||||
</div>
|
||||
<div class="home-detail">
|
||||
<div class="home-detail-1">Hi,欢迎使用可信开源代码库AI助手</div>
|
||||
<div class="home-detail-2">可信开源代码库AI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,可信开源代码库AI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 可信开源代码库AI助手 做得更好。</div>
|
||||
<div class="home-detail-1">Hi,欢迎使用TcodeAI助手</div>
|
||||
<div class="home-detail-2">TcodeAI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,TcodeAI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 TcodeAI助手 做得更好。</div>
|
||||
</div>
|
||||
<!--swiper-->
|
||||
<div style="width: 100%;">
|
||||
|
||||
157
src/views/Jyh/Home/component/ComAuthority.vue
Normal file
@@ -0,0 +1,157 @@
|
||||
<template>
|
||||
<div class="com-authority"><h5 class="wow xsddhxg animated" style="visibility: visible;">屡获国际权威认证,硬核技术驱动智能安全</h5>
|
||||
<ul class="wow xsddhxg animated" style="visibility: visible;">
|
||||
<li><img
|
||||
src="http://chaitin-marketing-public.oss-cn-beijing.aliyuncs.com/images/2025/06/20/42f9989f44fb422db95349647b15409c">
|
||||
<p class="num">/ 01</p>
|
||||
<p class="title MultiLine">Tcode雷池:WAF 软硬件市场营收规模,国内安全厂商第一</p>
|
||||
<p class="line"></p>
|
||||
<p class="desc MultiLine">近日,国际权威咨询机构 IDC 发布针对中国 Web 应用防火墙产品的市场份额系列研究报告。报告显示,在 2024 年中国硬件 WAF 市场份额排名中,Tcode科技以
|
||||
10.6% 的市场份额跃居至第二,全面领先于市场主流水平;在 2024 年私有云WAF市场份额排名中,Tcode科技位列第三,连续三年稳居前三,持续占据领先地位;与此同时,2024 年国内 WAF
|
||||
软硬件市场总营收规模,Tcode科技位列安全厂商第一。</p><a class="EASE btn-more LNK"
|
||||
href="https://mp.weixin.qq.com/s/0oEiHBJuIALEcEcXqjK-iA" target="_blank">了解更多
|
||||
<i class="EASE ICO ic-arow"></i></a></li>
|
||||
<li><img
|
||||
src="http://chaitin-bbs-test.oss-cn-beijing.aliyuncs.com/images/2025/01/06/94e1522a576e485abaa30473984a07db.jpg">
|
||||
<p class="num">/ 02</p>
|
||||
<p class="title MultiLine">攻防技术标杆Tcode荣获 Gartner 三项权威认可</p>
|
||||
<p class="line"></p>
|
||||
<p class="desc MultiLine">Tcode科技在攻击面管理(ASM)、入侵和攻击模拟(BAS)、云工作负载保护平台(CWPP)领域的技术被列入报告,被 Gartner 认可为推荐厂商(Sample
|
||||
Vendor)。</p><a class="EASE btn-more LNK" href="https://mp.weixin.qq.com/s/EKov7PEEhkyHP9tOd600hQ"
|
||||
target="_blank">了解更多 <i class="EASE ICO ic-arow"></i></a></li>
|
||||
<li><img
|
||||
src="http://chaitin-bbs-test.oss-cn-beijing.aliyuncs.com/images/2025/01/03/6d7c4427b1874cb2950764d5ff12c9a0.jpg">
|
||||
<p class="num">/ 03</p>
|
||||
<p class="title MultiLine">安全咨询能力获认可!Tcode入选国际权威报告</p>
|
||||
<p class="line"></p>
|
||||
<p class="desc MultiLine">全球权威咨询机构 Forrester 发布报告《The Cybersecurity Consulting Services Landscape In Asia
|
||||
Pacific, Q3 2023》,Tcode科技安全咨询服务得到国际权威专家的高度认可。</p><a class="EASE btn-more LNK"
|
||||
href="https://mp.weixin.qq.com/s/oFXXhpP2RjBAo6UWH5JVyQ"
|
||||
target="_blank">了解更多 <i class="EASE ICO ic-arow"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComAuthority"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.com-authority {
|
||||
background-color: #f5f5f5;
|
||||
padding-bottom: 50px;
|
||||
padding-top: 50px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.com-authority h5 {
|
||||
color: #333;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1.7px;
|
||||
line-height: 40px
|
||||
}
|
||||
|
||||
.com-authority ul {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin: 54px 0 0;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.com-authority li {
|
||||
background: #fff;
|
||||
border-radius: 24px;
|
||||
-webkit-box-shadow: 0 2px 26px 7px rgba(50,50,50,.06);
|
||||
box-shadow: 0 2px 26px 7px #3232320f;
|
||||
list-style: none;
|
||||
margin: 0 14px;
|
||||
padding: 33px;
|
||||
text-align: left;
|
||||
width: 436px
|
||||
}
|
||||
|
||||
.com-authority li img {
|
||||
border-radius: 10px;
|
||||
display: block;
|
||||
height: 327px;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.com-authority li .num {
|
||||
color: #969696;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
margin: 47px 0 0
|
||||
}
|
||||
|
||||
.com-authority li .title {
|
||||
color: #333;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
height: 60px;
|
||||
letter-spacing: .5px;
|
||||
line-height: 30px;
|
||||
margin: 14px 0 0
|
||||
}
|
||||
|
||||
.com-authority li .desc {
|
||||
color: #4d4d4d;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
height: 96px;
|
||||
line-height: 24px;
|
||||
-webkit-line-clamp: 4;
|
||||
letter-spacing: .5px
|
||||
}
|
||||
|
||||
.com-authority li .line {
|
||||
background-color: #969696;
|
||||
height: 2px;
|
||||
margin: 21px 0 29px
|
||||
}
|
||||
|
||||
.com-authority li .btn-more {
|
||||
background-color: #4bad52;
|
||||
border-radius: 8px;
|
||||
color: #fff;
|
||||
display: block;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
margin: 20px 0 0;
|
||||
text-align: center;
|
||||
width: 155px
|
||||
}
|
||||
|
||||
.com-authority li .btn-more:hover {
|
||||
background-color: #7aba4a;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.com-authority li .btn-more:hover .ICO {
|
||||
left: 15px
|
||||
}
|
||||
|
||||
.com-authority li .btn-more .ICO {
|
||||
left: 7px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.MultiLine {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
word-break: break-word;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
</style>
|
||||
96
src/views/Jyh/Home/component/ComBank.vue
Normal file
@@ -0,0 +1,96 @@
|
||||
<template>
|
||||
<div class="com-bank">
|
||||
<!-- 第一组滚动(从左到右,对应原 duration: 222.105s) -->
|
||||
<Marquee
|
||||
class="marquee-group"
|
||||
:duration="222.105"
|
||||
direction="normal"
|
||||
:pause-on-hover="false"
|
||||
:pause-on-click="false"
|
||||
:iteration-count="Infinity"
|
||||
>
|
||||
<div class="bank-item">
|
||||
<!-- 无需手动复制图片,组件自动实现无缝滚动 -->
|
||||
<img src="@/assets/v3/brand/aiqiyi.jpg" alt="爱奇艺">
|
||||
<img src="@/assets/v3/brand/bili.jpg" alt="哔哩哔哩">
|
||||
<img src="@/assets/v3/brand/chinasouth.jpg" alt="中国南方航空">
|
||||
<img src="@/assets/v3/brand/cm.jpg" alt="中国移动">
|
||||
<img src="@/assets/v3/brand/didi.jpg" alt="滴滴">
|
||||
<img src="@/assets/v3/brand/guangfa.jpg" alt="广发银行">
|
||||
<img src="@/assets/v3/brand/guangfazhengqusn.jpg" alt="广发证券">
|
||||
<img src="@/assets/v3/brand/guoxin.jpg" alt="国信证券">
|
||||
<img src="@/assets/v3/brand/guozai.jpg" alt="国寿">
|
||||
<img src="@/assets/v3/brand/henanjich.jpg" alt="河南机场">
|
||||
<img src="@/assets/v3/brand/huawei.jpg" alt="华为">
|
||||
<img src="@/assets/v3/brand/kaifa.jpg" alt="开发银行">
|
||||
<img src="@/assets/v3/brand/nankai.jpg" alt="南开大学">
|
||||
</div>
|
||||
</Marquee >
|
||||
|
||||
<!-- 第二组滚动-->
|
||||
<Marquee
|
||||
class="marquee-group"
|
||||
:duration="205.02"
|
||||
direction="normal"
|
||||
:pause-on-hover="false"
|
||||
:pause-on-click="false"
|
||||
:iteration-count="Infinity"
|
||||
style="margin-top: 20px;"
|
||||
>
|
||||
<div class="bank-item">
|
||||
<img src="@/assets/v3/brand/pana.jpg" alt="松下">
|
||||
<img src="@/assets/v3/brand/sf.jpg" alt="顺丰">
|
||||
<img src="@/assets/v3/brand/shanghaizhengquan.jpg" alt="上海证券">
|
||||
<img src="@/assets/v3/brand/shenzhenzhengquan.jpg" alt="深圳证券">
|
||||
<img src="@/assets/v3/brand/spring.jpg" alt="春秋航空">
|
||||
<img src="@/assets/v3/brand/state.jpg" alt="国家电网">
|
||||
<img src="@/assets/v3/brand/tsinghua.jpg" alt="清华大学">
|
||||
<img src="@/assets/v3/brand/uni.jpg" alt="联合利华">
|
||||
<img src="@/assets/v3/brand/vip.jpg" alt="唯品会">
|
||||
<img src="@/assets/v3/brand/vivo.jpg" alt="vivo">
|
||||
<img src="@/assets/v3/brand/xhs.jpg" alt="小红书">
|
||||
<img src="@/assets/v3/brand/xingye.jpg" alt="兴业银行">
|
||||
</div>
|
||||
</Marquee>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Marquee } from 'vue-fast-marquee';
|
||||
import 'vue-fast-marquee/style.css';
|
||||
|
||||
export default {
|
||||
name: "ComBank",
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.com-bank {
|
||||
background-color: #fff;
|
||||
margin: 0 auto;
|
||||
max-width: 1440px;
|
||||
overflow: hidden; /* 隐藏滚动溢出部分 */
|
||||
padding: 61px 0 71px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 滚动容器样式 */
|
||||
.marquee-group {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* 图标容器样式 */
|
||||
.bank-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.bank-item img {
|
||||
height: 66px;
|
||||
margin: 8px 22px;
|
||||
width: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
</style>
|
||||
288
src/views/Jyh/Home/component/ComEntry.vue
Normal file
@@ -0,0 +1,288 @@
|
||||
<template>
|
||||
<div class="com-entry">
|
||||
<div class="com-slider">
|
||||
<div class="swiper swiper-creative swiper-3d" ref="swiperContainer">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" data-swiper-slide-index="0">
|
||||
<div class="sVdo">
|
||||
<video
|
||||
class="full-bg-video"
|
||||
loop muted autoplay
|
||||
playsinline
|
||||
src="@/assets/v3/ab622e07e5f14b23be0d5c2e620ea4be.mp4">
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide" data-swiper-slide-index="1">
|
||||
<div class="sImg">
|
||||
<img src="@/assets/v3/4b518ec439454e7a85d261de0c833c6e.png" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide" data-swiper-slide-index="2">
|
||||
<div class="sImg">
|
||||
<img src="@/assets/v3/09d1ab34dd334323a1bb50e4a298bcfb.jpg" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="swiper-button-prev swiper-button-white" ref="prevButton"></div>
|
||||
<div class="swiper-button-next swiper-button-white" ref="nextButton"></div>
|
||||
|
||||
<div class="swiper-pagination" ref="paginationEl"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="entry-in new-feature-cards">
|
||||
<li v-for="(item, index) in featureCards" :key="index" class="feature-card">
|
||||
|
||||
<h5 class="card-title">{{ item.title }}</h5>
|
||||
|
||||
<a class="EASE LNK MultiLine txt" target="_blank" :href="item.link">
|
||||
{{ item.description1 }}
|
||||
<br>
|
||||
{{ item.description2 }}
|
||||
</a>
|
||||
|
||||
<a class="EASE LNK MultiLine card-link" target="_blank" :href="item.link"><i class="EASE ICO ic-arow"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {onMounted, ref,onBeforeUnmount} from 'vue';
|
||||
import Swiper from 'swiper';
|
||||
// 导入 Swiper 样式和模块
|
||||
import 'swiper/swiper-bundle.css';
|
||||
import { Navigation, Pagination, EffectCreative,Autoplay } from 'swiper/modules';
|
||||
|
||||
const featureCards = [
|
||||
{
|
||||
title: 'SBOM 自动化分析',
|
||||
description1: '生成标准 CycloneDX/SPDX',
|
||||
description2: '物料清单,透视组件资产。',
|
||||
link: '/sbom-analysis',
|
||||
linkText: '[了解详情 >]',
|
||||
},
|
||||
{
|
||||
title: '供应链漏洞检测分析',
|
||||
description1: '深度解析依赖树,精准定位',
|
||||
description2: 'CVE 漏洞与传播路径。',
|
||||
link: '/supply-chain-vulnerability',
|
||||
linkText: '[了解详情 >]',
|
||||
},
|
||||
{
|
||||
title: '恶意代码投毒检测',
|
||||
description1: '识别依赖混淆、组件篡改',
|
||||
description2: '及后门植入攻击。',
|
||||
link: '/malware-detection',
|
||||
linkText: '[了解详情 >]',
|
||||
},
|
||||
];
|
||||
|
||||
// 1. 定义 ref 引用到 DOM 元素
|
||||
const swiperContainer = ref(null);
|
||||
const prevButton = ref(null);
|
||||
const nextButton = ref(null);
|
||||
const paginationEl = ref(null);
|
||||
let mySwiper = null;
|
||||
|
||||
onMounted(() => {
|
||||
if (swiperContainer.value) {
|
||||
// 2. 初始化 Swiper 实例
|
||||
new Swiper(swiperContainer.value, {
|
||||
// 3. 注册使用的模块(必须)
|
||||
modules: [Navigation, Pagination, EffectCreative,Autoplay],
|
||||
|
||||
// 4. 配置 Swiper 选项
|
||||
loop: true, // 确保轮播循环
|
||||
|
||||
// 5. 配置 3D Creative 效果(必须)
|
||||
effect: 'creative',
|
||||
creativeEffect: {
|
||||
prev: {
|
||||
shadow: true,
|
||||
translate: ['-100%', 0, -1],
|
||||
},
|
||||
next: {
|
||||
translate: ['100%', 0, -1],
|
||||
},
|
||||
},
|
||||
|
||||
// 6. 配置 Navigation (导航按钮)
|
||||
navigation: {
|
||||
// 使用 ref 引用或 CSS 类名指向按钮元素
|
||||
nextEl: nextButton.value, // 使用 ref 引用更精确
|
||||
prevEl: prevButton.value, // 使用 ref 引用更精确
|
||||
// 也可以使用: nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev',
|
||||
// 但使用 ref 在 Vue 中更稳定。
|
||||
},
|
||||
|
||||
// 7. 配置 Pagination (分页器)
|
||||
pagination: {
|
||||
el: paginationEl.value, // 使用 ref 引用指向分页器容器
|
||||
clickable: true, // 确保点击分页点可以切换
|
||||
},
|
||||
|
||||
// 自动播放(可选,如果需要)
|
||||
autoplay: {
|
||||
delay: 4000,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
|
||||
// 其他配置,如速度、初始化索引等...
|
||||
initialSlide: 2, // 假设您想从 index=2 的 Slide 开始
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 在组件销毁时销毁 Swiper 实例,防止内存泄漏 (可选但推荐)
|
||||
onBeforeUnmount(() => {
|
||||
if (mySwiper) {
|
||||
mySwiper.destroy();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.com-entry {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.com-entry .entry-in {
|
||||
background: #9696964d;
|
||||
border-radius: 12px;
|
||||
bottom: 68px;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
left: 50%;
|
||||
padding: 34px 0;
|
||||
position: absolute;
|
||||
-webkit-transform: translate(-50%);
|
||||
transform: translate(-50%);
|
||||
z-index: 2
|
||||
}
|
||||
|
||||
.com-entry .entry-in li {
|
||||
border-right: 1px solid #979797;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
list-style: none;
|
||||
padding: 7px 36px 0 40px;
|
||||
width: 314px
|
||||
}
|
||||
|
||||
.com-entry .entry-in li .ic-arow {
|
||||
left: 0;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.com-entry .entry-in li:hover h5 {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.com-entry .entry-in li:hover a {
|
||||
color: #4bad52
|
||||
}
|
||||
|
||||
.com-entry .entry-in li:hover .ic-arow {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAWCAMAAADgvdz9AAAAAXNSR0IArs4c6QAAAKhQTFRFAAAAAP8AgICAVapVVapVSbZJQJ9gRqJdSaRbUa5RRq5RTKpVSa1SSK9QSa9QSq5RSKpVS65RTK5RS6tUSa5RSa9QSqxTTK5RS6xTS6xTTKxTTK1SS65RS61SSq1STKxTS61SS61SSq1STK1SS65RS61SSq1SSq5RS61SS6xTS65RS61SS61SS61SS61SS61SS61SS61SS61SS61SS61SS61SS61SS61SEkaAMAAAADd0Uk5TAAECAwYHCAsOExYbHCAjJicsOTpCSVlhYmlyeYGCiZGSmaGiqbGyucjP1dze4Obq7/L1+Pv8/muR6mgAAACNSURBVHichZLXDoJQEERXUBALRcGuFEWl2p3//zMTY+LL3b3zeiZbh+gv1yRBvbqMBOxXwCngeXd1xSsd8AYneeK2toQOR6CZdXhDWADnKc+NRQscxrzB3t7x2PV5w2j/xmVpEnngVUY6rNYw+xVXjrYRRjPm0mLfs0wY6OfCUZ1YeIn8UE0cNGFSRfEDg08bjv6UEeIAAAAASUVORK5CYII=);
|
||||
left: 10px
|
||||
}
|
||||
|
||||
.com-entry .entry-in li:last-child {
|
||||
border: none
|
||||
}
|
||||
|
||||
.com-entry .entry-in li h5 {
|
||||
color: #4bad52;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
letter-spacing: .5px;
|
||||
line-height: 30px;
|
||||
margin: 0 0 19px
|
||||
}
|
||||
|
||||
.com-entry .entry-in li .txt {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
height: 48px;
|
||||
letter-spacing: .5px;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.com-slider {
|
||||
background-color: #0c0c0f
|
||||
}
|
||||
|
||||
.com-slider .swiper-slide {
|
||||
background-position: top;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
cursor: pointer;
|
||||
height: 990px
|
||||
}
|
||||
|
||||
.com-slider .swiper-slide .sVdo {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.com-slider .swiper-slide .sVdo video {
|
||||
max-height: 900px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.com-slider .swiper-slide .sVdo .btn-play {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAAXNSR0IArs4c6QAAALdQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////+/379/v49Pr08/rz7vfv6vXr6fXq2O3a1+3Zz+nRxeXHxOTHu+C+ut+9pdaopNanmtGemdGdmNCckM2Uj8yUhsiKhceKfMOBe8OAabtvabtuaLpuZ7ptYrhoXLViWbNgV7JeVrJdT69WT69VTK5TS61ST2RNRwAAABZ0Uk5TAAEJDBYXI1Jyf4KDpaqrv9PZ6PLz/pJYTDUAAAEkSURBVHjanZXHcsMwDERXJbKoqItiepzi9N6chv//rlwyMnvo7JF4QwxAYAkoyvKy6QbeNWWewam0aIWktkitWMK40MRZYnKzXljUzzQsYqOwamSRzMW1cKqKpfsq4VG9upMJr9hUx+gHx9+Kkl78oT4xEl8uz7dcyVO5z59ET3MT5CmATfmEiOj7YtsgCwCtDhK9HulgC2TCBImudzQyQ24F6e1YBXOUdpDodk8OlGhcIL2fSoEGnRMkut+fAh24B6TnKTBg8IEvEuhL/XAgpXYX87FQinG2505rj6vhJ3rD7U94s2s8YfBQhI+ZMrhfRI+HjsFVVuFqeeZchfDlCl7XcANAVPu4SrKp2GM+dfwf2ws30jWsGcBGmNmvvg9u+z5+AJMEhmRVU6aXAAAAAElFTkSuQmCC) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
height: 30px;
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 30px
|
||||
}
|
||||
|
||||
.com-slider .swiper-slide .sImg {
|
||||
background-position: top;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
height: 100%;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.MultiLine {
|
||||
display: -webkit-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
word-break: break-word;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
|
||||
.ic-arow {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAWCAMAAADgvdz9AAAAAXNSR0IArs4c6QAAALdQTFRFAAAA////////////////////6urq6+vr8vLy8/Pz6urq6+vr7e3t7+/v7e3t8fHx8fHx7e3t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v8PDw8PDw8PDw8PDw8PDw8PDw7+/v7+/v8PDw8PDw7+/v8PDw8PDw8PDw8PDw7+/v7+/v8PDw7+/v7+/v7+/v7+/v7+/v8PDw7+/v7+/v7+/v7+/v8PDw7+/v7+/v7+/v7+/v4uiVIAAAADx0Uk5TAAECAwYHDA0UFRgZHR8qNTc4RlNUVldkZWZnc3R2d4SGh5OUlpekpqe2t8PExsvR093f5+nw8fb3+/z+BY9v3gAAAJtJREFUKM99UkcWglAQ+wKKDcGGXVTsXbGT+5/L0Y0bM9kmb14miTE/eFmjILM/NxW6dAB2Vc5b7QRYeFyQi+54jFwuKM9TXDo2F/hb4FhTPDZOwKrCead/xWta4IJ8/MRtIDG54JCYVDpkxydyfEg6cHpibcas1eWxNXvM3yixfEPt2kolY1KJ1UqQLlmhxc8cAm1MoTa2P1N8A11AHbmJaAv2AAAAAElFTkSuQmCC);
|
||||
margin: 10px 0 0;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.ic-arow, .ic-down {
|
||||
display: inline-block;
|
||||
height: 12px;
|
||||
}
|
||||
|
||||
.EASE {
|
||||
-webkit-transition: all .4s ease-out;
|
||||
transition: all .4s ease-out;
|
||||
}
|
||||
|
||||
.ICO {
|
||||
background-position: 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
</style>
|
||||
364
src/views/Jyh/Home/component/ComFooter.vue
Normal file
@@ -0,0 +1,364 @@
|
||||
<template>
|
||||
<div class="comFooter">
|
||||
<div class="footer-top">
|
||||
<div class="footer-l"><p class="form-tip">立即预约,开启智能安全之旅!</p>
|
||||
<form class="form"><input placeholder="请输入您的电话 +86" class="form-ipt" type="tel" maxlength="11"><!---->
|
||||
<button class="EASE form-sbmt" type="submit">预约 <i class="EASE ICO ic-arow"></i></button>
|
||||
</form>
|
||||
<p class="contact-tip">联系我们</p>
|
||||
<div class="contact-item"><i class="ICO ic-phone-g"></i> 电话:400-032-7707</div>
|
||||
<div class="contact-item"><i class="ICO ic-mail-g"></i> 邮箱:info@chaitin.com</div>
|
||||
<div class="contact-item"><i class="ICO ic-addr-g"></i> 地址:北京市朝阳区天辰东路7号国家会议中心写字楼北区6层</div>
|
||||
<div class="contact-media">
|
||||
<div class="media-item EASE"><img src="https://www.chaitin.cn/_nuxt/gzh.DU0MJ4ao.png" alt="公众号"> 公众号</div>
|
||||
<div class="media-item m-sph EASE"><img src="https://www.chaitin.cn/_nuxt/shipinhao.BWbq9rer.png" alt="视频号">
|
||||
视频号
|
||||
</div>
|
||||
<div class="media-item m-bz EASE"><img src="https://www.chaitin.cn/_nuxt/bzhan.CjlwQaqe.png" alt="B站"> B站
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-r">
|
||||
<div class="r-links"><h5>产品与服务</h5>
|
||||
<ul>
|
||||
<li><a href="/safeline" class="">下一代 Web 应用防火墙(雷池)</a></li>
|
||||
<li><a href="/dsensor" class="">主动威胁欺骗防御系统(谛听)</a></li>
|
||||
<li><a href="/xray" class="">风险评估系统(洞鉴)</a></li>
|
||||
<li><a href="/cloudwalker" class="">云工作负载保护平台(牧云)</a></li>
|
||||
<li><a href="/cosmos" class="">安全分析与运营管理平台(万象)</a></li>
|
||||
<li><a href="/cloudatlas" class="">资产暴露面运营管理(云图)</a></li>
|
||||
<li><a href="/tanswer" class="">流量威胁检测响应系统(全悉)</a></li>
|
||||
<li><a href="/alioth" class="">安全验证平台(御衡)</a></li>
|
||||
<li><a href="/chaitinAI" class="">安全大模型(问津)</a></li>
|
||||
<li><a href="/insight" class="">风险运营管理平台(鉴微)</a></li>
|
||||
<li><a href="/xblade" class="">自动化渗透测试平台(无锋)</a></li>
|
||||
<li><a href="/codeinsight" class="">智能静态应用程序安全测试系统(慧鉴)</a></li>
|
||||
<li><a href="/codeforce" class="">智能开发与安全一体化平台(码力)</a></li>
|
||||
<li><a href="/mssSafe" class="">MSS 安全托管服务(大观)</a></li>
|
||||
<li><a href="/firewallv2" class="">第二代网络防火墙</a></li>
|
||||
<li><a href="/evaluate" class="">评估分析服务</a></li>
|
||||
<li><a href="/defend" class="">防守运营服务</a></li>
|
||||
<li><a href="/training" class="">培训展示服务</a></li>
|
||||
<li><a href="/aigc" class="">大模型系统安全评估服务</a></li>
|
||||
</ul><!----></div>
|
||||
<div class="r-links"><h5>解决方案</h5>
|
||||
<ul>
|
||||
<li><a href="/solutions#JTabAnchor" class="">热门方案</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=1#JTabAnchor" class="">金融行业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=2#JTabAnchor" class="">能源行业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=3#JTabAnchor" class="">通信行业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=4#JTabAnchor" class="">政府行业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=5#JTabAnchor" class="">中央企业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=6#JTabAnchor" class="">制造行业</a></li>
|
||||
<li><a href="/solutions?tab=industry&catId=7#JTabAnchor" class="">医疗行业</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="r-links"><h5>资源中心</h5>
|
||||
<ul>
|
||||
<li><a target="_blank" href="/showcase">客户案例</a><!----></li>
|
||||
<li><a target="_blank" href="/reports">资料下载</a><!----></li>
|
||||
<li><a target="_blank" href="https://stack.chaitin.com/vuldb/index">漏洞检测</a><!----></li>
|
||||
<li><a target="_blank" href="https://stack.chaitin.com/techblog/index">技术博客</a><!----></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="r-links"><h5>关于我们</h5>
|
||||
<ul>
|
||||
<li><!----><a href="/intro" class="">公司介绍</a></li>
|
||||
<li><a target="_self" class="LNK" href="/news">新闻动态</a><!----></li>
|
||||
<li><a target="_blank" class="LNK" href="https://app.mokahr.com/campus-recruitment/chaitin">加入我们</a><!---->
|
||||
</li>
|
||||
<li><!----><a href="/contact-us" class="">联系我们</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="r-links"><h5>Tcode站点</h5>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://rivers.chaitin.cn">Tcode百川云</a><!----></li>
|
||||
<li><a target="_blank" href="https://baizhi.cloud">Tcode百智云</a><!----></li>
|
||||
<li><a target="_blank" href="https://wanzhong.chaitin.cn">万众平台</a><!----></li>
|
||||
<li><a target="_blank" href="https://stack.chaitin.com">CT Stack 安全社区</a><!----></li>
|
||||
<li><a target="_blank" href="https://bbs.chaitin.cn">CT TALK - 伙伴技术社区</a><!----></li>
|
||||
<li><a target="_blank" href="https://xray.cool">Xray 社区</a><!----></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-botm">
|
||||
<div class="Wrap">
|
||||
<div class="beian"> © 2025 北京Tcode科技有限公司 | <a href="https://beian.miit.gov.cn/" target="_blank" rel="noreferrer">京ICP备2024055124号-2</a>
|
||||
| <a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802020947" target="_blank"
|
||||
rel="noreferrer"> 京公网安备 11010802020947号 </a> | <a href="/html/legal.html" target="_blank"
|
||||
rel="noreferrer">法律声明</a> | <a
|
||||
href="/html/privacy.html" target="_blank" rel="noreferrer">隐私政策</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComFooter"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.comFooter {
|
||||
background-color: #fff
|
||||
}
|
||||
|
||||
.comFooter.EN .r-links {
|
||||
margin-right: 30px
|
||||
}
|
||||
|
||||
.comFooter.EN .contact-item {
|
||||
-webkit-box-align: start;
|
||||
-ms-flex-align: start;
|
||||
align-items: flex-start
|
||||
}
|
||||
|
||||
.comFooter.EN .contact-item .ICO {
|
||||
position: relative;
|
||||
top: 9px
|
||||
}
|
||||
|
||||
.comFooter.EN .contact-item .ic-addr-g {
|
||||
top: 6px
|
||||
}
|
||||
|
||||
.comFooter .contact-media {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin: 40px 0 0
|
||||
}
|
||||
|
||||
.comFooter .contact-media .media-item {
|
||||
margin: 0 30px 0 0;
|
||||
text-align: center;
|
||||
width: 80px
|
||||
}
|
||||
|
||||
.comFooter .contact-media .media-item img {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 2px 11px 2px rgba(0,0,0,.08);
|
||||
box-shadow: 0 2px 11px 2px #00000014;
|
||||
display: block;
|
||||
margin: 0 0 10px;
|
||||
padding: 10px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.comFooter .footer-l {
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comFooter .footer-l:after {
|
||||
background-color: gray;
|
||||
bottom: 0;
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: -50px;
|
||||
top: 0;
|
||||
width: 1px
|
||||
}
|
||||
|
||||
.comFooter .footer-top {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
position: relative;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
padding: 50px 45px
|
||||
}
|
||||
|
||||
.comFooter .footer-botm {
|
||||
background-color: #252525;
|
||||
color: #b0b0b0;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
line-height: 17px
|
||||
}
|
||||
|
||||
.comFooter .footer-botm .Wrap {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
line-height: 24px;
|
||||
padding: 18px 45px
|
||||
}
|
||||
|
||||
.comFooter .form-tip {
|
||||
color: #333;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
letter-spacing: .5px;
|
||||
line-height: 35px;
|
||||
margin: 0 0 24px
|
||||
}
|
||||
|
||||
.comFooter .form {
|
||||
position: relative;
|
||||
width: 363px
|
||||
}
|
||||
|
||||
.comFooter .form-ipt {
|
||||
background: #f5f5f5;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
color: #333;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
height: 41px;
|
||||
line-height: 40px;
|
||||
padding: 0 12px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.comFooter .form-ipt:focus-visible {
|
||||
border: none
|
||||
}
|
||||
|
||||
.comFooter .form-sbmt {
|
||||
background: #4bad52;
|
||||
border: none;
|
||||
border-radius: 0 8px 8px 0;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
height: 41px;
|
||||
letter-spacing: .5px;
|
||||
line-height: 41px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
top: 0;
|
||||
width: 119px
|
||||
}
|
||||
|
||||
.comFooter .form-sbmt .ICO {
|
||||
left: 6px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comFooter .form-sbmt:hover {
|
||||
background: #7aba4a
|
||||
}
|
||||
|
||||
.comFooter .form-sbmt:hover .ICO {
|
||||
left: 15px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comFooter .footer-r {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 0 0 0 100px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comFooter .r-links {
|
||||
margin: 0 55px 0 0;
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.comFooter .r-links:last-child {
|
||||
margin-right: 0
|
||||
}
|
||||
|
||||
.comFooter .r-links h5 {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
line-height: 22px
|
||||
}
|
||||
|
||||
.comFooter .r-links ul {
|
||||
margin: 17px 0 0
|
||||
}
|
||||
|
||||
.comFooter .r-links li {
|
||||
color: gray;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
line-height: 30px;
|
||||
list-style: none
|
||||
}
|
||||
|
||||
.comFooter .r-links a:link,.comFooter .r-links a:visited {
|
||||
color: gray;
|
||||
-webkit-text-decoration: none;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
.comFooter .r-links a:hover {
|
||||
color: #4bad52
|
||||
}
|
||||
|
||||
.comFooter .contact-tip {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
margin: 51px 0 12px
|
||||
}
|
||||
|
||||
.comFooter .contact-item {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
color: #4d4d4d;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 32px
|
||||
}
|
||||
|
||||
.comFooter .contact-item .ICO {
|
||||
margin-right: 12px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.comFooter .contact-item .ic-phone-g {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAMAAABAUVr7AAAAAXNSR0IArs4c6QAAAtBQTFRFAAAAAP8AgICAVapVQL9AM5lmVapVSbZJQJ9gVapVVapVTrFOSaRbRKpVUK9QS7RLR6pVUa5RTbNNSapVRq5RTrFOSqpVTrFOTKpVSa1ST7BPTKpVSq1SSK9QTapVS61TTKxTSKpVS65RSrBPTqxTTK5RSq9QUKpVSaxTS69QSrFOSqxTSqxTTK5RTrFSSa1SSq1STa5VTa5RTKtUS6lWS61TS6lTTq5VSa9QS6xTSKxTSq5RTKxTSq5RTatUSq5RS65RSK5RTK1SSa1PSapSSqxTS6xTSq1SS65RS69QS61SSq1SSqxTTK5RSqxTSqxRTKxTTK9TSqxTS61STK5RTKxTTK1QSa1SS6xTTK9QS61USq9STK1SS65RSa5RTK1STKxTS65TTK5RSq5RS6xTS61SSq5RTK5RS61TTK5RS61STK5RSqxTS61QS61TTK1SSq5RS65RS65RS61STKxSTK1STKxTS65RSq1SS6xTS61SS65SS61SSq5RS61STK1RSq1SSa5RTK1SS61SS61SS6xTS6xSSqxTTK1SS61SS65RS61STK1SSq1SS61TS61STKxSSq5RS65RS61SS61RSq1SS65TS6xTS61TS61SS61RTK1SS61SS61STK5TTK5RTKxTTKxRS65RTK1SSq1SS61SSq1SS65RSqxSS61SSq1RS61SS6xTS6xSTK5RTK1STK1RS61SS6xTS65SS65RTK1SS65SS61SS61SS6xSTK5STK5RTK1SSq1SS6xTS6xSSqxSS65RS61STK5SS65RTK1SS61SS61TS61SS61TS65SS65RS61SSq1TS6xSS6xTS61STK5STK1SS61SSqxTTK1SS61RTK1STKxSS61SS65SS61SS65SS61TS61SSq1SS6xTS65RSq1STK1SS61STKxTTK5STK1SS61STKxTTKxSS6xSS65SS61SSq1RS61SOBldxgAAAO90Uk5TAAECAwQFBgcICQwNDg8QERITFBUWFxgaGxwdHh8gISIlJyktLi8wMDEzNDQ3OTs7Pj8/QEFEREVGR0dISkxMT1JSVFRUWVxgYmNjZGhra2tsb29wdXV2dnt8fX+DhISGh4iKiouMjZCTlJWXl5mcnp6go6Slq6ytr7C1t7e5ur2+v8PExcXFxcbGycnKy8zNzs/Q0NDR0tLT09PU1NbY2NjY2dvc3d3f3+Dg4eHh4uLi5OTl5eXm5ufn6Ojp6urq6uvr7Ozs7O3t7u/v7/Dw8fLz8/T09fX29vf4+Pn6+vr6+/v8/Pz9/f39/f3+/v7UCC1AAAAB+ElEQVR42mNgIBYI6lpa6wjgUcDp27/99u1Nvd4cuFSI77n8ZPX0metfn68Rw65CqvX9mgQVfkG13JPvl2NXk/7uuB2E5bDpSTw2FSKz74bC2JEvp/JjUWJ0YqUyjK29dYcuFiW2j2fCPcI795IlFiWm16bBDZddvFkbixL9PQvFYezge1OEsCiRnn9QH8p0OPkwiRGLEpbu9z4QluG+9+2CWMMl7X0dWKvMqrfzRLGHrvGhpYogmq3/jT+uSGx5nwxmlL4vxxWN3jfny4Fol4sb1HAo4et4X8bKwMDA3/m+Be4YAQVNBVaEGsdjp91BtPP+5xWQqNbImbhk3aKuEC64vwtfzJQFMVIuPJ5jwsjAEH7i/Z21y868v96oDlMj2fW+FmQFY/SW99uqPWMOPWhzV5Yxjtr7/ooMTI3WnGdVwiCGfdP59++vPjwgAomcGe/L4HGst+BJJThkuWyK+lZs5IYKW+06agF3stnORxdUIUxmObgrmXveJyIF8tL3k2wwAiT/fTEST6Xx/qYILjQlde9zkLn8mQdvNDuh5CWBOQ88ULQwuU24d6relBORUPKezpJHM1cobOarI32pBuwQbuDhs+GYaUwibvK59wenNhQnBPlxBGzPYMMWqwLm2VN2v3v//v0tL2YlnOUAj65rbFZBCSQAAenMpeRemUEEAAAAAElFTkSuQmCC);
|
||||
height: 16px;
|
||||
width: 17px
|
||||
}
|
||||
|
||||
.comFooter .contact-item .ic-addr-g {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAqCAYAAADS4VmSAAAAAXNSR0IArs4c6QAABX9JREFUeNrVWGuMFEUQXhRfaHzjA4QgRBRfwfiKiYYzenDb1bM3Xb3jcRgM+EPhj4lGNPFJEP2lf9QfoIkoEjhmu3rugJzyUCKIQBRNEI2KCAIBJQGjIARO7kzNNsve3s7ea8/ESubPTPdU9Vf1fVUzqdT/zjpSgx4Mg4syLZkrZRiMTEf+mDThNekwGBqEwQUD5pcdCqvqJOm3JOF6QfgTkD4oCE8Aqd+AcJu0eqVHOEdG/l3pRQ9fWBXH3nLvckH4OFj1DRB2uOsoGL1dEG4Cg58C4RawaieQ/if/XLWBVatELiv7jkpHalBdGNwDVq9zTtuE0SuFVbOgqWEcI+JH/sVBGJwHK+ASEQZX8XqRw9fAqs3xHqNPgNVLgaaM7rVzsGoyEO5xzteDVcjOerKdAwKjZ4JV3zlEvgXC+3vsX1g1HQweAUKGdB6/sC8gymXBSLC6OR+E3icjv6bbTTHspPeyc0n48sSFU8/vTw0pqy4Dq4mDkAa3eYsbb6hYcGBVnHNh9dv9dV7EoGGCcEWMRC7bwjQuDz1Xez7nn/cV9sS6oCmjgfBXSXhSRH5jWZ47qjGFsCeFVt9cP2KSabxJhsHwbgPuSA1KEz6XT4XeyGiXFl6dO/0qb7k3pEKahggKpnKqBOHvQNgOhHvB6jUZq4KatTWDK4mZJNzOe2TkP9ApOlY4DsCz6tmkF9w+/7Gz0hHOj1HKB3sSCA8WCdRxj/BVXldufxAGZwrChW7tm+w3fsCCwvIqSR9Nh8GNibSy2UdiahrNFF0gwmA8F5i06l4wMd3apcXDjGYixSO/MS9SuIH9ntb5WNtxOytaorjkGdIuCZ8JwuDs4ufxIaxqdTleWDhdKc2b8M44AKt2FHxxV3ONZVMhqhLjguOcC6O3MrcTTjfeIbQuqRl5YXCtMPqYJPyrLvJHxTe5pYJVbdxYkuSWq93lfHXp6QtrCK8GgwcE4cZKBwGj/2QUMmFwffFNLqbNSRvjl1u1UxDurm3JDCuLQKhqHbxLuOASZH5szByjjxQQiOlh1Q9gcR9zutxGhhQIbayShMsyJUGAbRgHRn8Zo2TVo4mFHGI2rhPSp2sg3Zo+Rxi9LH7QiZ+drXaJvgMI97tTrhNGz/KMr8GquUC4y91fU0nChdFvOBp+1CndYPTz7sG82bNnn5GkZl7kPwRWf1XE/Q6HyjHeq6y6optesyWPAL7SGeJWf4xkZbNqR1KOC2vDYGg8L1g9F6x+B3LZp2UuW8NIVmzzRmtH48P1YXBLF5UDo993avhSEo/7avHpCb9waVpcs2DauV0X5fw0yylYtUs0NYytmveiRgSEf3AtlV3HUUnC99wEE1ZrzPYoVr8D/N600XMrNaxUOmoYwxNvTKdIz+xvKpi+wuhWNxt+1qUNV2g63PH2ZIy+tT/QS6Ofcs4PQXP2vp4WzBCwalG+YDB5hOrG8r1B7XO5fzFJHcujYPR1YPFnNx8+magNCcb1I42OnPPVk8Lg0t6fgPxp+VTo/dxGe7NXWj3Daf4B0Vx/d1+5y6n40J3i46RGVWqqqeFmYdXuPHpqVm/R65qKPCtYPl/oLo9x0zKnPkZwRU+D7iYVODX+4CR9yLNqQtI6Pqmr+nYuvnRL5raqCBl3LZHDD5xAbZiY0HA419JNyp5VT1RVzt2HxY8O2tdLpyIe0yThJ64zRlX7P1DC60Zh+IcE/i2N9goSvrZmMBDOcUW3u0unq5ZxKmTO9QqjttYvmTyC72esqnVz3klh9Ixqd9JO5kf+KCD1fZ4V2XflcjncjWIc1NIB/U90yvgTTBp9XBh9Qri8S8JfClPuQBu3bTB6ftFI1iZyanrqvzTOvzT4tfsX1Fx2whloi/8TWjWhr92S7V9fD3PQ+dnr/wAAAABJRU5ErkJggg==);
|
||||
height: 21px;
|
||||
width: 16px
|
||||
}
|
||||
|
||||
.comFooter .contact-item .ic-mail-g {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAcCAMAAAAz6Z0tAAAAAXNSR0IArs4c6QAAAadQTFRFAAAAAP8AgICAVapVQL9AM5lmVapVSbZJVapVTbNNRqJdVapVSaRbRKpVUK9QS7RLVapVR6pVUa5RTbNNSapVRq5RTrFOSrVKR61STrFOSa1ST7BPTKpVTapVS61TSa9QTqpVSq5RSqhXTaxTTK5XSrFOSK1SSKpVS6tUTq1SSa1STK5VTK5RTKpVS7BUS7BPSa5RTapVS61TSqpRSq5RTK1SSq9QSq1VTK5PS69QSq5TSqxTS6tUS65RS6tRTK1SS7BSS61USq1STKtSS65RSqtSTKxTTK5RSqxRS6xTSa1SS61SS6xRS6xTTK1STK1SSq1SS61SSq5RSa1RSq5RS61STK1TS65TSq1SSqxTSq5RS61SSq1STK1STKxTSq1SS65RS61TS61SSqxTS6xTSq5RS61TS61TS6xTS61SS6xSS61SS61STKxTSq5RS61SS6xSTK5SS65RS61SSq1SS61SS6xSTK1STK1SS61SS65TS61SS61SS61SS61RS61STK1TTK1SS61SSq1SS6xTTK1SS61SSqxSTK5RS61SS61SS61SS61SBebJyQAAAIx0Uk5TAAECAwQFBgcJCgsMDg8QERISExQVFhcYGRocHR4hIiMkJiYrLzQ1OTo7Ozw8PD09Pz9ESE9UWV1hY2hucHR0eXp6fICEhoqNkZaWnJ2foqSlp6mrra6vsLKys7S3vcLIyczQ0tXY2drb3Nzd3t7f4eHl5eXp6urr7Ozu7/Lz8/X29vb39/j5+vv8/f77eWZPAAABOUlEQVR42q3T1VMCURTH8R/ILgaCsmBgLHaL3Yrd3R2oCHa3IibC+aN9EHCH3TvDg9/nz9w558xcIKoE0cpMFDUAyja9xO6hGzCu0/stq2eiXiDLc1OVwajmgMb0gJW2BcaQlW4aN+CXqEpzVXJhc9NEMoIkZ/esTmZs+zRpRIhwo3Rdr5aJKSP4ga7gLIYRumuIkYpyF00LQObFaWjcxGG6b5SYEhfNCAAsl+fhjXSDgcdmTVjs0awJEQQJ/f6nFi4s5kyQEcT3fXtb+aBYMEOBIK7H99ahBYqdtJgKRYLYzq9PO1/kpOWQkBFo2z98Qzu0kgYmgbbtlWj1TygQcE1r80mSC1quZARqHS89ssIrkf0jyX45ydMzq/AcAuYtOtpgdkxLAGodAfYf8TsKASC9oJpZfgqi6AdDypbgcduQAQAAAABJRU5ErkJggg==);
|
||||
height: 14px;
|
||||
width: 17px
|
||||
}
|
||||
|
||||
.layout {
|
||||
padding: 64px 0 0
|
||||
}
|
||||
|
||||
input, textarea {
|
||||
-webkit-user-select: auto;
|
||||
}
|
||||
|
||||
.ic-arow {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAWCAMAAADgvdz9AAAAAXNSR0IArs4c6QAAALdQTFRFAAAA////////////////////6urq6+vr8vLy8/Pz6urq6+vr7e3t7+/v7e3t8fHx8fHx7e3t8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw7+/v8PDw8PDw8PDw8PDw8PDw8PDw7+/v7+/v8PDw8PDw7+/v8PDw8PDw8PDw8PDw7+/v7+/v8PDw7+/v7+/v7+/v7+/v7+/v8PDw7+/v7+/v7+/v7+/v8PDw7+/v7+/v7+/v7+/v4uiVIAAAADx0Uk5TAAECAwYHDA0UFRgZHR8qNTc4RlNUVldkZWZnc3R2d4SGh5OUlpekpqe2t8PExsvR093f5+nw8fb3+/z+BY9v3gAAAJtJREFUKM99UkcWglAQ+wKKDcGGXVTsXbGT+5/L0Y0bM9kmb14miTE/eFmjILM/NxW6dAB2Vc5b7QRYeFyQi+54jFwuKM9TXDo2F/hb4FhTPDZOwKrCead/xWta4IJ8/MRtIDG54JCYVDpkxydyfEg6cHpibcas1eWxNXvM3yixfEPt2kolY1KJ1UqQLlmhxc8cAm1MoTa2P1N8A11AHbmJaAv2AAAAAElFTkSuQmCC);
|
||||
margin: 10px 0 0;
|
||||
width: 16px;
|
||||
}
|
||||
</style>
|
||||
145
src/views/Jyh/Home/component/ComNews.vue
Normal file
@@ -0,0 +1,145 @@
|
||||
<template>
|
||||
<div class="com-news"><h4 class="wow animated" style="visibility: visible;">最新动态</h4>
|
||||
<ul class="wow animated" style="visibility: visible;">
|
||||
<li><a href="https://mp.weixin.qq.com/s/gFi3Lo1KFcjt0gwhetaT5w" rel="nofollow" class="EASE" target="_blank"><img
|
||||
src="@/assets/v3/6b8d01d61f9a40d2b0c74bc6783ff296.png"
|
||||
alt="“Tcode外”夺冠!网络攻防从此“攻守易形”,AI 智能体才是终极胜负手" class="EASE"></a>
|
||||
<div class="ptime"><i class="ICO ic-air"></i> 发布时间: <span>2025/11/21</span></div>
|
||||
<h5 class="EASE MultiLine"><a href="https://mp.weixin.qq.com/s/gFi3Lo1KFcjt0gwhetaT5w" rel="nofollow"
|
||||
class="EASE" target="_blank">“Tcode外”夺冠!网络攻防从此“攻守易形”,AI 智能体才是终极胜负手</a></h5>
|
||||
<p class="desc MultiLine">在近日结束的“腾讯云黑客松-智能渗透挑战赛”线上赛中,Tcode科技旗下“Tcode外”战队,力压 238 支全球顶尖战队,以全程稳定高分斩获第一名!</p></li>
|
||||
<li><a href="https://mp.weixin.qq.com/s/rczHE9BYY_VRMo_DgJMV-w" rel="nofollow" class="EASE" target="_blank"><img
|
||||
src="@/assets/v3/2fde85b65bc84c01b5d280151a5fb555.png"
|
||||
alt="Tcode科技上榜国家专精特新“小巨人”,以 AI 安全创新领跑网络安全新赛道" class="EASE"></a>
|
||||
<div class="ptime"><i class="ICO ic-air"></i> 发布时间: <span>2025/10/27</span></div>
|
||||
<h5 class="EASE MultiLine"><a href="https://mp.weixin.qq.com/s/rczHE9BYY_VRMo_DgJMV-w" rel="nofollow"
|
||||
class="EASE" target="_blank">Tcode科技上榜国家专精特新“小巨人”,以 AI 安全创新领跑网络安全新赛道</a></h5>
|
||||
<p class="desc MultiLine">近日,北京市经济和信息化局公示了北京市第七批专精特新“小巨人”企业名单,Tcode科技凭借其卓越的科技创新能力和专业化的技术实力成功入选。</p></li>
|
||||
<li><a href="https://mp.weixin.qq.com/s/9KfUvw3zmrH3CfVbXzdLhg" rel="nofollow" class="EASE" target="_blank"><img
|
||||
src="@/assets/v3/ee5c7cb6d2ef4504b0e47a2bed942d7f.png"
|
||||
alt="蝉联第一!Tcode科技再次问鼎“天网杯”" class="EASE"></a>
|
||||
<div class="ptime"><i class="ICO ic-air"></i> 发布时间: <span>2025/09/23</span></div>
|
||||
<h5 class="EASE MultiLine"><a href="https://mp.weixin.qq.com/s/9KfUvw3zmrH3CfVbXzdLhg" rel="nofollow"
|
||||
class="EASE" target="_blank">蝉联第一!Tcode科技再次问鼎“天网杯”</a></h5>
|
||||
<p class="desc MultiLine">9 月 23 日,在 2025 年第三届“天网杯”网络安全大赛的赛场上,Tcode科技再次展现其在漏洞挖掘领域的顶尖实力,在关键产品漏洞挖掘挑战赛中拔得头筹,获得一等奖。</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComNews"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.com-news {
|
||||
margin: 0 auto;
|
||||
padding: 100px 0 50px;
|
||||
width: 1364px
|
||||
}
|
||||
|
||||
.com-news h4 {
|
||||
color: #333;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1.7px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 57px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.com-news ul {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.com-news li {
|
||||
list-style: none;
|
||||
margin: 0 28px 0 0;
|
||||
width: 33.333%
|
||||
}
|
||||
|
||||
.com-news li img {
|
||||
border-radius: 10px;
|
||||
height: 338px;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
-o-object-position: center;
|
||||
object-position: center;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.com-news li:hover img {
|
||||
-webkit-transform: scale(1.02);
|
||||
transform: scale(1.02)
|
||||
}
|
||||
|
||||
.com-news li:hover h5 {
|
||||
color: #4bb752
|
||||
}
|
||||
|
||||
.com-news .ptime {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin: 20px 0 0;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 20px
|
||||
}
|
||||
|
||||
.com-news .ptime span {
|
||||
color: #969696;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
line-height: 17px
|
||||
}
|
||||
|
||||
.com-news li .ic-air {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAQAAAD/5HvMAAAAAXNSR0IArs4c6QAABFVJREFUeNrNmkloFFkYx4tMCB68itRXtImRqEzAZYLLQRRbBAUPCnEJfXCmIQw4kww0fRAVccFDqwh2VBQRPbkcBioEhY6oB/EyE5AOAWG2nsElM0NrYjSHHJK/dHVXpZd6Ve+rJVT9IXS/qn71y1u+73vve4ri7WpSuyhJGdIpTwUq0gzNUJEKlCedMpRUu5QmZWGuGFEf6TRBcNEE6dQXoxBR2hapCcrRrCtKtWYppybaFgUOs2QxpWmchVKtcUovWRwcTbOWoqJnGFNFLaU0B0CjbqFR3zCmRtUtvmA6WyhLc4HhlDRH2c4WjzhL22kkUBhTI0vbPeBocXUyFBwQ1EktzsXZTzNh4Ria0fZzBnIv09p40azaK9864eMYSFKtpMVD7qzajou7zqzwhrL98HaccZ0tIU10RyPgYJcou+A4JWXFTmIujBe24QiGHK23vUNpDtBnWdqAS3iDaeRcfJyN29VSwaJo6MYgpjBtKOv2dKox3ikGB7MSRzFWQSnriGtwUhcvUToomG24if9rYEra7v7LdE1w6iMatLQMSTxrQCnpI1olosqqQFdN+IVZg3P4yxampJdyRjIx32E5PzB7cB8fhTAl3ZWrKTe/sPHoTFfgJ4w4opR1UtLZVhZN1O8FZjMGMC4A+L1uWB+QrbWvDDTItTA9eITPwvZ4hpd1JWtl69aNRbHEKtTSapzAK8fuuQe9ruS1/D87oTQpapfs4ztwB+9dRstlXG4oe8wJR7oUSro/1orv8dx16H7GMaRsygc4AyKpUMb5kfU4j38kZtIkenHQdvr/wAHKKKSLb+/Dzy4WxtR/2IftNi6jpB0cIF2hvPh2D/6QwvkbcazDnwK30cYByitUcHqgA7ccJnhZY9iADvzqy21YKijuYcdex4n+Al8jhofC+/d5QEVFZtHTjgF8sn3dEFaAcMMB+BRzYaTIrsJ2I9/wstuIgXDcsUMPsYGkI8VWXKiZc+eN0m8FbWdqHbvLCpwfxPGL8ZoppIzvu1B0xHnLddoFx2lvHxeexr84bHze6Goyn3CB8o6GUaTlxt9VNqOqXle4deuurkOsaxIm80durRkp5yrqvIvWukukndxak4zww94YjDngTFU6lxV+8AK0am2qxNXXhc4lz61zwsiQcENYUzncQofxqVvgWB/wh7T3IJ8wjGn8hu7KjLtrA3SGW2efr2XQcOW1Zjt9Z+xzVKuHV+OslTvytlA0gT4hUSlZg6EaoG94NeZ8LqVNoFRNab8VN77jzrCEz82GMtDZhvKNeFpZn7HqG6/JqnnZjikBXbW9o+EEPuAar7607w2rYdyDJry7FXtZYUdDgo+/pXccy3zY+Lo2TS3QpqekRm1zjWFtC7tqTphnjNjGeQRTC5FLvkQwPRXBBF4EU5wRTAJHME0ewYMEETxqEcHDKKbbjdRxHSteitCBJivQjdCRr/krRtRPg1KH4gZDPhRXc30V1rHBL/3JmVpOd2CzAAAAAElFTkSuQmCC);
|
||||
height: 36px;
|
||||
margin-right: 14px;
|
||||
width: 36px
|
||||
}
|
||||
|
||||
.com-news li:last-child {
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.com-news li h5 {
|
||||
color: #333;
|
||||
font-size: 20px;
|
||||
height: 60px;
|
||||
line-height: 30px;
|
||||
margin: 20px 0 0
|
||||
}
|
||||
|
||||
.com-news li .desc,.com-news li h5 {
|
||||
font-weight: 400;
|
||||
letter-spacing: .5px
|
||||
}
|
||||
|
||||
.com-news li .desc {
|
||||
color: #4d4d4d;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
margin: 18px 0 0;
|
||||
-webkit-line-clamp: 4
|
||||
}
|
||||
|
||||
.ICO {
|
||||
background-position: 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
</style>
|
||||
56
src/views/Jyh/Home/component/ComRank.vue
Normal file
@@ -0,0 +1,56 @@
|
||||
<template>
|
||||
<div class="com-rank">
|
||||
<div class="rank-item wow xsddhxg animated" style="visibility: visible;"><h5 class="JBFont">
|
||||
<span>Top </span><span class="comStatistic" data-animation-running="false">3</span></h5>
|
||||
<p>国内大型攻防演练<br>前 3 成绩保持者</p></div>
|
||||
<div class="rank-item wow xsddhxg animated" style="visibility: visible;"><h5 class="JBFont"><span
|
||||
class="comStatistic" data-animation-running="false">99.99</span> % </h5>
|
||||
<p>入侵攻击检出率<br>99.9956%<br>攻击拦截性能行业领先</p></div>
|
||||
<div class="rank-item wow xsddhxg animated" style="visibility: visible;"><h5 class="JBFont"><span>"大满贯"</span></h5>
|
||||
<!----><p>3 大国际权威咨询机构<br>大满贯认可</p></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComSystem"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.com-rank {
|
||||
background-color: #f5f5f5;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
padding: 100px 0 50px;
|
||||
text-align: center;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
background: url(@/assets/v3/index-top-bg.D8cqOFJJ.png) no-repeat bottom;
|
||||
background-size: cover;
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.com-rank .rank-item {
|
||||
padding: 0 63px;
|
||||
width: 460px
|
||||
}
|
||||
|
||||
.com-rank .rank-item h5 {
|
||||
font-family: Avenir;
|
||||
font-size: 70px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 2px;
|
||||
line-height: 109px
|
||||
}
|
||||
|
||||
.com-rank .rank-item p {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
letter-spacing: .5px;
|
||||
line-height: 24px;
|
||||
margin: 30px 0 0
|
||||
}
|
||||
</style>
|
||||
198
src/views/Jyh/Home/component/ComSafe.vue
Normal file
@@ -0,0 +1,198 @@
|
||||
<template>
|
||||
<div class="com-safe">
|
||||
<div class="safe-tit wow xsddhxg animated" style="visibility: visible;">
|
||||
<div class="safe-swip"><span>从</span>
|
||||
<div class="swiper swiper-initialized swiper-vertical swiper-backface-hidden">
|
||||
<div class="swiper-wrapper"
|
||||
style="transition-duration: 0ms; transform: translate3d(0px, -70px, 0px); transition-delay: 0ms;">
|
||||
<div class="swiper-slide swiper-slide-next swiper-slide-prev" data-swiper-slide-index="0"
|
||||
style="height: 70px;"><h5><span class="JBFont">技术驱动</span></h5><!----></div>
|
||||
<div class="swiper-slide swiper-slide-active" data-swiper-slide-index="1" style="height: 70px;"><h5><span
|
||||
class="JBFont">实战攻防</span></h5><!----></div>
|
||||
</div><!----><!----><!----></div>
|
||||
<span>到</span>
|
||||
<div class="swiper swiper-initialized swiper-vertical swiper-backface-hidden">
|
||||
<div class="swiper-wrapper"
|
||||
style="transition-duration: 0ms; transform: translate3d(0px, -70px, 0px); transition-delay: 0ms;">
|
||||
<div class="swiper-slide swiper-slide-next swiper-slide-prev" data-swiper-slide-index="0"
|
||||
style="height: 70px;"><h5><span class="JBFont">场景沉淀</span></h5><!----></div>
|
||||
<div class="swiper-slide swiper-slide-active" data-swiper-slide-index="1" style="height: 70px;"><h5><span
|
||||
class="JBFont">智能安全</span></h5><!----></div>
|
||||
</div><!----><!----><!----></div>
|
||||
</div><!----></div>
|
||||
<div class="safe-item wow xsddhxg animated" style="visibility: visible;"><span class="num">/ 01</span><img
|
||||
src="@/assets/v3/7a87c819de3a45f69d1697d6344f5483.gif">
|
||||
<div class="item-r"><h6 class="MultiLine"><a class="EASE" href="https://www.chaitin.cn/solutions">防勒索专项解决方案</a>
|
||||
</h6>
|
||||
<div class="desc-out MultiLine"><p class="desc"><a class="EASE" href="https://www.chaitin.cn/solutions">此方案针对勒索攻击特点和企业在防护过程中的薄弱点,借鉴
|
||||
IPDRR 架构,建立风险识别、防御、检测、响应与恢复的能力;提升应对勒索攻击的能力,覆盖事前安全布防、事中监测处置和事后复盘优化;同时具备对防范勒索攻击体系有效性的验证能力。</a></p></div>
|
||||
<a class="EASE btn-more LNK" href="https://www.chaitin.cn/solutions">了解更多 <i class="EASE ICO ic-arow"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="safe-item wow xsddhxg animated" style="visibility: visible;"><span class="num">/ 02</span><img
|
||||
src="@/assets/v3/b173212bc7814f28b4674b9cff1097ed.gif">
|
||||
<div class="item-r"><h6 class="MultiLine"><a class="EASE"
|
||||
href="https://www.chaitin.cn/solutions?tab=hot&catId=3">实战攻防常态化保障方案</a>
|
||||
</h6>
|
||||
<div class="desc-out MultiLine"><p class="desc"><a class="EASE"
|
||||
href="https://www.chaitin.cn/solutions?tab=hot&catId=3">通过组建高质量远程值守团队“虚拟坐席”,无需客户数据出网提供远程值守,同时基于云图、御衡、万象等自动化平台降低人工成本;提供弹性演练策略,消除监控真空期;针对一系列专项,推出勒索演练、两高一弱自查、0
|
||||
Day演练等方案,可在演练期兼顾各类专项工作,保障总体成效。</a></p></div>
|
||||
<a class="EASE btn-more LNK" href="https://www.chaitin.cn/solutions?tab=hot&catId=3">了解更多 <i
|
||||
class="EASE ICO ic-arow"></i></a></div>
|
||||
</div>
|
||||
<div class="safe-item wow xsddhxg animated" style="visibility: visible;"><span class="num">/ 03</span><img
|
||||
src="@/assets/v3/a631f17938ec427eb0efcaf7ef19d716.gif">
|
||||
<div class="item-r"><h6 class="MultiLine"><a class="EASE"
|
||||
href="https://www.chaitin.cn/solutions?tab=hot&catId=2">CTEM-漏洞运营解决方案</a>
|
||||
</h6>
|
||||
<div class="desc-out MultiLine"><p class="desc"><a class="EASE"
|
||||
href="https://www.chaitin.cn/solutions?tab=hot&catId=2">此方案结合企业现状及漏洞管理成熟度,针对性地建立常态化漏洞巡检、突发漏洞响应、专项漏洞管理、漏洞优先级排序、漏洞闭环流转等机制,实现资产、暴露面、漏洞的精准发现,进而建立覆盖漏洞全生命周期的自动化管理体系,实现风险处置的快速闭环。</a>
|
||||
</p></div>
|
||||
<a class="EASE btn-more LNK" href="https://www.chaitin.cn/solutions?tab=hot&catId=2">了解更多 <i
|
||||
class="EASE ICO ic-arow"></i></a></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComSafe"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.com-safe {
|
||||
padding-top: 50px
|
||||
}
|
||||
|
||||
.com-safe .safe-tit {
|
||||
color: #333;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
height: 40px;
|
||||
letter-spacing: 1.7px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 40px;
|
||||
overflow: hidden;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.com-safe .safe-tit span {
|
||||
margin: 0 20px
|
||||
}
|
||||
|
||||
.com-safe .safe-tit .safe-swip {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.com-safe .safe-tit .safe-swip .swiper {
|
||||
height: 40px;
|
||||
margin: 0
|
||||
}
|
||||
|
||||
.com-safe .safe-item {
|
||||
border-top: 1px solid #969696;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
padding: 63px 0 63px 177px;
|
||||
position: relative;
|
||||
width: 1351px
|
||||
}
|
||||
|
||||
.com-safe .safe-item .desc-out {
|
||||
-webkit-line-clamp: 3
|
||||
}
|
||||
|
||||
.com-safe .safe-item:hover img {
|
||||
-webkit-transform: scale(1.08);
|
||||
transform: scale(1.08)
|
||||
}
|
||||
|
||||
.com-safe .safe-item:hover .item-r .btn-more {
|
||||
background-color: #4bad52;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.com-safe .safe-item:hover .item-r .btn-more .ICO {
|
||||
left: 15px
|
||||
}
|
||||
|
||||
.com-safe .safe-item .num {
|
||||
color: #1a1a1a;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
left: 0;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
top: 76px
|
||||
}
|
||||
|
||||
.com-safe .safe-item img {
|
||||
height: auto;
|
||||
-o-object-fit: contain;
|
||||
object-fit: contain;
|
||||
width: 160px;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r {
|
||||
padding: 6px 177px 0 148px
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r h6 {
|
||||
color: #333;
|
||||
font-size: 20px;
|
||||
font-weight: 400;
|
||||
height: 30px;
|
||||
letter-spacing: .5px;
|
||||
line-height: 30px;
|
||||
margin-bottom: 27px;
|
||||
-webkit-line-clamp: 1
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r .desc {
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
letter-spacing: .5px;
|
||||
line-height: 24px
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r .btn-more {
|
||||
background: #7aba4a;
|
||||
border-radius: 8px;
|
||||
color: #fff;
|
||||
display: block;
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
margin: 51px 0 0;
|
||||
text-align: center;
|
||||
width: 140px
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r .btn-more .ICO {
|
||||
left: 7px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r .btn-more:hover {
|
||||
background-color: #4bad52;
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.com-safe .safe-item .item-r .btn-more:hover .ICO {
|
||||
left: 15px
|
||||
}
|
||||
</style>
|
||||
39
src/views/Jyh/Home/component/ComSystem.vue
Normal file
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<div class="com-system"><p class="tip wow xsddhxg animated" style="margin: 0px; visibility: visible;">
|
||||
知攻善防,由攻击视角构建防御体系</p>
|
||||
<p class="tip tip2 wow xsddhxg animated" style="visibility: visible;">智能安全,以 AI 驱动重塑安全范式</p><img
|
||||
class="wow xsddhxg animated" src="@/assets/v3/system-zh.png" alt="立足于攻防,打造智能安全运营体系"
|
||||
style="visibility: visible;"><!----></div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComSystem"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.com-system {
|
||||
background-color: #050705;
|
||||
padding: 97px 0 125px;
|
||||
position: relative;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.com-system img {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 1200px
|
||||
}
|
||||
|
||||
.com-system .tip {
|
||||
color: #fff;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1.7px;
|
||||
line-height: 40px;
|
||||
margin-bottom: 46px;
|
||||
text-align: center;
|
||||
width: 100%
|
||||
}
|
||||
</style>
|
||||
53
src/views/Jyh/Home/component/ComVideo.vue
Normal file
@@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<div class="com-video"><h5 class="wow xsddhxg animated" style="visibility: visible;">4000+ 客户信赖之选</h5>
|
||||
<div class="v-in wow xsddhxg animated" style="visibility: visible;">
|
||||
<video class="video" preload="none" controls="" controlslist="nodownload" loop=""
|
||||
poster=""
|
||||
src="https://chaitin-marketing-public.oss-cn-beijing.aliyuncs.com/%E9%95%BF%E4%BA%AD%E6%A1%88%E4%BE%8B_250402.mp4"></video>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "ComVideo"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.com-video {
|
||||
padding: 23px 0 0
|
||||
}
|
||||
|
||||
.com-video h5 {
|
||||
color: #333;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1.7px;
|
||||
line-height: 40px;
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.com-video .v-in {
|
||||
overflow: hidden;
|
||||
overflow-x: scroll;
|
||||
padding: 40px 0 100px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
.com-video .v-in > * {
|
||||
display: block;
|
||||
margin: 0 auto
|
||||
}
|
||||
|
||||
|
||||
.pg-home .video {
|
||||
display: block;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
max-width: 1440px;
|
||||
-o-object-fit: cover;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -1,198 +1,14 @@
|
||||
<template>
|
||||
<div class="home-container">
|
||||
<div class="home-content">
|
||||
<div class="home-title animate-fade-in-up">
|
||||
<img src="@/assets/imgs/logo.png" alt="logo"/>
|
||||
<h1>可信开源代码库</h1>
|
||||
<div class="pg-home">
|
||||
<ComEntry />
|
||||
<ComSystem />
|
||||
<ComRank />
|
||||
<ComAuthority />
|
||||
<ComSafe />
|
||||
<ComVideo />
|
||||
<ComBank />
|
||||
<ComNews />
|
||||
</div>
|
||||
<div class="home-search animate-fade-in-up delay-100" ref="homeSearch" :class="{ 'glow-border': inputGlow }">
|
||||
<d-input
|
||||
ref="searchInput"
|
||||
placeholder="请输入搜索关键字"
|
||||
@focus="inputFocus"
|
||||
@blur="inputBlur"
|
||||
@keyup.enter="search"
|
||||
:autocomplete="'off'"
|
||||
v-model="searchStr"
|
||||
>
|
||||
<template #prepend>
|
||||
<d-dropdown @toggle="onCateToggle($event)">
|
||||
<div class="flex items-center gap-1 cursor-pointer dropdown-trigger">
|
||||
{{ searchType }}
|
||||
<d-icon :rotate="cateRotate" name="icon-chevron-down-2" class="transition-transform"></d-icon>
|
||||
</div>
|
||||
<template #menu>
|
||||
<ul class="list-menu">
|
||||
<li class="menu-item" @click="onCategoryChange('软件')">软件</li>
|
||||
<d-dropdown :position="position" :offset="0">
|
||||
<li class="menu-item">
|
||||
行业
|
||||
<i class="icon icon-chevron-right"></i>
|
||||
</li>
|
||||
<template #menu>
|
||||
<ul class="list-menu">
|
||||
<li class="menu-item" v-for="option in industryList" @click="onCategoryChange(option)">
|
||||
{{ option.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
</d-dropdown>
|
||||
</ul>
|
||||
</template>
|
||||
</d-dropdown>
|
||||
</template>
|
||||
<template #append>
|
||||
<div id="advancedSearch close-isopen" class="advanced-search" @click="openAdvancedSearch">
|
||||
<span class="close-isopen">高级筛选</span>
|
||||
<d-icon class="close-isopen transition-transform" :rotate="rotate" name="icon-chevron-down-2"></d-icon>
|
||||
</div>
|
||||
</template>
|
||||
</d-input>
|
||||
<d-dropdown-menu v-model="isOpen" :origin="searchInput?.$el" :offset="offset" :clickOutside="closeOutside">
|
||||
<div class="advanced-search-menu" :style="{ width: dropdownWidth + 'px' }">
|
||||
<AdvanceSearch @submit="submit($event)" @cancel="isOpen = false" class="p-20" :layout="'vertical'">
|
||||
<template #title>
|
||||
<span class="title">高级筛选</span>
|
||||
</template>
|
||||
</AdvanceSearch>
|
||||
</div>
|
||||
</d-dropdown-menu>
|
||||
<d-button icon="search" shape="circle" @click="search"></d-button>
|
||||
</div>
|
||||
<div style="width: 70%" class="from-blue-50 to-white animate-fade-in-up delay-200">
|
||||
<d-row :gutter="16" class="mb-8 top-btn">
|
||||
<div
|
||||
style="cursor: pointer"
|
||||
v-for="(item, index) in topButtons"
|
||||
:key="item.name"
|
||||
@click="handleButtonClick(item)"
|
||||
class="hover-lift"
|
||||
:style="{ animationDelay: `${index * 100}ms` }"
|
||||
>
|
||||
<div style="width: 100px;height: 84px;flex-direction: column;padding: 12px 0;margin: 0 12px"
|
||||
class="bg-white rounded-lg shadow-md flex items-center justify-center mb-2">
|
||||
<div>
|
||||
<img style="width: 32px;height: 32px;margin-bottom: 4px" :src="item.icon"
|
||||
class="text-blue-600 text-xl func-icon transition-transform"></img>
|
||||
</div>
|
||||
<div class="text-sm font-medium">{{ item.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</d-row>
|
||||
|
||||
<div class="dashboard-page">
|
||||
<d-row :gutter="16" class="main-row">
|
||||
<d-col :span="14">
|
||||
<div class="bg-white rounded-xl shadow-md p-4 hover-shadow">
|
||||
<div class="section-title">全球威胁态势实时监控
|
||||
<a href="#" class="text-blue-600 text-sm">更多 ></a></div>
|
||||
<d-row :gutter="24" class="threat-row">
|
||||
<d-col :span="10">
|
||||
<d-chart :option="lineOption" style="width: 400px; height: 240px"></d-chart>
|
||||
</d-col>
|
||||
<d-col :span="8">
|
||||
<d-chart :option="pieOption" style="width: 240px; height: 240px"></d-chart>
|
||||
</d-col>
|
||||
<d-col :span="6">
|
||||
<div class="data-card">
|
||||
<div class="data-item hover-scale">
|
||||
<span class="data-label">今日检测量</span>
|
||||
<span class="data-value count-up">128万次</span>
|
||||
</div>
|
||||
<div class="data-item hover-scale">
|
||||
<span class="data-label">高危威胁</span>
|
||||
<span class="data-value danger count-up">327起</span>
|
||||
</div>
|
||||
</div>
|
||||
</d-col>
|
||||
</d-row>
|
||||
</div>
|
||||
</d-col>
|
||||
|
||||
<d-col style="height: 320px" :span="10">
|
||||
<div style="height: 100%" class="bg-white rounded-xl shadow-md p-4 hover-shadow">
|
||||
<div class="section-title">AI+安全核心能力
|
||||
<router-link :to="{ name: 'aihome' }" style="cursor: pointer;" class="text-blue-600 text-sm">更多 >
|
||||
</router-link>
|
||||
</div>
|
||||
<d-row :gutter="16" class="ai-capability-row">
|
||||
<d-col :span="8" v-for="(item, index) in aiCapabilities" :key="index">
|
||||
<div class="capability-card hover-lift" :style="{ animationDelay: `${index * 150}ms` }">
|
||||
<div class="capability-icon">
|
||||
<img :src="item.icon" class="text-blue-600 text-2xl transition-transform"></img>
|
||||
</div>
|
||||
<h2 class="capability-title">{{ item.title }}</h2>
|
||||
<h4>{{ item.rate }}</h4>
|
||||
<p class="capability-desc">{{ item.desc }}</p>
|
||||
</div>
|
||||
</d-col>
|
||||
</d-row>
|
||||
</div>
|
||||
</d-col>
|
||||
</d-row>
|
||||
</div>
|
||||
|
||||
<d-row style="height: 237px" :gutter="16" class="mb-8">
|
||||
<d-col style="height: 100%" :span="8">
|
||||
<div style="height: 100%" class="bg-white rounded-xl shadow-md p-4 mb-4 hover-shadow">
|
||||
<div class="flex justify-between items-center mb-4">
|
||||
<h3 class="text-lg font-bold">团队与成果</h3>
|
||||
<router-link :to="{ name: 'OurTeam' }" style="cursor: pointer;" class="text-blue-600 text-sm">更多 >
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="flex flex-col items-center">
|
||||
<h4 class="font-medium mb-2">顶尖安全团队</h4>
|
||||
<div class="flex gap-4 mb-3">
|
||||
<div class="flex flex-col items-center member-item hover-bob" v-for="(member, index) in teamMembers" :key="member.name" :style="{ animationDelay: `${index * 100}ms` }">
|
||||
<img src="https://picsum.photos/id/1001/60/60" alt="团队成员" class="w-14 h-14 rounded-full mb-1 member-avatar transition-transform">
|
||||
<span class="text-sm font-medium">{{ member.name }}</span>
|
||||
<span class="text-xs text-gray-500">{{ member.title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<button class="bg-blue-600 text-white text-xs px-3 py-1 rounded hover-scale">国家级安全认证团队</button>
|
||||
<button class="bg-blue-100 text-blue-600 text-xs px-3 py-1 rounded hover-scale">200+专利技术</button>
|
||||
<button class="bg-blue-100 text-blue-600 text-xs px-3 py-1 rounded hover-scale">200+专利技术</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</d-col>
|
||||
<d-col style="height: 100%" :span="16">
|
||||
<div style="height: 100%" class="bg-white rounded-xl shadow-md p-4 hover-shadow">
|
||||
<div class="flex justify-between items-center mb-4">
|
||||
<h3 class="text-lg font-bold">最新动态</h3>
|
||||
<router-link :to="{ name: 'Insights' }" style="cursor: pointer;" class="text-blue-600 text-sm">更多 >
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div style="overflow: auto; height: calc(100% - 46px);">
|
||||
<d-timeline direction="vertical" center>
|
||||
<d-timeline-item
|
||||
v-for="(news, index) in latestNews"
|
||||
:key="index"
|
||||
:time="news.year"
|
||||
dot-color="#ff6384"
|
||||
line-color="#e5e7eb"
|
||||
class="timeline-item animate-fade-in-left"
|
||||
:style="{ animationDelay: `${index * 150}ms` }"
|
||||
>
|
||||
<div class="timeline-content hover-translate-x">
|
||||
<p class="font-medium transition-color">{{ news.title }}</p>
|
||||
<p class="text-xs text-gray-500">{{ news.desc }}</p>
|
||||
</div>
|
||||
</d-timeline-item>
|
||||
</d-timeline>
|
||||
</div>
|
||||
</div>
|
||||
</d-col>
|
||||
</d-row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<d-modal class="warning-modal" v-model="warningModalVisable" title="" style="width: 600px">
|
||||
<EarlyWarningDetail :warningData="currentWarning" :type="'user'"></EarlyWarningDetail>
|
||||
</d-modal>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -200,782 +16,26 @@
|
||||
import {ref, onMounted, onBeforeUnmount, computed} from 'vue';
|
||||
import {useRoute, useRouter} from 'vue-router';
|
||||
import {useAccount} from '@/utils/hooks/useAccount';
|
||||
import AdvanceSearch from '@/components/AdvanceSearch/index.vue';
|
||||
import {getHomeNoticeList} from '@/api/jyh';
|
||||
import EarlyWarningDetail from '@/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue';
|
||||
import {useGlobalInfoStore} from '@/stores/Global';
|
||||
import {useDiscussGetUserInfo} from '@/api/discussion/hook';
|
||||
import {DChart} from 'vue-devui/echarts';
|
||||
import {reactive} from 'vue';
|
||||
import ComEntry from './component/ComEntry.vue';
|
||||
import ComSystem from './component/ComSystem.vue';
|
||||
import ComRank from './component/ComRank.vue';
|
||||
import ComAuthority from './component/ComAuthority.vue';
|
||||
import ComSafe from './component/ComSafe.vue';
|
||||
import ComVideo from './component/ComVideo.vue';
|
||||
import ComBank from './component/ComBank.vue';
|
||||
import ComNews from './component/ComNews.vue';
|
||||
|
||||
// --- Echarts Options (保持不变) ---
|
||||
const lineOption = reactive({
|
||||
tooltip: {show: true, trigger: 'axis'},
|
||||
grid: {
|
||||
left: '0%',
|
||||
right: '3%',
|
||||
bottom: '3%',
|
||||
containLabel: true,
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['0', '30', '60', '90', '120', '150', '180', '210', '240'],
|
||||
axisLine: {lineStyle: {color: '#909399'}},
|
||||
axisTick: {show: false},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
max: 550,
|
||||
axisLine: {show: false},
|
||||
axisTick: {show: false},
|
||||
splitLine: {lineStyle: {color: '#eee'}},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '实时威胁A',
|
||||
data: [0, 150, 250, 200, 350, 400, 450, 500, 550],
|
||||
type: 'line',
|
||||
itemStyle: {color: '#ff9f40'},
|
||||
lineStyle: {color: '#ff9f40'},
|
||||
symbol: 'circle',
|
||||
symbolSize: 6,
|
||||
},
|
||||
{
|
||||
name: '实时威胁B',
|
||||
data: [0, 100, 200, 150, 300, 350, 400, 450, 500],
|
||||
type: 'line',
|
||||
itemStyle: {color: '#36a2eb'},
|
||||
lineStyle: {color: '#36a2eb'},
|
||||
symbol: 'circle',
|
||||
symbolSize: 6,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
const pieOption = reactive({
|
||||
tooltip: {show: true, trigger: 'item'},
|
||||
legend: {
|
||||
icon: "rect",
|
||||
itemHeight: 13,
|
||||
itemWidth: 13,
|
||||
itemGap: 10,
|
||||
top: '0%',
|
||||
left: '0%',
|
||||
right: '0%',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
title: '态势感知',
|
||||
type: 'pie',
|
||||
radius: ['40%', '70%'],
|
||||
data: [
|
||||
{name: '态势感知', value: 34, itemStyle: {color: '#ff6384'}},
|
||||
{name: '实时威胁', value: 33, itemStyle: {color: '#36a2eb'}},
|
||||
{name: '其他', value: 33, itemStyle: {color: '#ffce56'}},
|
||||
],
|
||||
label: {
|
||||
show: true,
|
||||
formatter: '{b}: {d}%',
|
||||
position: 'center',
|
||||
},
|
||||
labelLine: {show: true},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// --- Data & State (保持不变) ---
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const inputGlow = ref(false);
|
||||
const searchStr = ref('');
|
||||
const position = ref(['right-start', 'right-end']);
|
||||
const searchType = ref('软件');
|
||||
const offset = ref({mainAxis: 7, crossAxis: -10});
|
||||
const isOpen = ref(false);
|
||||
const cateRotate = ref(0);
|
||||
const warningModalVisable = ref(false);
|
||||
const currentWarning = ref();
|
||||
const {isLogin} = useDiscussGetUserInfo();
|
||||
const homeSearch = ref(null);
|
||||
const dropdownWidth = ref(0);
|
||||
|
||||
import aqts from '@/assets/imgs/jyh/menu/风险预警.png'
|
||||
import aqqb from '@/assets/imgs/jyh/menu/许可证检测.png'
|
||||
import aqjc from '@/assets/imgs/jyh/menu/已知漏洞检测.png'
|
||||
import aqzk from '@/assets/imgs/jyh/menu/可信治理.png'
|
||||
import kxrj from '@/assets/imgs/jyh/menu/可信软件.png'
|
||||
// 顶部功能按钮数据 (保持不变)
|
||||
const topButtons = ref([
|
||||
{name: '数据服务中心', icon: aqzk},
|
||||
{name: '安全治理服务', icon: aqjc},
|
||||
{name: '威胁情报库', icon: aqqb},
|
||||
{name: '态势感知中心', icon: aqts},
|
||||
{name: 'AI智能引擎', icon: kxrj},
|
||||
]);
|
||||
|
||||
// 按钮点击事件处理 (保持不变)
|
||||
const handleButtonClick = (item) => {
|
||||
const routeMap = {
|
||||
'数据服务中心': 'Search',
|
||||
'安全治理服务': 'TestingCenter',
|
||||
'威胁情报库': 'Insights',
|
||||
'AI智能引擎': 'aihome',
|
||||
'态势感知中心': 'http://222.20.126.217:10010/bigScreen/#/kxky'
|
||||
};
|
||||
|
||||
const target = routeMap[item.name];
|
||||
if (!target) return;
|
||||
|
||||
if (item.name === '安全态势') {
|
||||
window.open(target, '_blank');
|
||||
} else {
|
||||
router.push({name: target});
|
||||
}
|
||||
};
|
||||
|
||||
import znjc from '@/assets/imgs/jyh/menu/AI大模型能力.png'
|
||||
import aiLogo1 from '@/assets/imgs/jyh/ai/aiLogo1.png'
|
||||
import vulnerabilityForewarning from '@/assets/imgs/jyh/menu/vulnerabilityForewarning.png'
|
||||
// AI+安全核心能力数据 (保持不变)
|
||||
const aiCapabilities = ref([
|
||||
{
|
||||
title: '智能检测引擎',
|
||||
rate: '(覆盖99.9%样本率)',
|
||||
desc: '智能检测引擎具备对各类文件、恶意软件的高精度识别能力。',
|
||||
icon: znjc
|
||||
},
|
||||
{
|
||||
title: '行为分析模型',
|
||||
rate: '(实时响应<1秒)',
|
||||
desc: '深度行为分析模型可实时识别异常行为,精准定位威胁根源。',
|
||||
icon: aiLogo1
|
||||
},
|
||||
{
|
||||
title: '自动溯源系统',
|
||||
rate: '(覆盖99.9%)',
|
||||
desc: '自动溯源系统可快速定位威胁来源,助力威胁事件全链路分析。',
|
||||
icon: vulnerabilityForewarning
|
||||
},
|
||||
]);
|
||||
|
||||
// 团队成员数据 (保持不变)
|
||||
const teamMembers = ref([
|
||||
{name: '主理', title: '安全专家/负责人'},
|
||||
{name: '顾问', title: '企业安全专家'},
|
||||
{name: '架构', title: '技术架构专家'},
|
||||
]);
|
||||
|
||||
// 最新动态数据 (保持不变)
|
||||
const latestNews = ref([
|
||||
{year: '2024', title: '中国头安全实验室等合作的智能决策模型授奖', desc: '智能决策模型在多领域安全决策中表现卓越,获行业权威奖项。', more: true},
|
||||
{year: '2023', title: '智能检测引擎从一定论到再超越的与证明', desc: '2024年深度优化检测,在极端场景中达99.9%准确率,性能、智能、召回率再升级。', more: false},
|
||||
{year: '2023', title: '新闻网常务委员:邻区区委交换稿与证明', desc: '网络空间安全会议上,邻区、外防负责人、专家会首席等共论,包含新成果实证。', more: false},
|
||||
]);
|
||||
|
||||
const rotate = computed(() => {
|
||||
return isOpen.value ? 180 : 0;
|
||||
});
|
||||
|
||||
// --- Methods (保持不变) ---
|
||||
const searchInput = ref(null);
|
||||
const openAdvancedSearch = () => {
|
||||
isOpen.value = !isOpen.value;
|
||||
inputGlow.value = isOpen.value;
|
||||
};
|
||||
|
||||
const closeOutside = () => {
|
||||
return false;
|
||||
};
|
||||
|
||||
const submit = (formData) => {
|
||||
isOpen.value = false;
|
||||
router.push({
|
||||
name: 'Search',
|
||||
query: {
|
||||
softwareName: searchStr.value ? searchStr.value : '',
|
||||
searchType: getIndustryValue(searchType.value),
|
||||
softwareVersion: formData.softwareVersion || '',
|
||||
programmingLanguage: formData.programmingLanguage || '',
|
||||
interestTag: formData.interestTag || '',
|
||||
industry: formData.industry || '',
|
||||
licenseName: formData.licenseName || '',
|
||||
dependentSoftware: formData.dependentSoftware || '',
|
||||
releaseDateStart: formData.dateRange && formData.dateRange.length > 0 ? formData.dateRange[0] : '',
|
||||
releaseDateEnd: formData.dateRange && formData.dateRange.length > 0 ? formData.dateRange[1] : ''
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const inputFocus = () => {
|
||||
inputGlow.value = true;
|
||||
};
|
||||
|
||||
const inputBlur = () => {
|
||||
inputGlow.value = false;
|
||||
};
|
||||
|
||||
const updateDropdownWidth = () => {
|
||||
if (homeSearch.value) {
|
||||
dropdownWidth.value = homeSearch.value.offsetWidth * 0.85;
|
||||
}
|
||||
};
|
||||
const globalInfo = useGlobalInfoStore();
|
||||
const industryList = globalInfo.industryList;
|
||||
const getIndustryValue = (name) => {
|
||||
const industry = industryList.find((item) => item.name === name);
|
||||
return industry ? industry.value : '';
|
||||
};
|
||||
|
||||
const search = () => {
|
||||
router.push({
|
||||
name: 'Search',
|
||||
query: {
|
||||
softwareName: searchStr.value ? searchStr.value : '',
|
||||
searchType: getIndustryValue(searchType.value)
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const onCategoryChange = (event) => {
|
||||
searchType.value = event?.name || '软件';
|
||||
globalInfo.updateHeaderSearch({softwareName: searchStr.value, searchType: event.value});
|
||||
};
|
||||
|
||||
const onCateToggle = (event) => {
|
||||
cateRotate.value = event ? 180 : 0;
|
||||
};
|
||||
|
||||
let resizeObserver: ResizeObserver | null = null;
|
||||
|
||||
onMounted(() => {
|
||||
resizeObserver = new ResizeObserver(updateDropdownWidth);
|
||||
if (homeSearch.value) {
|
||||
resizeObserver.observe(homeSearch.value);
|
||||
}
|
||||
|
||||
updateDropdownWidth();
|
||||
|
||||
document.querySelector('body').onclick = (e) => {
|
||||
const className = e.target.className;
|
||||
// 优化点击外部关闭逻辑,兼容SVG图标
|
||||
if (
|
||||
!className.includes ||
|
||||
(!className.includes('close-isopen') &&
|
||||
!className.includes('devui-badge__content') &&
|
||||
!className.includes('advanced-search') &&
|
||||
e.target.tagName !== 'svg' && e.target.tagName !== 'path')
|
||||
) {
|
||||
isOpen.value = false;
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
if (resizeObserver && homeSearch.value) {
|
||||
resizeObserver.unobserve(homeSearch.value);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@import 'devui-theme/styles-var/devui-var.scss';
|
||||
|
||||
// ----------------------------------------------------
|
||||
// 通用样式与动画
|
||||
// ----------------------------------------------------
|
||||
$shadow-base: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
$shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.15);
|
||||
$primary-color: #5e7ce0;
|
||||
|
||||
.transition-transform {
|
||||
transition: transform 0.3s ease;
|
||||
.pg-home {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.transition-color {
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.hover-lift {
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
&:hover {
|
||||
transform: translateY(-6px);
|
||||
//box-shadow: $shadow-hover !important;
|
||||
}
|
||||
}
|
||||
|
||||
.hover-scale {
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
&:hover {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 4px 12px rgba(66, 133, 244, 0.15) !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.hover-shadow {
|
||||
transition: box-shadow 0.3s ease;
|
||||
&:hover {
|
||||
box-shadow: $shadow-hover !important;
|
||||
}
|
||||
}
|
||||
|
||||
.hover-bob {
|
||||
transition: transform 0.3s ease;
|
||||
&:hover {
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
}
|
||||
|
||||
.hover-translate-x {
|
||||
transition: transform 0.3s ease;
|
||||
&:hover {
|
||||
transform: translateX(6px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 20px, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
.animate-fade-in-up {
|
||||
animation: fadeInUp 0.6s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInLeft {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(-20px, 0, 0);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
.animate-fade-in-left {
|
||||
animation: fadeInLeft 0.6s ease-out forwards;
|
||||
opacity: 0; // 初始不可见
|
||||
}
|
||||
|
||||
@keyframes countUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
.count-up {
|
||||
display: inline-block;
|
||||
animation: countUp 0.8s ease-out forwards;
|
||||
}
|
||||
|
||||
.delay-100 { animation-delay: 100ms; }
|
||||
.delay-200 { animation-delay: 200ms; }
|
||||
.delay-300 { animation-delay: 300ms; }
|
||||
|
||||
// 基础样式
|
||||
.home-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
.home-content {
|
||||
font-size: 14px;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-self: center;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
|
||||
.home-title {
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
|
||||
h1 {
|
||||
font-size: xx-large;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.home-search {
|
||||
width: 574px;
|
||||
height: 46px;
|
||||
border: 1px solid #dfe1e5;
|
||||
box-shadow: 0px 2px 8px 0px rgba(60, 64, 67, 0.25);
|
||||
border-radius: 24px;
|
||||
flex-shrink: 0;
|
||||
background-color: white;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
input {
|
||||
border: none;
|
||||
outline: none;
|
||||
padding: 5px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.dropdown-trigger {
|
||||
transition: color 0.3s ease;
|
||||
&:hover {
|
||||
color: $primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
.advanced-search {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
transition: color 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
color: $primary-color;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: -10px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 1px;
|
||||
height: 20px;
|
||||
background-color: var(--devui-form-control-line, #d7d8da);
|
||||
}
|
||||
}
|
||||
|
||||
.advanced-search-menu {
|
||||
height: 300px;
|
||||
padding: 12px;
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.glow-border {
|
||||
border: 1px solid var(--devui-form-control-line, #d7d8da);
|
||||
border-color: var(--devui-form-control-line-active, #5e7ce0) !important;
|
||||
box-shadow: 0 0 0 4px var(--devui-form-control-interactive-outline, rgba(94, 124, 224, 0.15));
|
||||
transition: border-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
// 卡片通用样式
|
||||
.bg-white {
|
||||
border-radius: 8px;
|
||||
box-shadow: $shadow-base;
|
||||
transition: box-shadow 0.3s ease; // 添加过渡
|
||||
}
|
||||
|
||||
// 顶部功能按钮
|
||||
.top-btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.func-icon {
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
&:hover .func-icon {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 威胁监控卡片
|
||||
.data-card {
|
||||
.data-item {
|
||||
margin-bottom: 20px;
|
||||
background: #f1f5fc;
|
||||
border-radius: 8px;
|
||||
padding: 16px;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
|
||||
|
||||
.data-label {
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.data-value {
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
color: #303133;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.data-value.danger {
|
||||
color: #f56c6c;
|
||||
}
|
||||
}
|
||||
}
|
||||
$primary-light: #e8f0fe;
|
||||
// AI能力卡片
|
||||
.ai-capability-row {
|
||||
.capability-card {
|
||||
height: 100%;
|
||||
background: white;
|
||||
border-radius: 10px;
|
||||
padding: 18px 12px;
|
||||
border: 1px solid #e9ecef;
|
||||
text-align: center;
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
&:hover {
|
||||
border-color: #b8daff;
|
||||
background: $primary-light;
|
||||
transform: translateY(-5px);
|
||||
box-shadow: 0 8px 16px rgba(66, 133, 244, 0.1);
|
||||
}
|
||||
|
||||
.capability-icon {
|
||||
text-align: center;
|
||||
margin-bottom: 12px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-radius: 12px;
|
||||
background-color: rgba(66, 133, 244, 0.1);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
img {
|
||||
display: inline-block;
|
||||
width: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover .capability-icon img {
|
||||
transform: scale(1.15);
|
||||
}
|
||||
|
||||
.capability-title {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: #202124;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 12px;
|
||||
color: $primary-color;
|
||||
margin: 0 0 10px 0;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.capability-desc {
|
||||
font-size: 13px;
|
||||
color: #5f6368;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 团队成员卡片
|
||||
.member-item {
|
||||
&:hover .member-avatar {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
||||
}
|
||||
}
|
||||
|
||||
// 最新动态
|
||||
.timeline-content {
|
||||
margin-top: 4px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover .font-medium {
|
||||
color: $primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
// 其他样式保持不变...
|
||||
.home-search {
|
||||
:deep(.devui-input-slot__prepend),
|
||||
:deep(.devui-input-slot__append),
|
||||
:deep(.devui-input__wrapper) {
|
||||
border: none;
|
||||
}
|
||||
|
||||
:deep(.devui-select__selection--glow-style),
|
||||
:deep(.devui-input--glow-style) {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.menu-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--devui-list-item-hover-bg, #f2f5fc);
|
||||
color: var(--devui-list-item-hover-text, #526ecc);
|
||||
}
|
||||
}
|
||||
|
||||
.list-menu {
|
||||
padding: 8px;
|
||||
margin: 0;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.notice-content {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
margin-right: 8px;
|
||||
|
||||
span {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.time-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
width: 140px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:deep(.devui-timeline-item-data-right) {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
// 文本样式
|
||||
.text-lg {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.text-sm {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.text-xs {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.font-bold {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.font-medium {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
// 间距与布局
|
||||
.mb-8 {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.p-4 {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.flex-col {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.items-center {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.justify-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.dashboard-page {
|
||||
.section-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #303133;
|
||||
margin-bottom: 16px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
a {
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
.main-row {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.ai-capability-row {
|
||||
height: calc(100% - 46px);
|
||||
.devui-col {
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 时间线样式 */
|
||||
:deep(.devui-timeline) {
|
||||
--devui-timeline-item-padding: 0 0 24px 0;
|
||||
}
|
||||
|
||||
:deep(.devui-timeline-item-time) {
|
||||
/* 年份标签样式 */
|
||||
background-color: #fee2e2; /* 浅红背景 */
|
||||
color: #dc2626; /* 红色文字 */
|
||||
font-size: 12px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
min-width: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
:deep(.devui-timeline-item-data-left) {
|
||||
flex: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
<div class="welcome-page">
|
||||
<div class="home-title">
|
||||
<img src="@/assets/imgs/jyh/aiLogo2.png" alt="logo" />
|
||||
<h1>可信开源代码库AI助手</h1>
|
||||
<h1>TcodeAI助手</h1>
|
||||
</div>
|
||||
<div class="home-detail">
|
||||
<div class="home-detail-1">Hi,欢迎使用可信开源代码库AI助手</div>
|
||||
<div class="home-detail-2">可信开源代码库AI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,可信开源代码库AI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 可信开源代码库AI助手 做得更好。</div>
|
||||
<div class="home-detail-1">Hi,欢迎使用TcodeAI助手</div>
|
||||
<div class="home-detail-2">TcodeAI助手 可以辅助研发人员进行软件查询、批量校验、查看软件详情等。</div>
|
||||
<div class="home-detail-2">作为AI模型,TcodeAI助手 提供的答案可能不总是确定或准确的,但您的反馈可以帮助 TcodeAI助手 做得更好。</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="welcome-icon">-->
|
||||
|
||||
@@ -101,10 +101,10 @@ console.log(propsData.warningData);
|
||||
warningData.value = propsData.warningData ?? {
|
||||
subject: '【漏洞排查预警】ApacheIgnite远程代码执行漏洞排查(CVE-2024-52577)',
|
||||
importance: '高',
|
||||
group: '可信开源代码库运营团队',
|
||||
group: 'Tcode运营团队',
|
||||
pulishTime: '2025-2-20',
|
||||
overview: `## 一、概要
|
||||
近日,安全中心发现Apache lgnite远程代码执行漏洞(CVE-2024-52577)。在 2.6.0<Apache Ignite< 2.17.0版本中,由于lgnite未能正确实施类序列化过滤器,攻击者能够利用恶意序列化对象绕过安全检查,从而在服务器端反序列化时触发任意代码的执行。经可信开源代码库运营团队评审漏洞技术定级2级/3级,若不满足利用条件可举证降为6级。请你按要求在XX时间内完成修复。
|
||||
近日,安全中心发现Apache lgnite远程代码执行漏洞(CVE-2024-52577)。在 2.6.0<Apache Ignite< 2.17.0版本中,由于lgnite未能正确实施类序列化过滤器,攻击者能够利用恶意序列化对象绕过安全检查,从而在服务器端反序列化时触发任意代码的执行。经Tcode运营团队评审漏洞技术定级2级/3级,若不满足利用条件可举证降为6级。请你按要求在XX时间内完成修复。
|
||||
## 二、修复方案
|
||||
升级Apache Ignite至安全版本:2.17.0`
|
||||
};
|
||||
|
||||