简化导航栏文字,合并某些服务详情
This commit is contained in:
@@ -19,38 +19,38 @@
|
||||
<div class="menu-row-items">
|
||||
<!-- 模块1:SBOM 自动化分析 -->
|
||||
<div v-for="(item, index) in coreModules" :key="index" class="menu-section">
|
||||
<span class="menu-section-title">{{item.title}}</span>
|
||||
<span class="menu-section-title">{{ item.title }}</span>
|
||||
<ul class="hover-child">
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc1}}</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc2}}</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc3}}</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc1}}</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc2}}</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc3}}</a>-->
|
||||
<!-- </li>-->
|
||||
<li class="child-item">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc4}}</a>
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc4 }}</a>
|
||||
</li>
|
||||
<li class="child-item">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc5}}</a>
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc5 }}</a>
|
||||
</li>
|
||||
<li class="child-item">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc6}}</a>
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc6 }}</a>
|
||||
</li>
|
||||
<li class="child-item" v-if="item.desc7 !=undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc7}}</a>
|
||||
<li class="child-item" v-if="item.desc7 != undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc7 }}</a>
|
||||
</li>
|
||||
<li class="child-item" v-if="item.desc8 !=undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc8}}</a>
|
||||
<li class="child-item" v-if="item.desc8 != undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc8 }}</a>
|
||||
</li>
|
||||
<li class="child-item" v-if="item.desc9 !=undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc9}}</a>
|
||||
<li class="child-item" v-if="item.desc9 != undefined">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc9 }}</a>
|
||||
</li>
|
||||
<li class="child-item">
|
||||
<router-link :to="{ path: '/ProductServices/' + (index+1)}" class="LNK">
|
||||
{{item.linkText}}</router-link>
|
||||
<router-link :to="{ path: '/ProductServices/' + (index + 1) }" class="LNK">
|
||||
{{ item.linkText }}</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -73,22 +73,15 @@
|
||||
<div class="menu-row-title">核心安全数据要素服务</div>
|
||||
<div class="menu-row-items">
|
||||
<!-- 循环渲染数据服务模块 -->
|
||||
<div
|
||||
v-for="(item, index) in dataServiceModules"
|
||||
:key="index"
|
||||
class="menu-section"
|
||||
>
|
||||
<span class="menu-section-title">{{item.icon}} {{item.title}}</span>
|
||||
<div v-for="(item, index) in dataServiceModules" :key="index" class="menu-section">
|
||||
<span class="menu-section-title">{{ item.icon }} {{ item.title }}</span>
|
||||
<ul class="hover-child">
|
||||
<li class="child-item">
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc}}</a>
|
||||
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc }}</a>
|
||||
</li>
|
||||
<li class="child-item">
|
||||
<router-link
|
||||
:to="item.link"
|
||||
class="LNK"
|
||||
>
|
||||
<i class="ico-dp"></i> {{item.linkText}}
|
||||
<router-link :to="item.link" class="LNK">
|
||||
<i class="ico-dp"></i> {{ item.linkText }}
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -103,54 +96,54 @@
|
||||
<router-link to="/Situation" class="LNK">态势感知中心 <i class="ico-arrow-down"></i></router-link>
|
||||
</li>
|
||||
|
||||
<!-- <li>-->
|
||||
<!-- <router-link to="/pricing" class="LNK">定价</router-link>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li>-->
|
||||
<!-- <router-link to="/pricing" class="LNK">定价</router-link>-->
|
||||
<!-- </li>-->
|
||||
|
||||
<!-- <li>-->
|
||||
<!-- <a href="javascript:;" rel="noopener noreferrer" class="LNK">开源服务专区 <i class="ico-arrow-down"></i></a>-->
|
||||
<!-- <div class="nav-hover hover-product">-->
|
||||
<!-- <div class="menu-zh">-->
|
||||
<!-- <div class="menu-row menu-row1">-->
|
||||
<!-- <div class="menu-row-title">全栈式开源安全检测与治理工具链</div>-->
|
||||
<!-- <div class="menu-row-items">-->
|
||||
<!-- <!– 循环渲染开源服务专区模块 –>-->
|
||||
<!-- <div-->
|
||||
<!-- v-for="(item, index) in openSourceServiceModules"-->
|
||||
<!-- :key="index"-->
|
||||
<!-- class="menu-section"-->
|
||||
<!-- >-->
|
||||
<!-- <span class="menu-section-title">{{item.icon}} {{item.title}}</span>-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a-->
|
||||
<!-- :href="item.descLink"-->
|
||||
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
|
||||
<!-- class="LNK"-->
|
||||
<!-- >-->
|
||||
<!-- <i class="ico-yh"></i>{{item.desc}}-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a-->
|
||||
<!-- :href="item.operateLink"-->
|
||||
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
|
||||
<!-- class="LNK"-->
|
||||
<!-- >-->
|
||||
<!-- <i class="ico-dp"></i> {{item.operateText}}-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li>-->
|
||||
<!-- <router-link to="/Community" class="LNK">武汉开源建设生态<i class="ico-arrow-down"></i></router-link>-->
|
||||
<!-- <li>-->
|
||||
<!-- <a href="javascript:;" rel="noopener noreferrer" class="LNK">开源服务专区 <i class="ico-arrow-down"></i></a>-->
|
||||
<!-- <div class="nav-hover hover-product">-->
|
||||
<!-- <div class="menu-zh">-->
|
||||
<!-- <div class="menu-row menu-row1">-->
|
||||
<!-- <div class="menu-row-title">全栈式开源安全检测与治理工具链</div>-->
|
||||
<!-- <div class="menu-row-items">-->
|
||||
<!-- <!– 循环渲染开源服务专区模块 –>-->
|
||||
<!-- <div-->
|
||||
<!-- v-for="(item, index) in openSourceServiceModules"-->
|
||||
<!-- :key="index"-->
|
||||
<!-- class="menu-section"-->
|
||||
<!-- >-->
|
||||
<!-- <span class="menu-section-title">{{item.icon}} {{item.title}}</span>-->
|
||||
<!-- <ul class="hover-child">-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a-->
|
||||
<!-- :href="item.descLink"-->
|
||||
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
|
||||
<!-- class="LNK"-->
|
||||
<!-- >-->
|
||||
<!-- <i class="ico-yh"></i>{{item.desc}}-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li class="child-item">-->
|
||||
<!-- <a-->
|
||||
<!-- :href="item.operateLink"-->
|
||||
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
|
||||
<!-- class="LNK"-->
|
||||
<!-- >-->
|
||||
<!-- <i class="ico-dp"></i> {{item.operateText}}-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li>-->
|
||||
<!-- <router-link to="/Community" class="LNK">武汉开源建设生态<i class="ico-arrow-down"></i></router-link>-->
|
||||
|
||||
<!-- </li>-->
|
||||
<!-- </li>-->
|
||||
<li>
|
||||
<router-link to="/intro" class="LNK">关于我们 <i class="ico-arrow-down"></i></router-link>
|
||||
<!-- <div class="nav-hover">-->
|
||||
@@ -173,10 +166,10 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import {ref, reactive} from 'vue';
|
||||
import {useRoute, useRouter} from 'vue-router';
|
||||
import {useAccountStore} from '@/stores/user';
|
||||
import {emitEvent} from '@/utils/eventBus';
|
||||
import { ref, reactive } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useAccountStore } from '@/stores/user';
|
||||
import { emitEvent } from '@/utils/eventBus';
|
||||
|
||||
// 定义产品服务模块的数据
|
||||
const coreModules = reactive([
|
||||
@@ -186,9 +179,10 @@ const coreModules = reactive([
|
||||
desc1: '数据底座 国家级视野',
|
||||
desc2: '全网态势,一屏尽览',
|
||||
desc3: '基于3D可视化与实时监控技术,通过全网态势大屏、实时情报推送、攻击面管理等功能,可全方位感知全球开源安全风险态势。',
|
||||
desc4: '<EFBFBD>️ 数据标签:基于机器学习与知识图谱技术,智能化为全量开源项目提供精准分类与多维度评分。',
|
||||
desc5: '🛡️ 风险感知:基于3D地球与热力图技术,实时可视化展示全球开源漏洞、投毒攻击的爆发点及受影响行业分布。',
|
||||
desc6: '📊 数据定制:提供情报订阅中心、深度分析报告、API数据对接等服务,满足企业个性化威胁情报需求。',
|
||||
desc4: '智能标签:机器学习驱动,为全量开源项目提供精准分类与多维评分。',
|
||||
desc5: '态势可视:3D地球实时展示全球漏洞、投毒攻击爆发点及行业分布。',
|
||||
desc6: '情报定制:订阅中心、深度报告、API对接,满足个性化威胁情报需求。',
|
||||
desc7: '应急响应:智能分级预警、应急指引、协同指挥,快速响应形成闭环管理。',
|
||||
link: '/ProductServices/1',
|
||||
linkText: '[了解详情 >]'
|
||||
},
|
||||
@@ -198,10 +192,10 @@ const coreModules = reactive([
|
||||
desc1: '核心引擎 AI 驱动',
|
||||
desc2: '懂代码,更懂安全的 AI 专家',
|
||||
desc3: '基于AST语法树、CPG图构建与多智能体协同技术,结合RAG知识库与COT指令集训练,实现从漏洞检测到自动修复的智能闭环。',
|
||||
desc4: '🔍 漏洞检测:基于AST与CPG图构建,结合静态分析、动态增量分析、AI语义理解,检测准确率提升85%以上。',
|
||||
desc5: '<EFBFBD> 漏洞修复:基于多智能体协同修复技术,自动生成修复方案并完成验证测试,修复准确率提升75%以上。',
|
||||
desc6: '💬 安全知识问答:基于漏洞知识图谱与RAG检索增强技术,提供高质量、可解释的漏洞分析,问答准确率达92%以上。',
|
||||
desc7: '🛠️ 安全工具调用:基于Function Calling技术,智能调用第三方安全工具,实现漏洞扫描、代码审计等自动化任务编排。',
|
||||
desc4: '漏洞检测:AST与CPG图结合静态/动态分析、AI语义理解,精准识别代码安全风险。',
|
||||
desc5: '漏洞修复:多智能体协同自动生成修复方案并验证测试,实现智能化修复闭环。',
|
||||
desc6: '知识问答:漏洞知识图谱与RAG检索增强,提供可解释的专业漏洞分析。',
|
||||
desc7: '工具编排:智能调用第三方安全工具,自动化完成扫描、审计等安全任务。',
|
||||
link: '/ProductServices/2',
|
||||
linkText: '[了解详情 >]'
|
||||
},
|
||||
@@ -211,12 +205,10 @@ const coreModules = reactive([
|
||||
desc1: '深度治理 合规审计',
|
||||
desc2: '透视黑盒,溯源无忧',
|
||||
desc3: '穿透软件“黑盒”,基于源码与二进制双引擎,生成标准化 SBOM,彻底解决“成分不清、来源不明”难题。',
|
||||
desc4: '<EFBFBD> 平台管理与数据服务:提供用户友好的Web界面和API,确保数据准确性与时效性。',
|
||||
desc5: '<EFBFBD> 包管理器成分分析:针对常见包管理器(如npm、PyPI、Maven)的依赖分析引擎,自动识别组件及其版本。',
|
||||
desc6: '<EFBFBD> C/C++/项目成分分析:专门处理C/C++项目的成分分析,识别第三方库和潜在风险。',
|
||||
desc7: '<EFBFBD> 二进制文件成分分析: 针对二进制文件的分析引擎,通过反编译和特征匹配识别成分和漏洞。',
|
||||
desc8: '<27>️ 供应测链安全检测:精准漏洞检测、恶意代码防护、合规性保障。',
|
||||
desc9: '<27>️ 合规性检测:分析软件组件的许可证信息,检查兼容性和合规性,避免法律冲突。',
|
||||
desc4: '平台服务:Web界面与API双通道,确保数据准确性与时效性。',
|
||||
desc5: '成分分析:覆盖主流包管理器、C/C++项目及二进制文件,精准识别组件与风险。',
|
||||
desc6: '安全检测:精准漏洞检测、恶意代码防护、合规性保障。',
|
||||
desc7: '许可证合规:分析组件许可证信息,检查兼容性,避免法律冲突。',
|
||||
link: '/ProductServices/3',
|
||||
linkText: '[了解详情 >]'
|
||||
},
|
||||
@@ -226,10 +218,10 @@ const coreModules = reactive([
|
||||
desc1: '端侧防御 场景落地',
|
||||
desc2: '守护终端,运行无界',
|
||||
desc3: '面向车联网、无人机及 IoT 生态,提供应用逆向分析与运行时安全监测,确保设备在真实环境下的安全运行。',
|
||||
desc4: '🔍 极速扫描服务:百万级样本秒级初筛能力,支持海量应用快速筛查,检测准确率高达99%。',
|
||||
desc5: '🔬 深度分析服务:精准定位恶意逻辑核心,可视化展示攻击路径,分析准确率达88%以上。',
|
||||
desc6: '🛡️ 持续免疫服务:自适应进化检测模型,秒级响应恶意变种,支持跨平台识别演进。',
|
||||
desc7: '🌐 威胁情报服务:Zero-day预警能力,已挖掘498个普通及31个高隐蔽性Zero-day恶意软件。',
|
||||
desc4: '极速扫描:百万级样本秒级初筛,支持海量应用快速筛查。',
|
||||
desc5: '深度分析:精准定位恶意逻辑核心,可视化展示攻击路径。',
|
||||
desc6: '持续免疫:自适应进化检测模型,秒级响应恶意变种,支持跨平台识别。',
|
||||
desc7: '威胁情报:Zero-day预警能力,实时发现高隐蔽性恶意软件。',
|
||||
link: '/intelligent-terminal-monitoring',
|
||||
linkText: '[了解详情 >]'
|
||||
}
|
||||
@@ -298,7 +290,7 @@ const openSourceServiceModules = reactive([
|
||||
]);
|
||||
|
||||
const handleLogin = (type) => {
|
||||
emitEvent('login', {type, triggerType: '主动注册'});
|
||||
emitEvent('login', { type, triggerType: '主动注册' });
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -359,34 +351,35 @@ const handleLogin = (type) => {
|
||||
align-items: center
|
||||
}
|
||||
|
||||
.comHeader .nav, .comHeader .nav > ul {
|
||||
.comHeader .nav,
|
||||
.comHeader .nav>ul {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex
|
||||
}
|
||||
|
||||
.comHeader .nav > ul {
|
||||
.comHeader .nav>ul {
|
||||
margin: 0 0 0 38px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li {
|
||||
.comHeader .nav>ul>li {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li:hover > a {
|
||||
.comHeader .nav>ul>li:hover>a {
|
||||
color: #4bb752
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li:hover .nav-hover {
|
||||
.comHeader .nav>ul>li:hover .nav-hover {
|
||||
opacity: 1;
|
||||
top: 62px;
|
||||
visibility: visible
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover {
|
||||
.comHeader .nav>ul>li .nav-hover {
|
||||
background-color: #1b1c1d;
|
||||
font-size: 13px;
|
||||
left: 0;
|
||||
@@ -402,21 +395,21 @@ const handleLogin = (type) => {
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover > ul {
|
||||
.comHeader .nav>ul>li .nav-hover>ul {
|
||||
max-height: 452px;
|
||||
overflow: hidden;
|
||||
overflow-y: scroll
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover > ul::-webkit-scrollbar {
|
||||
.comHeader .nav>ul>li .nav-hover>ul::-webkit-scrollbar {
|
||||
width: 0
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .hover-item {
|
||||
.comHeader .nav>ul>li .nav-hover .hover-item {
|
||||
margin: 0 0 10px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .hover-item > a:link {
|
||||
.comHeader .nav>ul>li .nav-hover .hover-item>a:link {
|
||||
color: #848484;
|
||||
font-size: 14px;
|
||||
padding: 0 20px;
|
||||
@@ -424,11 +417,11 @@ const handleLogin = (type) => {
|
||||
transition: none
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .hover-item > a:hover {
|
||||
.comHeader .nav>ul>li .nav-hover .hover-item>a:hover {
|
||||
color: #4bb752
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a {
|
||||
border-left: 4px solid #1b1c1d;
|
||||
display: inline-block;
|
||||
line-height: 25px;
|
||||
@@ -439,7 +432,7 @@ const handleLogin = (type) => {
|
||||
white-space: normal
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-yh {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-yh {
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZcAAAFpCAMAAABnIJVWAAAAYFBMVEUAAABu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JVu5JX////b+OWS67C38sp755/2/fmJ6aml7r3t/PLk+uvJ9djA89Gu8MTS996b7LYIOV9QAAAAEHRSTlMAwECA8BCg0GAwIOCwUJBwK9hbwAAADJpJREFUeNrs3dtymzAUhWEcHMdxXHtvgTgZnPd/yx4UQ+SBKTftLLTXd5+Zev5BGGptZf/Q+/X8JhbsDsdTthGv1w+xZHfMtuC6F2s+XjJ0p51YdHnNoL3bu1iCN+gwP6xmwQ5j9mrBDvM6n8UXqfEy55yBOsuzz95pkipX1vLsmkF6kZjvK9XuVg5Fasry3qq2g5fIHnMl28VVSlXXeEmVH1qtGonkGaD4cqlbdelGCZr4M4JeMIfon6zVp6Sv1KqWbxDfyOyjLF3qF0tQVN/CQH4le5HJp5UsInVVeRntMzhXGfmqtZJFpFAnE7yX/rmMblqIHaU2MsJ7sXyWB683saRt5QvijX8nD73aWcV+a/RTAsQnmKlLexdTpvUBuovXQWy5txJAdylM3fV/K1UC6C6lsduLSKO1/AHeRYwZVwh2gcIumNgF01a7uAW9BI1b0EjQuwW1INhqF13gxr9YUErgdB7IN3J2YRd2YRd2mbALu7DLeuzCLuyyHruwC7usxy7swi7rsQu7sMt67MIu7LIeu7ALu6zHLuzCLuuxC7uwy3r/s0uxoJbA/23eR10swPgl9Fa7pI5dMLELJnbBxC6Y2AXTNroM5vbxjTsXobvY2/fab2Lfq9dSbOk6CaC7SNeKKV57CbC7DMYWslJrCRC7HOTBV04MiT7ujwxNLqPS1CSS+7Q8IM65OsqkU4wNqf/DoL1M8AaPnqJLu7ISptFOJh8Zno9o6qOJcbAiZTzJ85DhuTyNT+7Tf+z3LhqgjHjbDwvZxN+1KtMu42+qpUwwl7EsO0ikcKq3ZAfB18Pvjxd9OsTpluGCeVLcKtXKpUhV2z6ugnq5hEeYJ0V5dym6DbU8QXx4+WLzzLcA8R3Mw6uNw0TnYH5HZhjoLL/CWF3KLhm4XAzaIz5QPjkdxJh9jve6cs7pYung6rfrNqr88X7Mz7v0HfIfeCe+EBERERERERERERERERERERERERERpeZ0zA+79F3ylw39aNzY7/mP20jD/S+Q8r3Y8wG7Rdz6/krcTeLcjwzLcBboMFYXseCagZqbDzPcXIr6uUFR7xmk014iYZ6SugR1s/OU3jJIM/PH7gnPH+s2Mn/saV5fb2FeXzXIBHQAWTzfstN72lVmPiXmBLKnebCNWNDDz4M1Oz/ZyQPkQhbNGzd0ckIJPm/c8Hz+Wr4g3mC+n2fRiSHg51nw/BcRxNfKPC9JBLqL115s2cb5YjyPD8rYpTF0KE8wbOL8Sp73CoVdRNgFCrtgYhdMW+1SLKgl8MUCL0FdLMD4L56tdtEFbvyLBaUETueBPCmxC7uwC7uwy4Rd2IVd1mMXdmGX9diFXdhlPXZhF3ZZj13YhV1+snevzWrCQACGuSOKng2QcFX+/7/s5bSFrQKrAQ2wz7fOtHOmfWuWKEQ67sJduAsdd+Eu3IWOu3AX7kLHXbgLd6F7Z5dkQAPfimRAAd+aZIAZd6ivtcvWcRczcRczcRczcRczraWLGXdzvwV+ctHoLvt77jVbxXOv+a5OIfnlVsI3o7uAusG+qBq+md2l3tmAKUQL30zsEsNfUtSwJ2UJf5h4wqUL/9S7OlkhEwX8YeI5V1/wj1TlflayvHdgn4lHKDvQaUW1lzC5UrL7lWeZx4NOsZcwOT7JM7bMEwAKo/awu7yKfhYTxz5eyABStf0DlNMKLwvgmXfs6E8n6JPNlo+BB5DXCh83DibuXn5xAJO1EiJpsjbdmiKrKyFKfM69qS+X760l1jaJ2CSVZDlg5n4BjO/BI+nm5PCIbZkqgh0LDV3FfjnAbnnmbfV7nD1+e6Xpr5Zfon1+JV9geJZ9fuGr8V/3+pvv7ulrqwFCE999eSxy7X20CeOvo8UYY4wxxhhjjDHGGGOMMcYY+8V3vtyLbceuezb6tpldOV9C6OOPOA1wvJzgXny22AcdAxhwWs/NGpuDqtBvbvKdF/HyOM+NdLE/8LwK2RoevzEM5cZT78xd3uwLSC7c5Z38AIhCn7u8zTEEsjDiLm8SefAEL+IuC8NZ6GG4yxsc7rLk1zopxU/JLUsfhuEuizsAJrNS9Km6HQ6Du8iMpKB0Obu2HQJ4NtnFpbvY2mL3l7PjRBayzCIma3GvLO7CHB91SQVJMt0lWtdTL6F9cc/RcllkIx4rW8BCf8ku/jof4QuDQ7REllaJQYkExJ6jywYfE/eCg2/p8kPoacQY1QJyWbBLDKsW66axoSNvYkIDyHm5Lqt/RtwLjjOdwCYrMam+m/0LdYENCI76V8goCzlMyF1Gub7+zEdZqGFc7jLqFOnO/FoQFdDncJdxX3rDpRBU+HjMk89dxgXWk87QyQVdAn2Xd3SRaZYlJquzLM3nCeMThgtlJYuW7pKv5gDFJHvY5vLyEZKZeEYJffbSXVKxImUj4c55zlWMPvq5C3LLh9/j1V/F6BMm4C7/qSVg8Uur2FU8Cx+NzV3+p1LAnBcOjpZKPOuKfyh3uVMAYr9w0HoinnaDPpe7TIaJLAoXOq14XokHDHeZDBNYBEe8ir0A+mzu8kiKhzCBDZ1GvCLnLpOUfHIPc9D/S6fcpUOawpcnty6Gdgk30AX9K4VPbl0M7WJvoUsJPf4Tb8BINUeXmLsQrsmcJ1axm5iji8tdBiT0D8iCWSYq9B24C+G61aWvYqV4kYK+iLsQbuyKyatYJl6V4C0TdyFMfpt6LZaLl2Vo7HOXYTmpywF6EvGyFI0X7jIso7wTc/ToWxf6ePG5C2nFtwaFhK0LRY2XMY0ul613UYQuF6BvXejL2Fmni731LkJOdnGgp9W7yOicLO5C+z9MGS5SidcVaOpzF70u4VyrmJLo5cJdaF1O1kPBXKsY3rwcuAuxiz29c5FqrukSWtxFp0sEeBWba7o43EWjC575UIi5Xi6BxV0mjH2Q7IdzrWL45eL53IX6NwV36uHeSvPndL4s7jLhOvK5WAB9jdCBbyXgLqPQnsIZz9KK2V4uDneZksFgF5wlV0KHREOfu0yooDOaRVZCR42GPneZXsU6Y1ngNt/P+bK4y7gqh449lqUWWjI09LnLuJuEHnskSyG0lGjoc5dRSQqIi7eTOIueFN0GvWyXeNVdyiYHGOoSzZwlQUN/4S7uSruoJMkKCSPPikeedhZMorf3V91F1W0q4U3wun+YO0uGhtiqu9wkvJ3/8HxI/SylhM5x1V0S+ICHF2JwFbpSNMNW3SWF9zs9/G6KWui6obOtVt1FwQfYD66PZTXvOwqOteouCXxAcH9Sd6qEtgL9CO7yNPfu+jgTmP7WZeVdGviArwMgeTX3+6Jna+VdPrOOQZ/MxByuaIBxF11tOftfxDtyF01pIujon7qsvksJrzCtCr4Ws631dxESPqZAVWbbUXrHLXQp4DNkU4rZlHgV20KXEj5AXqvF3kyyrU10ETW8l2ybUswrg4533EgXkRQS3iNPsxuhieZtr1vp0qcSunLiD9ZZT4N+PzLrJXJsbbLLGqXQ8XzuYogMes4WdzHDf+czchczVBI6oc9dzKBy6HiRxV3M0ELPweIuZrgCukTmLmaooefkcxczJICHC3cxQiXxcOEuRlAoS2Bxlx/t3d12mkAYheHNAIqC5CswyE+s93+XberqyhoYG00T5wP3cwMcvAs2HAAquH8O3cKL7788mpslSeHH98Uey80iO7CLCp24m88uKrhZSrCLCm6WAuyigptlm7KLBu15moVdFJjciSU7sIsC8yzsosBwFMcO7KLAYMWRgV0UGGdZ2EWBV5lmYZfw2m6WhV3C64+zLOwSXmVnWdglvEZcSQZ2Ca6vp1l2YJfgftp5FnYJrT3LxHYPdgmtsrMsKdglsPYsUxuAXQIbrUy9QE+X7XN2GWqZSgwUdZFn7NKeRDyLzy5hNVZmNinYJRh3WNxnfHYJxa3iXsPYJSB/FYkBdgmnbbxVcgN2CafvrPiUKdglmLEWr60B2CWQobPilcQAu4QxnKxcUezBLkFUTpT5JYxdHq8fz1auyjNAcZd0nV360ZkU77Co7mJW16WvGuc88VZJwS4PM1TNqbbykfytypK62OYeXe1n5UvY+q+u+WOsfht+zFy+dnn+4Ljuriyry4LYT/YvDN6wiyZ5vMeF/i6QZ1Ec8I5ddCgyd+v1d8ll9TxR9HcpZNXy8gAP/V1eZLXyTbaHn/4uaSIrlETx4V9N9HdBJusSFTckWUAXmEi+XvR/5G55FJXxwaS4xSK6AKmJ4010UcZTB+ODxzPXBKnh73KsbvL63oW+kZE7sYsPuzwJdtGJXXRiF53YRSd20YlddNpFn1SCvs8voBbmCHU7LBwAAAAASUVORK5CYII=) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -450,7 +443,7 @@ const handleLogin = (type) => {
|
||||
width: 12px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-dp {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-dp {
|
||||
background: url(./3.B1j6TFrJ.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -461,7 +454,7 @@ const handleLogin = (type) => {
|
||||
width: 12px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-mz {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-mz {
|
||||
background: url(./4.CliINQHr.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -472,7 +465,7 @@ const handleLogin = (type) => {
|
||||
width: 12px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-xh {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-xh {
|
||||
background: url(data:image/png;base64,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) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -483,7 +476,7 @@ const handleLogin = (type) => {
|
||||
width: 12px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-zn {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-zn {
|
||||
background: url(./7.CzOWPVUI.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -494,7 +487,7 @@ const handleLogin = (type) => {
|
||||
width: 22px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a .ico-zn2 {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a .ico-zn2 {
|
||||
background: url(./6.CHtcQ5m4.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
display: inline-block;
|
||||
@@ -505,11 +498,11 @@ const handleLogin = (type) => {
|
||||
width: 30px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .nav-hover .child-item a:hover {
|
||||
.comHeader .nav>ul>li .nav-hover .child-item a:hover {
|
||||
border-color: #4bb752
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product {
|
||||
.comHeader .nav>ul>li .hover-product {
|
||||
background-color: #fff;
|
||||
-webkit-box-shadow: 0 2px 11px 2px rgba(0, 0, 0, .08);
|
||||
box-shadow: 0 2px 11px 2px #00000014;
|
||||
@@ -521,54 +514,54 @@ const handleLogin = (type) => {
|
||||
right: 0
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.hover-product2 {
|
||||
.comHeader .nav>ul>li .hover-product.hover-product2 {
|
||||
left: 150px;
|
||||
right: auto
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list {
|
||||
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list .plist {
|
||||
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list .plist {
|
||||
padding: 10px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list .plist:first-child > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list .plist:first-child>.list-item>ul>.hover-item {
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN {
|
||||
.comHeader .nav>ul>li .hover-product.EN {
|
||||
background-color: #040705
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN.hover-product2 {
|
||||
.comHeader .nav>ul>li .hover-product.EN.hover-product2 {
|
||||
left: 300px;
|
||||
right: auto
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN.hover-product2 .plist {
|
||||
.comHeader .nav>ul>li .hover-product.EN.hover-product2 .plist {
|
||||
padding-left: 10px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN.hover-product2 .plist .list-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN.hover-product2 .plist .list-item {
|
||||
padding: 0 !important
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist {
|
||||
padding-bottom: 7px;
|
||||
padding-top: 7px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-label {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-label {
|
||||
width: 60px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-label span {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-label span {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
left: -83px;
|
||||
@@ -578,36 +571,36 @@ const handleLogin = (type) => {
|
||||
white-space: nowrap
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:first-child .list-label {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:first-child .list-label {
|
||||
background: linear-gradient(135deg, #22e68b, #008d35)
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:first-child > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:first-child>.list-item>ul>.hover-item {
|
||||
background-color: #15210f;
|
||||
border-color: #23e98e
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label {
|
||||
background: linear-gradient(160deg, #48fffa, #008d9a);
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label span {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label span {
|
||||
left: -72px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item {
|
||||
background-color: #101e1f;
|
||||
border-color: #8b979c
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item .child-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item .child-item {
|
||||
background: linear-gradient(160deg, #205c5d, #103f44);
|
||||
margin: 7px 0 0;
|
||||
padding: 7px 0 7px 30px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item > .LNK {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item>.LNK {
|
||||
background: linear-gradient(135deg, #49fefa, #008d9a);
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
@@ -620,44 +613,44 @@ const handleLogin = (type) => {
|
||||
justify-content: center
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span1 {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span1 {
|
||||
left: -30px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span2 {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span2 {
|
||||
left: -95px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label {
|
||||
background: linear-gradient(135deg, #ffcd68, #fe682d)
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span1 {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span1 {
|
||||
left: -38px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span2 {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span2 {
|
||||
left: -106px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3)>.list-item>ul>.hover-item {
|
||||
background-color: #2d1d08;
|
||||
border-color: #ffa24b
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .child-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .child-item {
|
||||
background: linear-gradient(135deg, #442e10, #44230c);
|
||||
margin: 7px 0 0;
|
||||
padding: 7px 0 7px 30px;
|
||||
width: 32.333% !important
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-item .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-item .hover-item {
|
||||
padding-top: 35px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-item .hover-item > .LNK {
|
||||
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-item .hover-item>.LNK {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -675,45 +668,46 @@ const handleLogin = (type) => {
|
||||
white-space: normal
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a {
|
||||
color: #dcdbde;
|
||||
font-size: 12px;
|
||||
line-height: 18px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a:hover {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a:hover {
|
||||
color: #fff
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-yh {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-yh {
|
||||
background: url(data:image/png;base64,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) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
top: 3px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-dp {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-dp {
|
||||
background: url(./3.B1j6TFrJ.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
top: 3px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-mz {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-mz {
|
||||
background: url(./4.CliINQHr.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
top: 3px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-xh {
|
||||
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-xh {
|
||||
background: url(./5.R14BVqop.png) no-repeat 50%;
|
||||
background-size: 100% 100%;
|
||||
top: 3px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .ico-zn, .comHeader .nav > ul > li .hover-product.EN .ico-zn2 {
|
||||
.comHeader .nav>ul>li .hover-product.EN .ico-zn,
|
||||
.comHeader .nav>ul>li .hover-product.EN .ico-zn2 {
|
||||
display: none !important
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .item-tit {
|
||||
.comHeader .nav>ul>li .hover-product.EN .item-tit {
|
||||
color: #00e07b;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
@@ -723,7 +717,7 @@ const handleLogin = (type) => {
|
||||
white-space: normal
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product.EN .item-tit:before {
|
||||
.comHeader .nav>ul>li .hover-product.EN .item-tit:before {
|
||||
background-color: #00e07b;
|
||||
content: "";
|
||||
height: 100%;
|
||||
@@ -733,21 +727,21 @@ const handleLogin = (type) => {
|
||||
width: 2px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .item-tit {
|
||||
.comHeader .nav>ul>li .hover-product .item-tit {
|
||||
font-weight: 700;
|
||||
margin: 5px 0 0
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .child-item a {
|
||||
.comHeader .nav>ul>li .hover-product .child-item a {
|
||||
border: none;
|
||||
color: #333
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .child-item a:hover {
|
||||
.comHeader .nav>ul>li .hover-product .child-item a:hover {
|
||||
color: #4bb752
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list {
|
||||
.comHeader .nav>ul>li .hover-product .product-list {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -757,7 +751,7 @@ const handleLogin = (type) => {
|
||||
flex-direction: column
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist {
|
||||
color: #333;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
@@ -765,16 +759,16 @@ const handleLogin = (type) => {
|
||||
padding: 10px 20px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child .list-label {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child .list-label {
|
||||
background: -webkit-gradient(linear, right top, left top, from(#49ac8c), to(#79ba49));
|
||||
background: linear-gradient(270deg, #49ac8c, #79ba49)
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child > .list-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child>.list-item {
|
||||
padding: 0 5px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child>.list-item>ul>.hover-item {
|
||||
width: 15.8%;
|
||||
-ms-flex-negative: 0;
|
||||
background-color: #f5fbf1;
|
||||
@@ -784,15 +778,15 @@ const handleLogin = (type) => {
|
||||
margin-right: .43%
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) .list-label {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2) .list-label {
|
||||
background: #40a9f5
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item {
|
||||
padding: 0 5px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item>ul>.hover-item {
|
||||
width: 32.333%;
|
||||
-ms-flex-negative: 0;
|
||||
background-color: #f8f8f8;
|
||||
@@ -802,19 +796,19 @@ const handleLogin = (type) => {
|
||||
margin-right: .5%
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item > ul > .hover-item > .LNK {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item>ul>.hover-item>.LNK {
|
||||
background-color: #40a9f5
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item {
|
||||
padding: 0 5px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item {
|
||||
width: 99%;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
@@ -824,7 +818,7 @@ const handleLogin = (type) => {
|
||||
padding-top: 10px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .hover-child {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .hover-child {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -832,7 +826,7 @@ const handleLogin = (type) => {
|
||||
flex-wrap: wrap
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .hover-child .child-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .hover-child .child-item {
|
||||
width: 24%;
|
||||
-ms-flex-negative: 0;
|
||||
flex-shrink: 0;
|
||||
@@ -840,7 +834,7 @@ const handleLogin = (type) => {
|
||||
margin-right: .5%
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-label {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-label {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -855,13 +849,13 @@ const handleLogin = (type) => {
|
||||
width: 40px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item {
|
||||
-webkit-box-flex: 1;
|
||||
-ms-flex: 1;
|
||||
flex: 1
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item > ul {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item>ul {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -871,7 +865,7 @@ const handleLogin = (type) => {
|
||||
flex-direction: row
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item {
|
||||
background-color: #fff9ed;
|
||||
border: 1px solid #e9d0af;
|
||||
margin: 15px 10px 0;
|
||||
@@ -880,18 +874,18 @@ const handleLogin = (type) => {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item {
|
||||
line-height: 22px;
|
||||
position: relative
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item-2 {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item-2 {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 12px;
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item:before {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item:before {
|
||||
background: #4bad52;
|
||||
border-radius: 4px;
|
||||
content: "";
|
||||
@@ -903,7 +897,7 @@ const handleLogin = (type) => {
|
||||
width: 6px
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item > .LNK {
|
||||
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item>.LNK {
|
||||
background-color: #7abf4c;
|
||||
color: #fff;
|
||||
height: 30px;
|
||||
@@ -918,7 +912,7 @@ const handleLogin = (type) => {
|
||||
transform: translate(-50%)
|
||||
}
|
||||
|
||||
.comHeader .nav > ul > li > a {
|
||||
.comHeader .nav>ul>li>a {
|
||||
height: 63px;
|
||||
line-height: 63px;
|
||||
padding: 0 20px
|
||||
@@ -963,7 +957,8 @@ const handleLogin = (type) => {
|
||||
width: 11px
|
||||
}
|
||||
|
||||
.LNK:link, .LNK:visited {
|
||||
.LNK:link,
|
||||
.LNK:visited {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
@@ -982,7 +977,9 @@ const handleLogin = (type) => {
|
||||
row-gap: 20px
|
||||
}
|
||||
|
||||
.menu-zh, .menu-zh .menu-row, .menu-zh .menu-row .menu-row-title {
|
||||
.menu-zh,
|
||||
.menu-zh .menu-row,
|
||||
.menu-zh .menu-row .menu-row-title {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex
|
||||
@@ -1045,7 +1042,8 @@ const handleLogin = (type) => {
|
||||
width: 2px
|
||||
}
|
||||
|
||||
.menu-zh .menu-row .menu-row-items .menu-section .item-tit, .menu-zh .menu-row .menu-row-items .menu-section > ul {
|
||||
.menu-zh .menu-row .menu-row-items .menu-section .item-tit,
|
||||
.menu-zh .menu-row .menu-row-items .menu-section>ul {
|
||||
margin: 0 20px
|
||||
}
|
||||
|
||||
@@ -1134,7 +1132,8 @@ const handleLogin = (type) => {
|
||||
padding: 15px
|
||||
}
|
||||
|
||||
.menu-zh .menu-row.menu-row2 .menu-row-content .content2, .menu-zh .menu-row.menu-row2 .menu-row-content .content2 .link-item {
|
||||
.menu-zh .menu-row.menu-row2 .menu-row-content .content2,
|
||||
.menu-zh .menu-row.menu-row2 .menu-row-content .content2 .link-item {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
@@ -1164,8 +1163,10 @@ const handleLogin = (type) => {
|
||||
}
|
||||
|
||||
.menu-zh .menu-row.menu-row2 .menu-row-content.product-content-row2 {
|
||||
background-color: #2d1d08 !important; /* 原智能运营平台背景色 */
|
||||
border: 1px solid #ffa24b !important; /* 原智能运营平台边框 */
|
||||
background-color: #2d1d08 !important;
|
||||
/* 原智能运营平台背景色 */
|
||||
border: 1px solid #ffa24b !important;
|
||||
/* 原智能运营平台边框 */
|
||||
margin-left: 10px !important;
|
||||
padding: 10px 20px !important;
|
||||
width: 100% !important;
|
||||
@@ -1186,7 +1187,8 @@ const handleLogin = (type) => {
|
||||
align-items: flex-start !important;
|
||||
|
||||
width: 24% !important;
|
||||
padding: 15px 0 15px 15px !important; /* 调整内边距 */
|
||||
padding: 15px 0 15px 15px !important;
|
||||
/* 调整内边距 */
|
||||
margin: 7px .5% 0 !important;
|
||||
|
||||
min-height: 100px;
|
||||
@@ -1195,7 +1197,8 @@ const handleLogin = (type) => {
|
||||
.link-item-title {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
color: #ffcd68; /* 使用原 menu-row2 渐变的主色调 */
|
||||
color: #ffcd68;
|
||||
/* 使用原 menu-row2 渐变的主色调 */
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
@@ -1210,19 +1213,22 @@ const handleLogin = (type) => {
|
||||
.card-desc-row2 {
|
||||
margin: 0;
|
||||
line-height: 1.4;
|
||||
min-height: 36px; /* 确保两行描述的空间 */
|
||||
min-height: 36px;
|
||||
/* 确保两行描述的空间 */
|
||||
}
|
||||
|
||||
.link-item-link {
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
color: #ffa24b; /* 链接颜色 */
|
||||
color: #ffa24b;
|
||||
/* 链接颜色 */
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.link-item-placeholder {
|
||||
visibility: hidden;
|
||||
width: 24% !important; /* 必须保留宽度 */
|
||||
width: 24% !important;
|
||||
/* 必须保留宽度 */
|
||||
margin: 7px .5% 0 !important;
|
||||
height: 0;
|
||||
padding: 0 !important;
|
||||
|
||||
@@ -11,91 +11,121 @@
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- 全景大屏标签页 -->
|
||||
<!-- 智能标签服务标签页 -->
|
||||
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">全景大屏</h4>
|
||||
<div class="l-desc">基于<strong>3D地球与热力图</strong>技术,融合实时漏洞数据,可视化展示全球开源风险分布及趋势变化。</div>
|
||||
<h4 class="l-tit">智能标签</h4>
|
||||
<div class="l-desc">基于<strong>机器学习与知识图谱</strong>技术,融合行业属性、技术领域、开源贡献、组件画像四大标签体系,可智能化为全量开源项目提供精准分类与多维度评分。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>资产全量梳理</h6>
|
||||
<p>自动扫描企业全量软件资产,深度解析项目依赖关系,构建完整的软件物料清单(SBOM),覆盖开源组件、第三方库的全维度信息。</p></div>
|
||||
<div class="list-con"><h6>多维标签体系</h6>
|
||||
<p>自动为开源项目提供行业属性、技术领域、开源贡献、组件画像四大类标签体系,覆盖金融、能源、政务等12大行业分类,支持AI框架、云原生、大数据等技术栈分类。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>数据标准化输出</h6>
|
||||
<p>支持生成CycloneDX、SPDX等国际标准SBOM格式,兼容主流安全工具生态,实现数据在不同平台间的无缝流通与对接。</p></div>
|
||||
<div class="list-con"><h6>智能画像分析</h6>
|
||||
<p>支持公司、地区维度的人才画像和贡献统计,提供组件维护活跃度、许可证合规性、开发者信誉度、供应链健康度等多维度评分。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>供应链全链路追溯</h6>
|
||||
<p>为每个组件赋予唯一标识,在安全事件发生时,可快速定位受影响组件的传播路径与关联版本,将应急响应时间缩短80%以上。</p></div>
|
||||
<div class="list-con"><h6>精准标签定位</h6>
|
||||
<p>无需人工标注,在全量开源项目中快速定位目标组件,可根据行业属性和技术栈自动分类,标签准确率达90%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 极速预警标签页 -->
|
||||
<!-- 态势可视标签页 -->
|
||||
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">极速预警</h4>
|
||||
<div class="l-desc">整合全球漏洞数据源,实现漏洞披露感知与响应时间<strong>≤ 5分钟</strong>,提前规避安全风险。</div>
|
||||
<h4 class="l-tit">态势可视</h4>
|
||||
<div class="l-desc">基于<strong>3D可视化与实时监控</strong>技术,通过全网态势大屏、实时情报推送、攻击面管理等功能,可全方位感知全球开源安全风险态势。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">检测机制</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>全层级依赖解析</h6>
|
||||
<p>深度构建项目的直接与间接依赖关系图谱,穿透式扫描所有依赖层级,确保无遗漏任何潜在的漏洞组件。</p></div>
|
||||
<div class="list-con"><h6>全网态势监控</h6>
|
||||
<p>基于3D地球与热力图技术,实时可视化展示全球开源漏洞、投毒攻击的爆发点及受影响行业分布,提供全方位的安全态势。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>实时漏洞匹配</h6>
|
||||
<p>同步NVD、CNVD、CNNVD等全球主流漏洞数据库,毫秒级完成组件版本与CVE/CNVD漏洞的精准匹配,并触发实时告警。</p></div>
|
||||
<div class="list-con"><h6>智能预警推送</h6>
|
||||
<p>支持通过Webhook、邮件、短信等多渠道,按需推送用户关注组件的风险动态,基于SBOM清单自动映射威胁并生成受影响资产清单。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">修复指导</h5>
|
||||
<div class="list-item"><i class="ICO 3"></i>
|
||||
<div class="list-con"><h6>漏洞修复路径可视化</h6>
|
||||
<p>直观展示漏洞在依赖链中的传播路径,智能推荐最小成本修复方案(如版本升级、补丁部署、组件替换),降低修复难度与成本。</p></div>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>实时风险感知</h6>
|
||||
<p>无需手动排查,在安全事件发生时,可快速定位受影响资产并推送预警信息,响应速度提升80%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 多维图谱标签页 -->
|
||||
<!-- 情报定制服务标签页 -->
|
||||
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">多维图谱</h4>
|
||||
<div class="l-desc">构建<strong>组件-版本-漏洞-厂商四层知识图谱</strong>,实现开源风险的关联分析与主动防御。</div>
|
||||
<h4 class="l-tit">情报定制</h4>
|
||||
<div class="l-desc">基于<strong>灵活订阅与API对接</strong>机制,提供情报订阅中心、深度分析报告、API数据对接等服务,可满足企业个性化威胁情报需求。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">关键防御点</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>依赖混淆攻击识别</h6>
|
||||
<p>实时检测私有包与公共仓库包的重名风险,识别攻击者利用依赖混淆发起的投毒攻击,从源头阻断攻击路径。</p></div>
|
||||
<div class="list-con"><h6>情报订阅中心</h6>
|
||||
<p>支持按CVE编号、组件PURL、厂商名称等维度订阅专属情报流,提供包含漏洞原理、PoC验证代码、补丁对比的深度分析报告。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>组件完整性校验</h6>
|
||||
<p>通过哈希值校验、数字签名验证等方式,确保下载与部署的组件未被篡改,防御中间人攻击与仓库投毒行为。</p></div>
|
||||
<div class="list-con"><h6>API数据对接</h6>
|
||||
<p>提供RESTful API接口,支持企业将漏洞库、投毒库数据集成至自研的DevOps或安全平台,实现无缝数据对接。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">主动拦截</h5>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>异常行为智能分析</h6>
|
||||
<p>对新增或变更组件进行深度行为画像,识别网络连接、敏感文件读写、系统命令执行等高风险操作,主动拦截后门与恶意组件植入。</p></div>
|
||||
<div class="list-con"><h6>灵活数据集成</h6>
|
||||
<p>无需重复开发,在现有安全平台基础上快速集成威胁情报,可通过API实现自动化数据同步,集成效率提升70%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 应急响应标签页 -->
|
||||
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">应急响应</h4>
|
||||
<div class="l-desc">基于<strong>智能分级与协同指挥</strong>机制,提供智能分级预警、应急处置指引、行业协同指挥等功能,可快速响应安全事件并形成闭环管理。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>智能分级预警</h6>
|
||||
<p>结合漏洞危害程度与资产重要性,自动生成红、橙、黄、蓝四级预警信号,提供"临时止血"(WAF规则)与"根源修复"(版本升级)双重应对方案。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>协同应急指挥</h6>
|
||||
<p>支持监管机构一键下发排查指令,并接收企业端的处置反馈,形成闭环管理,实现行业级协同应急响应。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>高效应急响应</h6>
|
||||
<p>无需人工研判,在安全事件发生后自动分级预警并提供处置方案,可协助监管机构统一指挥,应急响应时间缩短60%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -116,9 +146,10 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
const tabs = ref([
|
||||
{ title: '全景大屏' },
|
||||
{ title: '极速预警' },
|
||||
{ title: '多维图谱' },
|
||||
{ title: '智能标签' },
|
||||
{ title: '态势可视' },
|
||||
{ title: '情报定制' },
|
||||
{ title: '应急响应' },
|
||||
]);
|
||||
|
||||
const activeTab = ref(props.defaultTab);
|
||||
|
||||
@@ -14,27 +14,39 @@
|
||||
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🤖 智能修复</h4>
|
||||
<div class="l-desc">多智能体协同,**不仅发现漏洞,更自动生成修复补丁**。实现漏洞发现、分析、修复的闭环自动化。</div>
|
||||
<h4 class="l-tit">漏洞检测</h4>
|
||||
<div class="l-desc">基于AST语法树与CPG图构建技术,结合静态分析、动态增量分析、AI语义理解等多种检测手段,可自动化完成函数调用关系构建、漏洞精准定位与去重。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">自动化修复能力</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>自动补丁生成 (A-Patch)</h6>
|
||||
<p>基于代码语义分析和漏洞上下文,智能体自动生成可用于 Git Pull Request 的最小化修复补丁,无需手动编码。</p></div>
|
||||
<div class="list-con"><h6>函数调用图构建</h6>
|
||||
<p>基于AST语法树的函数调用图构建,支持RAG知识库、Agent工作流、AI工具集等代码检索工具,实现自底向上分析、函数索引全格式化。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>多版本兼容性验证</h6>
|
||||
<p>在生成补丁后,自动在目标组件的不同版本环境中进行兼容性测试,确保修复方案不会引入新的功能性缺陷。</p></div>
|
||||
<div class="list-con"><h6>项目CPG图构建</h6>
|
||||
<p>基于Joern的代码属性图构建,通过Joern环境初始化、CPG图构建、终端叶子节点获取、高风险函数排序等流程,提供完整的代码语义和控制流信息。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>漏洞扫描与验证</h6>
|
||||
<p>支持函数内嵌消除、基于CPG图查询漏洞点、污点风险点代码路径识别等功能,结合Agent智能体实现代码片段索引、污点分析、可达性分析等深度检测,提供大模型与形式化双重验证机制。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>加速安全合规</h6>
|
||||
<p>将安全漏洞的平均修复时间(MTTR)从数小时或数天缩短至分钟级别,极大提升 DevSecOps 流程的效率。</p></div>
|
||||
<div class="list-con"><h6>精准高效检测</h6>
|
||||
<p>无需人工逐行审计,在代码提交或构建阶段自动完成漏洞检测,可通过静态分析与大模型协同构建函数调用关系,检测准确率提升85%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>智能去重降噪</h6>
|
||||
<p>无需手动筛选重复告警,在漏洞检测完成后自动识别并合并重复漏洞,可将误报率降低70%,大幅提升安全团队工作效率。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>持续增量分析</h6>
|
||||
<p>无需全量重复扫描,在代码变更时仅处理变更部分及影响范围,可支持精准定位代码演进、持续更新缩环、快速迭代验证,检测速度提升60%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -43,27 +55,39 @@
|
||||
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🧠 精准识别</h4>
|
||||
<div class="l-desc">采用**多引擎联合检测**,漏洞检测准确率 **≥ 95%**,大幅降低误报干扰,提高开发人员信任度。</div>
|
||||
<h4 class="l-tit">漏洞修复</h4>
|
||||
<div class="l-desc">基于NVD数据库与多智能体协同修复技术,结合高质量评估数据集、测试环境构建、RAG知识库等能力,可自动化完成漏洞修复方案生成、验证与测试。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">多引擎检测机制</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>静态代码分析 (SAST)</h6>
|
||||
<p>从代码层面深入分析数据流和控制流,识别潜在的注入、越权等代码缺陷,覆盖 OWASP Top 10。</p></div>
|
||||
<div class="list-con"><h6>评估数据集构建</h6>
|
||||
<p>基于NVD数据库构建高质量评估数据集,涵盖漏洞项目、漏洞补丁、漏洞利用、测试套件等维度,支持测试环境构建、漏洞利用测试、补丁测试等全流程验证。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>动态安全测试 (DAST)</h6>
|
||||
<p>在运行时模拟外部攻击,验证应用程序对已知漏洞模式的抵抗能力,捕捉SAST遗漏的配置和环境问题。</p></div>
|
||||
<div class="list-con"><h6>多维漏洞知识提取与融合</h6>
|
||||
<p>通过软件漏洞特征多维漏洞知识提取与融合技术,整合全网、函数信息级、代码级、函数级、技术级等多层次知识,基于自注意力机制的漏洞行定位技术,保证漏洞知识相关性与可解释性。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>多智能体协同修复</h6>
|
||||
<p>基于RAG知识库的多智能体协同修复系统,包含漏洞修复智能体、供应链修复智能体、验证智能体、测试智能体等,支持记忆/决策、工具集、石线搜索工具、动态执行工具等协同工作。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">结果优化</h5>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>Taint-flow 路径追溯</h6>
|
||||
<p>可视化展示从污染源(Source)到危害点(Sink)的完整数据路径,提供高可信度的漏洞证据,避免误报困扰。</p></div>
|
||||
<div class="list-con"><h6>智能修复建议</h6>
|
||||
<p>无需人工编写修复代码,在漏洞检测完成后自动生成修复方案,可基于多维知识融合与大模型推理,修复准确率提升75%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>自动化验证测试</h6>
|
||||
<p>无需手动构建测试环境,在修复方案生成后自动完成漏洞利用测试与补丁验证,可确保修复方案不引入新问题,测试覆盖率达90%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>可解释性保障</h6>
|
||||
<p>无需担心黑盒修复风险,在修复过程中提供完整的知识溯源与决策路径,可清晰展示修复依据与影响范围,提升安全团队信任度。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -72,27 +96,80 @@
|
||||
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">💬 安全问答</h4>
|
||||
<div class="l-desc">集成**大规模语言模型(LLM)**,支持自然语言交互,快速解答代码安全、法律合规等复杂难题。</div>
|
||||
<h4 class="l-tit">知识问答</h4>
|
||||
<div class="l-desc">基于漏洞知识图谱构建与RAG检索增强技术,结合多Agent漏洞语义增强系统与COT指令集训练,可智能化回答安全领域专业问题,提供高质量、可解释的漏洞分析与修复建议。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">知识与交互</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>代码安全咨询</h6>
|
||||
<div class="list-con"><h6>漏洞数据实时更新</h6>
|
||||
<p>直接提问“这段 Go 语言代码是否存在 SQL 注入风险?”,即时获得分析结果、安全建议与修复示例。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>开源许可证合规查询</h6>
|
||||
<p>快速查询 GPL、MIT、Apache 等主流开源许可证的法律要求、限制和兼容性,避免潜在的法律风险。</p></div>
|
||||
<div class="list-con"><h6>漏洞知识图谱构建</h6>
|
||||
<p>针对每种漏洞类型,结合专业静态分析的漏洞底层知识提取技术,提取漏洞知识并构建知识图谱。基于大模型获取漏洞之间以及变量与补丁之间的联系,构建变量类型知识图谱。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>知识图谱增强检测</h6>
|
||||
<p>通过知识图谱的双阶段检测机制,分阶段检索知识图谱,获得漏洞与补丁知识,增强大模型漏洞检测能力。支持一阶段检测(漏洞节点、补丁节点)和二阶段检测(一阶段检测结果、补丁节点、知识图谱)。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">集成与赋能</h5>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>安全培训赋能</h6>
|
||||
<p>将问答系统集成到开发环境,作为实时安全导师,辅助初级开发者理解漏洞原理和最佳安全实践。</p></div>
|
||||
<div class="list-con"><h6>专业知识支撑</h6>
|
||||
<p>无需人工查阅大量文档,在遇到安全问题时可快速获取专业知识与修复建议,可基于知识图谱提供准确的漏洞分析,问答准确率达92%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>可解释性保障</h6>
|
||||
<p>无需担心黑盒推理风险,在回答问题时提供完整的推理链路与知识溯源,可清晰展示答案依据与相关漏洞知识,提升安全团队信任度。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>持续学习更新</h6>
|
||||
<p>无需手动维护知识库,在漏洞数据更新后自动增强知识图谱与模型能力,可持续跟踪最新安全威胁,知识覆盖率提升85%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">工具编排</h4>
|
||||
<div class="l-desc">基于上下文构建、项目CPG图构建、漏洞扫描与分析验证等技术流程,结合Agent智能体与多种安全分析工具,可自动化完成代码安全检测、漏洞定位与修复验证。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>上下文构建</h6>
|
||||
<p>基于用户问题驱动的上下文环境构建,通过用户查询理解、Agent记忆检索、相关代码文件提取、上下文环境构建等流程,为后续分析提供完整的代码上下文信息。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>项目CPG图构建</h6>
|
||||
<p>基于Joern的代码属性图构建技术,通过Joern环境初始化、CPG图构建、终端叶子节点获取、高风险函数排序等步骤,提供完整的代码语义和控制流信息。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>漏洞扫描与多工具协同</h6>
|
||||
<p>支持函数内嵌消除、基于CPG图查询漏洞点、污点风险点及漏洞路径识别等功能。集成静态分析工具、动态测试工具、符号执行工具等多种安全工具,支持工具链自动编排与结果融合。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>自动化工具编排</h6>
|
||||
<p>无需手动调用多个工具,在检测任务启动后自动选择合适的工具组合并编排执行流程,可根据代码特征智能调度工具,检测效率提升70%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>深度分析能力</h6>
|
||||
<p>无需人工构建分析环境,在代码提交后自动完成CPG图构建、污点分析、可达性分析等深度检测,可精准定位漏洞路径与风险点,分析准确率达88%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>智能结果融合</h6>
|
||||
<p>无需手动整合多工具结果,在检测完成后自动融合各工具输出并去重降噪,可生成统一的漏洞报告与修复建议,结果可用性提升80%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -113,9 +190,10 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
const tabs = ref([
|
||||
{ title: '智能修复' },
|
||||
{ title: '精准识别' },
|
||||
{ title: '安全问答' },
|
||||
{ title: '漏洞检测' },
|
||||
{ title: '漏洞修复' },
|
||||
{ title: '知识问答' },
|
||||
{ title: '工具编排' },
|
||||
]);
|
||||
|
||||
const activeTab = ref(props.defaultTab);
|
||||
|
||||
@@ -13,27 +13,27 @@
|
||||
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🔍 双模引擎</h4>
|
||||
<div class="l-desc">支持**源码(Source Code)及二进制文件(Binary)**的深度成分分析(SCA) 。实现组件资产的**无死角清点**。</div>
|
||||
<h4 class="l-tit">平台服务</h4>
|
||||
<div class="l-desc">提供用户友好的Web界面和API,支持项目管理、扫描任务配置、结果可视化和自定义报告。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">SCA 核心能力</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>源码级依赖解析</h6>
|
||||
<p>针对 Maven, npm, Go Modules 等项目,精确分析直接和间接依赖关系,构建完整的代码级软件物料清单(SBOM)。</p></div>
|
||||
<div class="list-con"><h6>平台展示及用户交互</h6>
|
||||
<p>提供用户友好的Web界面和API,支持项目管理、扫描任务配置、结果可视化和自定义报告。包括仪表盘、图表和交互式元素,帮助用户快速理解供应链风险。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>二进制指纹识别 (Binary Fingerprinting)</h6>
|
||||
<p>即使没有源代码,也能通过文件结构、符号表、熵分析等技术,识别出二进制文件和固件中所包含的开源组件。</p></div>
|
||||
<div class="list-con"><h6>数据管理</h6>
|
||||
<p>负责内部和外部数据的采集、存储、清洗和更新,包括漏洞数据、组件信息、许可证文本和恶意代码特征。支持数据版本控制和一致性检查,确保数据准确性与时效性。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>兼容复杂交付场景</h6>
|
||||
<p>完美适配黑盒交付、固件分析等场景,确保在**缺乏源码**或**供应链中间环节**也能对组件风险进行全面审计。</p></div>
|
||||
<div class="list-con"><h6>高效管理</h6>
|
||||
<p>通过直观的界面和强大的API,实现项目的高效管理和数据的准确维护,提升整体工作效率。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,56 +42,86 @@
|
||||
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">📜 合规落地</h4>
|
||||
<div class="l-desc">**一键生成符合国家标准的 SBOM 清单** ,支持开源许可证检测,助力企业快速满足法规和行业要求。</div>
|
||||
<h4 class="l-tit">成分分析</h4>
|
||||
<div class="l-desc">覆盖主流包管理器(npm、PyPI、Maven等)、C/C++项目及二进制文件,全面识别组件、版本及潜在风险,输出标准化SBOM报告。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">SBOM 与标准输出</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>多格式标准支持</h6>
|
||||
<p>支持 CycloneDX、SPDX 等国际标准格式,同时兼容《软件物料清单(SBOM)技术要求》等国家标准。</p></div>
|
||||
<div class="list-con"><h6>全面成分识别</h6>
|
||||
<p>支持包管理器、C/C++项目及二进制文件的成分分析,通过依赖引擎、代码相似度检测、反编译与特征匹配等技术,自动识别组件、版本及潜在风险。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>关键信息深度采集</h6>
|
||||
<p>SBOM 清单包含组件名称、版本、哈希值、依赖关系、许可证信息及关联的已知漏洞(CVE)等全维度数据。</p></div>
|
||||
<div class="list-con"><h6>特征检索与版本推断</h6>
|
||||
<p>基于TF-IDF特征检索技术,通过特征签名和组件召回模型全面匹配,从复杂依赖关系中精准定位版本来源,输出标准化SBOM格式化报告。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">许可证合规管理</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>GPL 传染性风险评估</h6>
|
||||
<p>自动识别具有强传染性风险的许可证,并标记其在依赖链中的位置,辅助法务和开发团队制定合规策略。</p></div>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>深度依赖分析</h6>
|
||||
<p>支持多层级依赖关系分析,完整呈现软件供应链全貌,帮助企业快速定位潜在安全隐患与合规风险。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
|
||||
|
||||
<div class="tab-con con5 wow animated" v-show="activeTab === 2" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🚀 高效检测</h4>
|
||||
<div class="l-desc">**标准场景检测耗时 ≤ 30分钟**,具备线性扩展能力,快速适配 CI/CD 流水线 ,实现安全左移。</div>
|
||||
<h4 class="l-tit">安全检测</h4>
|
||||
<div class="l-desc">综合多个数据源和引擎结果,检测供应链中的安全漏洞,并提供修复建议和优先级排序。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">集成与性能</h5>
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>DevSecOps 无缝集成</h6>
|
||||
<p>提供 Jenkins, GitLab, GitHub Actions 等主流 CI/CD 工具链的插件和 API 接口,实现自动化安全扫描。</p></div>
|
||||
<div class="list-con"><h6>供应链漏洞检测</h6>
|
||||
<p>综合多个数据源和引擎结果,检测供应链中的安全漏洞,并提供修复建议和优先级排序。支持漏洞影响范围分析与风险评估。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>增量扫描优化</h6>
|
||||
<p>在非首次扫描时,仅对变更的代码和依赖进行检测,将平均检测时间进一步缩短至数分钟。</p></div>
|
||||
<div class="list-con"><h6>恶意代码检测</h6>
|
||||
<p>集成恶意代码扫描功能,通过特征码和行为分析识别供应链中的恶意组件。支持投毒攻击检测与异常行为分析。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">部署优势</h5>
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico3"></i>
|
||||
<div class="list-con"><h6>高并发与可扩展性</h6>
|
||||
<p>基于微服务和容器化架构设计,轻松应对大规模代码仓库和高并发的扫描请求,支持私有化部署。</p></div>
|
||||
<div class="list-con"><h6>精准漏洞检测</h6>
|
||||
<p>在成分分析完成后自动匹配已知漏洞并评估风险等级,可提供修复建议与优先级排序,漏洞检出率提升90%以上。</p></div>
|
||||
</div>
|
||||
<div class="list-item"><i class="ICO ico4"></i>
|
||||
<div class="list-con"><h6>恶意代码防护</h6>
|
||||
<p>在组件引入前自动检测恶意代码与异常行为,可识别后门、木马等安全威胁,恶意组件检出率提升85%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-con con6 wow animated" v-show="activeTab === 3" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">许可证合规</h4>
|
||||
<div class="l-desc">分析软件组件的许可证信息,检查兼容性和合规性,避免法律冲突。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-r">
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">核心能力</h5>
|
||||
<div class="list-item"><i class="ICO ico1"></i>
|
||||
<div class="list-con"><h6>许可证兼容性检测</h6>
|
||||
<p>分析软件组件的许可证信息,检查兼容性和合规性,避免法律冲突。支持多种开源许可证识别与冲突检测。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-list">
|
||||
<h5 class="list-tit">价值体现</h5>
|
||||
<div class="list-item"><i class="ICO ico2"></i>
|
||||
<div class="list-con"><h6>合规性保障</h6>
|
||||
<p>在组件识别后自动检测许可证兼容性与合规性问题,可避免法律风险与开源协议冲突,合规检测覆盖率达98%以上。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -112,9 +142,10 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
const tabs = ref([
|
||||
{ title: '双模引擎' },
|
||||
{ title: '合规落地' },
|
||||
{ title: '高效检测' },
|
||||
{ title: '平台服务' },
|
||||
{ title: '成分分析' },
|
||||
{ title: '安全检测' },
|
||||
{ title: '许可证合规' },
|
||||
]);
|
||||
|
||||
const activeTab = ref(props.defaultTab);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🔍 极速扫描服务</h4>
|
||||
<h4 class="l-tit">极速扫描</h4>
|
||||
<div class="l-desc">百万级样本秒级初筛能力,支持海量应用快速筛查,检测准确率高达99%。</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🔬 深度分析服务</h4>
|
||||
<h4 class="l-tit">深度分析</h4>
|
||||
<div class="l-desc">精准定位恶意逻辑核心,可视化展示攻击路径,分析准确率达88%以上。</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,7 +87,7 @@
|
||||
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🛡️ 持续免疫服务</h4>
|
||||
<h4 class="l-tit">持续免疫</h4>
|
||||
<div class="l-desc">自适应进化检测模型,秒级响应恶意变种,支持跨平台识别演进。</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -124,7 +124,7 @@
|
||||
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
|
||||
<div class="item-l">
|
||||
<div class="l-txt">
|
||||
<h4 class="l-tit">🌐 威胁情报服务</h4>
|
||||
<h4 class="l-tit">威胁情报</h4>
|
||||
<div class="l-desc">强调Zero-day预警、家族溯源、全球态势、498+31个恶意软件挖掘实绩。</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -173,10 +173,10 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
const tabs = ref([
|
||||
{ title: '极速扫描服务' },
|
||||
{ title: '深度分析服务' },
|
||||
{ title: '持续免疫服务' },
|
||||
{ title: '威胁情报服务' },
|
||||
{ title: '极速扫描' },
|
||||
{ title: '深度分析' },
|
||||
{ title: '持续免疫' },
|
||||
{ title: '威胁情报' },
|
||||
]);
|
||||
|
||||
const activeTab = ref(props.defaultTab);
|
||||
|
||||
Reference in New Issue
Block a user