import {
Table,
TableBody,
TableCell,
TableContainer,
TableHead,
TableRow,
Box,
Collapse,
ListItem,
ListItemIcon,
ListItemText,
alpha,
Typography,
} from "@mui/material";
import React, { useState } from "react";
import ExpandLess from "@mui/icons-material/ExpandLess";
import ExpandMore from "@mui/icons-material/ExpandMore";
import Icon from "@/components/Icon";
const Support = () => {
return (
);
};
const NotSupport = () => {
return -;
};
const Illustrate = ({ text }: { text: string }) => {
return {text};
};
const versions = [
{ title: '社区版', key: 'experience', width: '33%' },
// { title: '专业版', key: 'major', width: '25%' },
{ title: '企业版', key: 'basics', width: '33%' },
]
const colors = ['light', 'main'] // 'lighter',
const FunctionTable = () => {
const [open, setOpen] = useState([
"安全防护",
"统计分析",
"系统管理",
"部署形态",
"服务",
]);
const cells = [
{
title: "安全防护",
data: [
{
name: "智能语义分析检测",
experience: , // 社区版
major: , // 专业版
basics: , // 企业版
},
{
name: "简单规则特征库检测",
experience: ,
major: ,
basics: ,
},
{
name: "频率限制 / CC 攻击防护",
experience: ,
major: ,
basics: ,
},
{
name: "自定义黑白名单",
experience: ,
major: ,
basics: ,
},
{
name: "人机验证",
experience: ,
major: ,
basics: ,
},
{
name: "基础 API 采集",
experience: ,
major: ,
basics: ,
},
{
name: "威胁情报",
experience: ,
major: ,
basics: ,
},
{
name: "高级 Bot 防护、API 防护",
experience: ,
major: ,
basics: ,
},
{
name: "网页防篡改",
experience: ,
major: ,
basics: ,
},
{
name: "灵活可编程插件",
experience: ,
major: ,
basics: ,
},
{
name: "精细化引擎调节",
experience: ,
major: ,
basics: ,
},
],
},
{
title: "统计分析",
data: [
{
name: "基础统计图表",
tip: "",
experience: ,
major: ,
basics: ,
},
{
name: "高级统计分析与报告",
experience: ,
major: ,
basics: ,
},
{
name: "实时可视化大屏",
experience: ,
major: ,
basics: ,
},
],
},
{
title: "系统管理",
data: [
{
name: "多设备集中管理",
tip: "",
experience: ,
major: ,
basics: ,
},
{
name: "多租户管理",
experience: ,
major: ,
basics: ,
},
{
name: "安全合规与审计",
experience: ,
major: ,
basics: ,
},
],
},
{
title: "部署形态",
data: [
{
name: "反向代理接入",
experience: ,
major: ,
basics: ,
},
{
name: "旁路、透明代理、路由等复杂接入方式",
experience: ,
major: ,
basics: ,
},
{
name: "集群式可扩展部署",
experience: ,
major: ,
basics: ,
},
{
name: "负载均衡",
experience: ,
major: ,
basics: ,
},
{
name: "紧急模式 / Bypass",
experience: ,
major: ,
basics: ,
},
{
name: "硬件形态交付",
experience: ,
major: ,
basics: ,
},
{
name: "高可用 / HA",
experience: ,
major: ,
basics: ,
},
],
},
{
title: "服务",
data: [
{
name: "专业技术支持服务",
experience: ,
major: ,
basics: ,
},
{
name: "漏洞应急服务",
experience: ,
major: ,
basics: ,
},
{
name: "产品销售许可证",
experience: ,
major: ,
basics: ,
},
{
name: "定制化",
experience: ,
major: ,
basics: ,
},
],
},
];
const handleClick = (id: string) => {
if (open?.includes(id)) {
const udpateOpen = [...open];
udpateOpen.splice(open?.indexOf(id), 1);
setOpen([...udpateOpen]);
} else {
setOpen((open) => [...open, id]);
}
};
return (
<>
{versions.map((item, index) => (
({
display: "flex",
justifyContent: "center",
alignItems: "center",
width: "100%",
height: "40px",
borderRadius: "4px",
color: theme.palette.common.white,
backgroundColor: theme.palette.primary[colors[index] as 'main' | 'light'],
})}
>
{item.title}
))}
{cells?.map((data) => (
handleClick(data?.title)}
sx={{
backgroundColor: "#EFF1F8",
borderRadius: "4px",
cursor: "pointer",
pl: 6,
}}
>
{open?.includes(data?.title) ? : }
{data.data.map((item) => (
{item.name}
{versions.map((v, index) => (
{item[v.key as 'experience' | 'major' | 'basics']}
))}
))}
))}
>
);
};
export default FunctionTable;