This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cyber-narrator-cn-ui/src/utils/constants.js

1281 lines
175 KiB
JavaScript
Raw Normal View History

2021-06-11 10:00:22 +08:00
export const defaultPageSize = 20
2022-08-19 10:06:27 +08:00
export const dbName = 'cn-db'
export const dbGeoDataTableName = 'geodata'
export const dbDrilldownTableConfig = 'cn-drilldown-table-config'
export const storageKey = {
2021-07-05 17:40:43 +08:00
iso36112Capital: 'cn-iso3611-2-capital',
iso36112WorldLow: 'cn-iso3611-2-world-low',
i18n: 'cn-i18n',
s3Enable: 'cn-s3-enable',
languages: 'cn-languages',
language: 'cn-language',
theme: 'cn-theme',
dateFormat: 'cn-date-format',
timezoneOffset: 'cn-timezone-offset',
timezoneLocalOffset: 'cn-timezone-local-offset',
token: 'cn-token',
username: 'cn-username',
2022-08-04 12:03:15 +08:00
userId: 'cn-userId',
sysName: 'cn-sys-name',
sysLogo: 'cn-sys-logo',
pageSize: 'cn-pageSize',
sysTimezone: 'cn-sys-timezone',
tableTitle: 'cn-tableTitle',
dataRangeHistory: 'date-range-history',
tableTitlePrefix: 'cn-table-title',
tablePageSizePrefix: 'cn-page-size',
leftMenuShrink: 'cn-left-menu-shrink',
2022-01-26 17:44:24 +08:00
unsavedChange: 'cn-unsaved-change',
entitySearchHistory: 'cn-entity-search-history',
echartLegendFontSize: 'echartLegendFontSize',
echartLabelFontSize: 'echartLabelFontSize',
tokenExpireCurrentPath: 'token-expire-current-path',
drillDownTableConfig: 'cn-drill-down-table-config',
2022-09-26 10:07:21 +08:00
userCustomizationConfig: 'userCustomizationConfig',
linkInfo: 'cn-link-info',
history: 'cn-history'
}
2022-08-19 10:06:27 +08:00
export const largeCountryList = ['CN', 'US', 'RU', 'AU', 'CA', 'KZ', 'IN', 'BR']
2021-06-11 10:00:22 +08:00
// 统一定义跳转来源
export const fromRoute = {
trafficSummary: 'trafficSummary',
2021-06-11 23:00:33 +08:00
networkAppPerformance: 'networkAppPerformance',
dnsServiceInsights: 'dnsServiceInsights',
2021-09-02 17:12:27 +08:00
user: 'user',
galaxyProxy: 'galaxyProxy',
2021-12-03 09:47:37 +08:00
chart: 'chart',
cryptocurrency: 'cryptocurrency',
builtinReport: 'builtinReport'
2021-06-11 10:00:22 +08:00
}
/* panel类别和名称之间的映射 */
2021-06-11 23:00:33 +08:00
export const panelTypeAndRouteMapping = {
2022-07-06 21:08:12 +08:00
networkOverview: 1,
2021-06-11 23:00:33 +08:00
networkAppPerformance: 2,
2021-08-02 13:22:15 +08:00
dnsServiceInsights: 3,
ipEntityDetail: 4,
2021-08-02 13:22:15 +08:00
domainEntityDetail: 5,
2021-12-03 09:47:37 +08:00
appEntityDetail: 6,
2022-08-11 15:49:41 +08:00
cryptocurrency: 7,
2022-09-10 23:13:42 +08:00
ipDrillDownTest: 8,
2022-09-13 14:51:44 +08:00
linkMonitor: 14,
linkMonitorDrillDown: 15
2021-06-11 23:00:33 +08:00
}
2021-10-24 20:23:24 +08:00
/* operationLog state 执行状态属性 值与名称之间的映射 */
export const operationLogStateMapping = {
success: 1,
fail: 0
}
2021-06-11 10:00:22 +08:00
export const position = {
tableHeight: {
normal: 'calc(100% - 48px)' // 常规高度,特例在下方定义
}
}
2021-06-21 20:33:39 +08:00
2021-07-07 22:58:52 +08:00
export const entityType = {
2021-11-09 14:03:40 +08:00
app: 'APP',
2021-07-07 22:58:52 +08:00
domain: 'Domain',
2021-11-09 14:03:40 +08:00
ip: 'IP'
2021-07-07 22:58:52 +08:00
}
export const echartsFontSize = {
legendFirstFontSize: 12, // <1920
legendSecondFontSize: 14, // >=1920 && <2560
legendThirdFontSize: 16, // >=2560
labelFirstFontSize: 12, // <1920
labelSecondFontSize: 12, // >=1920 && <2560
labelThirdFontSize: 14// >=2560
}
export const unitTypes = {
time: 'time',
number: 'number',
byte: 'byte',
2022-04-06 14:48:46 +08:00
bps: 'bps',
string: 'string',
percent: 'percent'
}
2021-06-21 20:33:39 +08:00
export const chartTableDefaultPageSize = 10 // table类型图表默认每页数据量
export const chartTableTopOptions = [10, 100] // table类型图表的TOP-N选项
export const chartActiveIpTableOrderOptions = ['machine'] // active ip table类型图表的order 选项
// table类型图表column映射
export const chartTableColumnMapping = {
sessions: 'overall.sessions',
packets: 'overall.packets',
bytes: 'overall.bytes',
clientIp: 'overall.clientIp',
serverIp: 'overall.serverIp',
domain: 'overall.domain',
appName: 'overall.appName',
2022-03-31 16:44:16 +08:00
dnsQname: 'QName',
queryRate: 'dns.queryRate',
2022-03-07 16:15:55 +08:00
queryCount: 'dns.queryCount',
dnsLatency: 'dns.averageResolveLatency',
2022-04-06 22:31:06 +08:00
responseFailRate: 'dns.responseFailureRate',
ip: 'IP'
}
export const chartTableOrderOptionsMapping = {
lastTime: 'last_time'
}
2022-01-16 23:16:00 +08:00
export const chartPieTableTopOptions = [
{ name: 'Sessions', value: 'sessions' },
{ name: 'Packets', value: 'packets' },
{ name: 'Bytes', value: 'bytes' }
]
export const riskLevelMapping = [
{ name: 'Trustworthy', value: 1 },
{ name: 'Low Risk', value: 2 },
{ name: 'Moderate Risk', value: 3 },
{ name: 'Suspicious', value: 4 },
{ name: 'High Risk', value: 5 }
]
2022-02-22 22:22:15 +08:00
export const eventSeverity = {
critical: 'critical',
high: 'high',
medium: 'medium',
low: 'low',
info: 'info'
}
export const eventSeverityColor = {
critical: '#D84C4C',
high: '#FE845D',
medium: '#FFB65A',
low: '#FFD82D',
info: '#D1BD50'
}
export const securityType = {
commandAndControl: 'common and control',
payloadDelivery: 'payload delivery',
cryptomining: 'cryptomining',
phishing: 'phishing',
dga: 'dga',
ddos: 'ddos'
}
export const detectionPageType = {
securityEvent: 'securityEvent',
performanceEvent: 'performanceEvent'
}
export const listScrollPath = [
'/entityExplorer',
'/detection/performanceEvent',
'/detection/securityEvent'
]
/*
export const networkOverviewTabs = [
'network.ips',
'network.countries',
'network.asns',
'network.applications',
'network.providers',
'network.domains',
'network.protocols',
'network.idcTenants',
'network.provinces',
'network.cities',
'network.isps',
'network.applicationCategories',
'network.domainCategories',
'network.hosts',
'network.snis',
'network.protocolPorts'
] */
export const operationType = {
mainMenu: 0, // 菜单
secondMenu: 2, // 二级菜单
thirdMenu: 3, // 三级菜单
fourthMenu: 4, // 四级菜单:点击顶部第四级菜单 OR 点击表格的第一列的值
changeTab: 5, // 切换tab
changeMetric: 6, // 切换metric
customize: 7// 操作Customize
}
/*
export const networkOverviewTableUrlName = {
ips: 'ips',
countries: 'countries',
asns: 'asns',
applications: 'applications',
providers: 'providers',
domains: 'domains',
protocols: 'protocols',
idcTenants: 'idcTenants',
provinces: 'provinces',
cities: 'cities',
isps: 'isps',
applicationCategories: 'applicationCategories',
domainCategories: 'domainCategories',
hosts: 'hosts',
snis: 'snis',
protocolPorts: 'protocolPorts'
} */
// 列的类型:下钻列,环比列,普通列
export const tableColumnType = {
dillDown: 'dillDown',
chainRatio: 'chainRatio',
2022-10-09 08:24:07 +08:00
percent: 'percent', // percent类型的列需要2个属性计算百分比
normal: 'normal'
}
// networkOverview:接口url主URL
export const networkOverviewSearchUrl = {
curUrl: '/interface/overview/dimensionTrafficAnalysis',
cycleUrl: '/interface/overview/dimensionCycleTrafficAnalysis',
drilldownCurUrl: '/interface/overview/drilldown/dimensionTrafficAnalysis',
drilldownCycleUrl: '/interface/overview/drilldown/dimensionCycleTrafficAnalysis',
drilldownList: '/interface/overview/drilldown/list'
}
// npm:接口url主URL
export const npmSearchUrl = {
curUrl: '/interface/application/performance/overview/dimensionTrafficAnalysis',
cycleUrl: '/interface/application/performance/overview/dimensionCycleTrafficAnalysis',
drilldownCurUrl: '/interface/application/performance/overview/drilldown/dimensionTrafficAnalysis',
drilldownCycleUrl: '/interface/application/performance/overview/drilldown/dimensionCycleTrafficAnalysis',
drilldownList: '/interface/overview/drilldown/list'
}
// dns:接口url主URL
export const dnsSearchUrl = {
curUrl: '/interface/dns/overview/dimensionAnalysis',
cycleUrl: '/interface/dns/overview/dimensionCycleAnalysis',
drilldownCurUrl: '/interface/dns/overview/drilldown/dimensionAnalysis',
drilldownCycleUrl: '/interface/dns/overview/drilldown/dimensionCycleAnalysis',
drilldownList: '/interface/dns/overview/drilldown/list'
}
export const cycle = {
current: 0,
pre: 1
}
export const curTabState = {
curTab: 'curTab',
tableMetric: 'tableMetric',
tableShowMore: 'tableShowMore',
tableSortColumn: 'tableSortColumn',
tableSortType: 'tableSortType',
tableSortTab: 'tableSortTab',
queryCondition: 'queryCondition',
dimensionType: 'dimensionType', // 纬度
panelName: 'panelName',
thirdMenu: 'thirdMenu',
fourthMenu: 'fourthMenu',
2022-09-23 19:01:30 +08:00
thirdPanel: 'thirdPanel',
fourthPanel: 'fourthPanel',
networkOverviewBeforeTab: 'networkOverviewBeforeTab',
2022-09-23 19:01:30 +08:00
tabOperationType: 'tabOperationType',
tabOperationBeforeType: 'tabOperationBeforeType'
}
export const scoreUrl = [
'/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
'/interface/application/performance/overview/drilldown/dimensionSslConDelay',
'/interface/application/performance/overview/drilldown/dimensionHttpResponseDelay'
]
// AppPerformance类型表格的列有属性cycleDataUrl的代表此数据的来源为对应接口返回的数据无cycleDataUrl的属性代表数据来源于主urlnpmSearchUrl.curUrl、npmSearchUrl.cycleUrl、npmSearchUrl.drilldownCurUrl、npmSearchUrl.drilldownCycleUrl
export const customTableTitlesForAppPerformance = [
{ label: 'network.ips', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
{ label: 'network.score', prop: 'score', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{
label: 'networkAppPerformance.throughput',
prop: 'through',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: npmSearchUrl.cycleUrl,
isInMainUrl: true
}, // 此字段当前周期的数据是否在主URL中npmSearchUrl中的URL为主URL
{
label: 'networkAppPerformance.tcpConnectionEstablishLatency',
prop: 'tcpConEstLatency',
dillDownProp: 'establishLatencyMs',
dillDownCycleProp: 'establishLatencyMs',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionTcpSessionDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 0,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetLoss',
prop: 'packetLoss',
dillDownProp: 'tcpLostlenPercent',
dillDownCycleProp: 'tcpLostlenPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionTcpLostlenPercent',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 3,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.packetRetrans',
prop: 'packetRetrans',
dillDownProp: 'pktRetransPercent',
dillDownCycleProp: 'pktRetransPercent',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionPacketRetransPercent',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionTcpSessionDelay',
cycle: cycle.pre,
scoreType: 4,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.sslResponseLatency',
prop: 'sslResponseLatency',
dillDownProp: 'sslConLatency',
dillDownCycleProp: 'sslConLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionSslConDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionSslConDelay',
cycle: cycle.pre,
scoreType: 2,
isScoreColumn: true,
isInMainUrl: false
},
{
label: 'networkAppPerformance.httpResponseLatency',
prop: 'httpResponseLatency',
dillDownProp: 'httpResponseLatency',
dillDownCycleProp: 'httpResponseLatency',
checked: false,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: '/interface/application/performance/overview/dimensionHttpResponseDelay',
dillDownCycleDataUrl: '/interface/application/performance/overview/drilldown/dimensionHttpResponseDelay',
cycle: cycle.pre,
scoreType: 1,
isScoreColumn: true,
isInMainUrl: false
}
]
export const customTableTitlesForDns = [
{ label: 'dns.dnsServer', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
2022-10-09 08:24:07 +08:00
{
label: 'dns.queries',
prop: 'queryRate',
checked: true,
tabColumn: true,
columnType: tableColumnType.chainRatio,
isInMainUrl: true,
cycleDataUrl: dnsSearchUrl.cycleUrl
},
{ label: 'dns.queriesFromIE', prop: 'totalInExNum', checked: true, tabColumn: true, columnType: tableColumnType.percent },
{ label: 'dns.dnsResponseTime', prop: 'dnsResponseLatencyAvg', checked: true, tabColumn: true, columnType: tableColumnType.normal },
{ label: 'overall.throughput', prop: 'totalBytes', checked: true, tabColumn: true, columnType: tableColumnType.normal }
]
// NetworkOverview类型表格的列:prop 为接口响应数据中的属性名
export const customTableTitlesForNetworkOverview = [
{ label: 'network.ips', prop: 'tab', checked: true, tabColumn: true, columnType: tableColumnType.dillDown },
{
label: 'network.total',
prop: 'total',
checked: true,
tabColumn: false,
columnType: tableColumnType.chainRatio,
cycleDataUrl: networkOverviewSearchUrl.cycleUrl,
isInMainUrl: true
},
{ label: 'network.inbound', prop: 'inbound', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.outbound', prop: 'outbound', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.internal', prop: 'internal', checked: true, tabColumn: false, columnType: tableColumnType.normal },
{ label: 'network.through', prop: 'through', checked: true, tabColumn: false, columnType: tableColumnType.normal }
]
/* panel类别和名称之间的映射 */
export const drillDownPanelTypeMapping = {
npmOverviewIp: 8,
npmOverviewDomain: 9,
npmOverviewApp: 10,
npmOverviewCommon: 11,
npmThirdMenu: 12,
networkOverview: 13,
linkMonitor: 15,
dnsFourthMenu: 16,
dnsThirdMenu: 17
}
export const networkOverviewTabList = [
{
label: 'network.ips',
prop: 'ip',
queryCycleTotalProp: 'ips',
dillDownProp: ['common_client_ip', 'common_server_ip'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['client_country', 'server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.asns',
prop: 'asn',
queryCycleTotalProp: 'asns',
dillDownProp: ['client_asn', 'server_asn'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.applications',
prop: 'appLabel',
queryCycleTotalProp: 'applications',
dillDownProp: ['common_app_label'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.providers',
prop: 'appCompany',
queryCycleTotalProp: 'providers',
dillDownProp: ['app_company'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.domains',
prop: 'domain',
queryCycleTotalProp: 'domains',
dillDownProp: ['domain'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.protocols',
prop: 'l7Protocol',
queryCycleTotalProp: 'protocols',
dillDownProp: ['common_l7_protocol'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.idcTenants',
prop: 'idcRenter',
queryCycleTotalProp: 'idcTenants',
dillDownProp: ['client_idc_renter', 'server_idc_renter'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.provinces',
prop: 'province',
queryCycleTotalProp: 'provinces',
dillDownProp: ['client_province', 'server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
dillDownProp: ['client_region', 'server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.isps',
prop: 'isp',
queryCycleTotalProp: 'isps',
dillDownProp: ['client_isp', 'server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.applicationCategories',
prop: 'appSubcategory',
queryCycleTotalProp: 'applicationCategories',
dillDownProp: ['app_subcategory'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.domainCategories',
prop: 'domainCategoryName',
queryCycleTotalProp: 'domainCategories',
dillDownProp: ['domain_category_name'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.hosts',
prop: 'httpHost',
queryCycleTotalProp: 'hosts',
dillDownProp: ['http_host'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.snis',
prop: 'sslSni',
queryCycleTotalProp: 'snis',
dillDownProp: ['ssl_sni'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}, {
label: 'network.protocolPorts',
prop: 'protocolPort',
queryCycleTotalProp: 'protocolports',
dillDownProp: ['common_l7_protocol', 'common_server_port '],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.networkOverview
}
]
export const networkAppPerformanceTabList = [
{
label: 'network.ips', // tab名称对应的il8n
prop: 'ip', // 接口返回数据中tab第一列对应的属性名
queryCycleTotalProp: 'ips', // SQL中查询不同纬度的列名称
dillDownProp: ['common_client_ip', 'common_server_ip'], // 下钻时传递的查询条件即接口的q参数
checked: true, // 自定义设置中,是否默认选中
disabled: false, // 自定义设置中,是否可操作(选中或取消选中)
panelId: drillDownPanelTypeMapping.npmOverviewIp// 下钻后展示的panelId
}, {
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['client_country', 'server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.asns',
prop: 'asn',
queryCycleTotalProp: 'asns',
dillDownProp: ['client_asn', 'server_asn'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.applications',
prop: 'appLabel',
queryCycleTotalProp: 'applications',
dillDownProp: ['common_app_label'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewApp
}, {
label: 'network.providers',
prop: 'appCompany',
queryCycleTotalProp: 'providers',
dillDownProp: ['app_company'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.domains',
prop: 'domain',
queryCycleTotalProp: 'domains',
dillDownProp: ['domain'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewDomain
}, {
label: 'network.protocols',
prop: 'l7Protocol',
queryCycleTotalProp: 'protocols',
dillDownProp: ['common_l7_protocol'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.idcTenants',
prop: 'idcRenter',
queryCycleTotalProp: 'idcTenants',
dillDownProp: ['client_idc_renter', 'server_idc_renter'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.provinces',
prop: 'province',
queryCycleTotalProp: 'provinces',
dillDownProp: ['client_province', 'server_province'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
dillDownProp: ['client_region', 'server_region'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.isps',
prop: 'isp',
queryCycleTotalProp: 'isps',
dillDownProp: ['client_isp', 'server_isp'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.applicationCategories',
prop: 'appSubcategory',
queryCycleTotalProp: 'applicationCategories',
dillDownProp: ['app_subcategory'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.domainCategories',
prop: 'domainCategoryName',
queryCycleTotalProp: 'domainCategories',
dillDownProp: ['domain_category_name'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.hosts',
prop: 'httpHost',
queryCycleTotalProp: 'hosts',
dillDownProp: ['http_host'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.snis',
prop: 'sslSni',
queryCycleTotalProp: 'snis',
dillDownProp: ['ssl_sni'],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}, {
label: 'network.protocolPorts',
prop: 'protocolPort',
queryCycleTotalProp: 'protocolports',
dillDownProp: ['common_l7_protocol', 'common_server_port '],
checked: false,
disabled: false,
panelId: drillDownPanelTypeMapping.npmOverviewCommon
}
]
export const dnsServiceInsightsTabList = [
{
label: 'dns.dnsServer', // tab名称对应的il8n
prop: 'dnsServer', // 接口返回数据中tab第一列对应的属性名
queryCycleTotalProp: 'dnsServer', // SQL中查询不同纬度的列名称
2022-10-09 08:24:07 +08:00
dillDownProp: ['common_server_ip'], // 下钻时传递的查询条件即接口的q参数
checked: true, // 自定义设置中,是否默认选中
disabled: false, // 自定义设置中,是否可操作(选中或取消选中)
panelId: drillDownPanelTypeMapping.dnsFourthMenu// 下钻后展示的panelId
},
{
label: 'network.countries',
prop: 'country',
queryCycleTotalProp: 'countries',
dillDownProp: ['server_country'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'network.cities',
prop: 'city',
queryCycleTotalProp: 'cities',
2022-10-09 08:24:07 +08:00
dillDownProp: ['server_region'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerIsps',
prop: 'dnsServerIsp',
queryCycleTotalProp: 'isps',
dillDownProp: ['server_isp'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerOrganizations',
prop: 'dnsServerOrganization',
queryCycleTotalProp: 'orgs',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_server_org'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'dns.dnsServerRoles',
prop: 'dnsServerRole',
queryCycleTotalProp: 'roles',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_server_role'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'QNames',
prop: 'dnsServerRole',
queryCycleTotalProp: 'qnames',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'SLDs',
prop: 'sld',
queryCycleTotalProp: 'slds',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'TLDs',
prop: 'tld',
queryCycleTotalProp: 'tlds',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qname'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'QTypes',
prop: 'qtype',
queryCycleTotalProp: 'qtypes',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_qtype'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'RCodes',
prop: 'rcode',
queryCycleTotalProp: 'rcodes',
2022-10-09 08:24:07 +08:00
dillDownProp: ['dns_rcode'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'A',
prop: 'a',
queryCycleTotalProp: 'a',
dillDownProp: ['rr_a'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'AAAA',
prop: 'aaaa',
queryCycleTotalProp: 'aaaa',
dillDownProp: ['rr_aaaa'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
},
{
label: 'CNames',
prop: 'cname',
queryCycleTotalProp: 'cnames',
dillDownProp: ['rr_cname'],
checked: true,
disabled: false,
panelId: drillDownPanelTypeMapping.dnsFourthMenu
}
]
// 用于组织数据时的名称,对应的属性名称
export const bytesColumnNameGroupForNpm = {
through: 'throughBitsRate',
tcpConEstLatency: 'establishLatencyMs',
packetLoss: 'tcpLostlenPercent',
packetRetrans: 'pktRetransPercent',
sslResponseLatency: 'sslConLatency',
httpResponseLatency: 'httpResponseLatency'
}
2022-10-09 08:24:07 +08:00
export const bytesCycleColumnNameGroupForNmp = {
through: 'throughBitsRate'
}
// 用于组织数据时的名称,对应的属性名称
export const bytesColumnNameGroupForDns = {
queryRate: 'queryRate',
totalInExNum: 'totalInternalQueryNum,totalExternalQueryNum',
dnsResponseLatencyAvg: 'dnsResponseLatencyAvg',
totalBytes: 'totalBytes'
}
export const bytesCycleColumnNameGroupForDns = {
queryRate: 'queryRate'
}
// networkOverview 当前周期返回数据对应的属性名称(与上一周期中的属性名称不一致,total,之所以写在这里是因为有bytepacketssessions3种如果只有一种可以直接写在customTableTitlesForAppPerformance
export const bytesColumnNameGroup = {
total: 'bytesTotalRate',
inbound: 'inboundBitsRate',
outbound: 'outboundBitsRate',
internal: 'internalBitsRate',
through: 'throughBitsRate'
}
export const packetsColumnNameGroup = {
total: 'packetsTotalRate',
inbound: 'inboundPacketsRate',
outbound: 'outboundPacketsRate',
internal: 'internalPacketsRate',
through: 'throughPacketsRate'
}
export const sessionsColumnNameGroup = {
total: 'sessionsRate'
}
export const bytesCycleColumnNameGroup = {
total: 'bytesRate'
}
export const packetsCycleColumnNameGroup = {
total: 'packetsRate'
}
export const sessionsCycleColumnNameGroup = {
total: 'sessionsRate'
}
// 不同表格类型对应的相关数据
export const networkTable = {
networkOverview: {
tabList: networkOverviewTabList, // tab列表
column: customTableTitlesForNetworkOverview, // 列
url: networkOverviewSearchUrl, // 接口url
hasMetricSearch: true, // 顶部是否有metric下拉列表
panelIdOfThirdMenu: drillDownPanelTypeMapping.networkOverview,
bytesColumnNameGroup: bytesColumnNameGroup,
packetsColumnNameGroup: packetsColumnNameGroup,
sessionsColumnNameGroup: sessionsColumnNameGroup,
bytesCycleColumnNameGroup: bytesCycleColumnNameGroup,
packetsCycleColumnNameGroup: packetsCycleColumnNameGroup,
sessionsCycleColumnNameGroup: sessionsCycleColumnNameGroup
},
networkAppPerformance: {
tabList: networkAppPerformanceTabList,
column: customTableTitlesForAppPerformance,
url: npmSearchUrl,
hasMetricSearch: false, // 是否有metric下拉列表
panelIdOfThirdMenu: drillDownPanelTypeMapping.npmThirdMenu,
bytesColumnNameGroup: bytesColumnNameGroupForNpm,
packetsColumnNameGroup: {}, // 无metric下拉列表条件用不到此属性
sessionsColumnNameGroup: {}, // 无metric下拉列表条件用不到此属性
bytesCycleColumnNameGroup: bytesCycleColumnNameGroupForNmp,
packetsCycleColumnNameGroup: {},
sessionsCycleColumnNameGroup: {}
},
dnsServiceInsights: {
tabList: dnsServiceInsightsTabList,
column: customTableTitlesForDns,
url: dnsSearchUrl,
hasMetricSearch: false, // 是否有metric下拉列表
2022-10-09 08:24:07 +08:00
panelIdOfThirdMenu: drillDownPanelTypeMapping.dnsThirdMenu,
bytesColumnNameGroup: bytesColumnNameGroupForDns,
bytesCycleColumnNameGroup: bytesCycleColumnNameGroupForDns,
defaultOrderBy: 'totalBytes'
}
}
export const networkDefaultLimit = 50
2022-03-03 23:21:33 +08:00
export const dnsServerRole = {
RTDNS: 'RTDNS',
TLDNS: 'TLDNS',
OPRDNS: 'OPRDNS',
ADNS: 'ADNS',
SBDNS: 'SBDNS',
RTDNSM: 'RTDNSM',
FWDNS: 'FWDNS'
2022-03-03 23:21:33 +08:00
}
export const npmCategoryToAppCategoryMap = {
'network.video': 'multimedia-streaming',
'network.fileSharing': 'social-networking',
'network.voip': 'file-sharing',
'network.gaming': 'gaming',
'network.email': 'email',
'network.socialNetwork': 'voip-video'
}
2022-08-09 21:19:21 +08:00
// npm页-应用评分-类别名称、icon、i18n映射
export const npmCategoryInfoMapping = [
{
appSubcategory: 'multimedia-streaming',
icon: 'cn-icon cn-icon-video',
i18n: 'network.video'
},
{
appSubcategory: 'social-networking',
icon: 'cn-icon cn-icon-social-network',
i18n: 'network.socialNetwork'
},
{
appSubcategory: 'file-sharing',
icon: 'cn-icon cn-icon-file-sharing',
i18n: 'network.fileSharing'
},
{
appSubcategory: 'voip-video',
icon: 'cn-icon cn-icon-voip',
i18n: 'network.voip'
},
{
appSubcategory: 'gaming',
icon: 'cn-icon cn-icon-gaming',
i18n: 'network.gaming'
},
{
appSubcategory: 'email',
icon: 'cn-icon cn-icon-email',
i18n: 'network.email'
}
]
2022-04-11 15:58:24 +08:00
// 整屏滚动的路径映射
export const wholeScreenRouterMapping = {
dns: '/panel/dnsServiceInsights'
}
export const themeData = [
{ value: 'light', label: 'light' },
{ value: 'dark', label: 'dark' }
]
export const langData = [
{ value: 'zh', label: 'zh' },
{ value: 'en', label: 'en' }
]
2022-03-27 20:52:07 +08:00
export const performanceMetricMapping = {
'dns error': 'DNS Error Rate',
'http error': 'HTTP Error Rate',
'high dns response time': 'DNS Response Latency'
}
export const chartColor = ['#5370C6', '#90CC74', '#FAC858', '#EE6666',
'#73BFDE', '#3BA172', '#FC8452', '#9960B4',
'#E97CCC', '#FEA69E', '#0F8AB2', '#57CBAC',
'#5888BC', '#63B6AC', '#EDC6B2', '#D5746B']
2022-07-08 09:34:09 +08:00
export const chartColor1 = ['#E26154', '#E48E4D', '#E7B34E', '#DAC74B', '#88AF65']
export const chartColor2 = ['#86B565', '#A37FA7', '#EFAFC7', '#EFC48F', '#B4B1A8']
2022-07-20 16:00:05 +08:00
export const chartColor3 = ['#00A7AB', '#7FA054', '#35ADDA', '#E48F3E', '#9FBC1D', '#98709B']
2022-07-20 16:00:05 +08:00
export const chartColor4 = ['#E5F6F6', '#F2F6EE', '#EBF7FC', '#FCF4EB', '#9FBC1D', '#F5F1F5']
export const chartColor5 = ['#E26154', '#E7B34E', '#88AF65']
2022-09-21 10:42:19 +08:00
export const chartColor6 = ['#E99F67', '#D9C74B']
2021-10-16 15:50:12 +08:00
export const iso36112 = {
[storageKey.iso36112Capital]: 'data/countriesWithCapital',
[storageKey.iso36112WorldLow]: 'worldChinaLow',
IE: 'irelandLow',
MM: 'myanmarLow',
TZ: 'tanzaniaLow',
BS: 'bahamasLow',
DM: 'dominicaLow',
VC: 'saintVincentLow',
BG: 'bulgariaLow',
SK: 'slovakiaLow',
UZ: 'uzbekistanLow',
IS: 'icelandLow',
CA: 'canadaLow',
AT: 'austriaLow',
DO: 'dominicanRepublicLow',
MY: 'malaysiaLow',
BW: 'botswanaLow',
SH: 'saintHelenaLow',
NO: 'norway2020Low',
CF: 'centralAfricanRepublicLow',
GA: 'gabonLow',
GD: 'grenadaLow',
RU: 'russiaLow',
FR: 'franceLow',
TJ: 'tajikistanLow',
CU: 'cubaLow',
NP: 'nepalLow',
ZW: 'zimbabweLow',
CW: 'curacaoLow',
GW: 'guineaBissauLow',
EE: 'estoniaLow',
AG: 'antiguaBarbudaLow',
TT: 'trinidadTobagoLow',
BF: 'burkinaFasoLow',
LI: 'liechtensteinLow',
OM: 'omanLow',
GY: 'guyanaLow',
GR: 'greeceLow',
KG: 'kyrgyzstanLow',
SD: 'sudanLow',
AE: 'uaeLow',
KY: 'caymanIslandsLow',
LA: 'laosLow',
LT: 'lithuaniaLow',
UG: 'ugandaLow',
MR: 'mauritaniaLow',
SS: 'southSudan2015Low',
SI: 'sloveniaLow',
MX: 'mexicoLow',
GH: 'ghanaLow',
GN: 'guineaLow',
BB: 'barbadosLow',
HN: 'hondurasLow',
SN: 'senegalLow',
BD: 'bangladeshLow',
BQ: 'bonaireSintEustatiusSabaLow',
CC: 'cocosKeelingLow',
HR: 'croatiaLow',
PL: 'polandLow',
ST: 'saoTomePrincipeLow',
TC: 'turksCaicosLow',
GT: 'guatemalaLow',
IT: 'italyLow',
RW: 'rwandaLow',
LC: 'saintLuciaLow',
TL: 'timorLesteLow',
CZ: 'czechiaLow',
GQ: 'equatorialGuineaLow',
FJ: 'fijiEastLow',
MA: 'moroccoLow',
DJ: 'djiboutiLow',
NE: 'nigerLow',
LV: 'latviaLow',
RS: 'serbiaLow',
PE: 'peruLow',
SE: 'swedenLow',
GE: 'georgiaLow',
DE: 'bosniaHerzegovinaLow',
AF: 'afghanistanLow',
AR: 'argentinaLow',
KE: 'kenyaLow',
AS: 'americanSamoaLow',
FI: 'finlandLow',
IR: 'iranLow',
UY: 'uruguayLow',
SA: 'saudiArabiaLow',
EC: 'ecuadorLow',
AW: 'arubaLow',
ZA: 'southAfricaLow',
PM: 'stPierreMiquelonLow',
SC: 'seychellesLow',
MG: 'madagascarProvinceLow',
YE: 'yemenLow',
BR: 'brazilLow',
ML: 'maliLow',
CL: 'chileLow',
LB: 'lebanonLow',
DZ: 'algeriaLow',
FO: 'faroeIslandsLow',
VE: 'venezuelaLow',
CR: 'costaRicaLow',
GP: 'guadeloupeLow',
SV: 'elSalvadorLow',
LK: 'sriLankaLow',
KZ: 'kazakhstanLow',
NL: 'netherlandsLow',
GM: 'gambiaLow',
TR: 'turkeyLow',
be: 'belgiumLow',
PA: 'panamaLow',
AZ: 'azerbaijanLow',
PT: 'portugalLow',
VA: 'vaticanLow',
MW: 'malawiLow',
KN: 'stKittsNevisLow',
NI: 'nicaraguaLow',
MD: 'moldovaLow',
IN: 'indiaLow',
MZ: 'mozambiqueLow',
WS: 'samoaLow',
ET: 'ethiopiaLow',
MV: 'maldivesLow',
TH: 'thailandLow',
PH: 'philippinesLow',
MQ: 'martiniqueLow',
KP: 'northKoreaLow',
PR: 'puertoRicoLow',
CV: 'capeVerdeLow',
TG: 'togoLow',
AL: 'albaniaLow',
SJ: 'svalbardLow',
BH: 'bahrainLow',
AU: 'australiaLow',
BI: 'burundiLow',
QA: 'qatarLow',
TD: 'chadLow',
BZ: 'belizeLow',
GS: 'georgiaSouthOssetiaLow',
MS: 'montserratLow',
BM: 'bermudaLow',
ZM: 'zambiaLow',
JP: 'japanLow',
JO: 'jordanLow',
BT: 'bhutanLow',
NZ: 'newZealandLow',
MK: 'northMacedoniaLow',
TN: 'tunisiaLow',
bl: 'stBarthelemyLow',
PY: 'paraguayLow',
ID: 'indonesiaLow',
HT: 'haitiLow',
FK: 'falklandIslandsLow',
MP: 'northernMarianaLow',
PS: 'palestineLow',
CD: 'congoDRLow',
AM: 'armeniaLow',
DK: 'denmarkLow',
NG: 'nigeriaLow',
RO: 'romaniaLow',
ER: 'eritreaLow',
BN: 'bruneiDarussalamLow',
AO: 'angolaLow',
BA: 'bosniaHerzegovinaCantonsLow',
PK: 'pakistanLow',
GL: 'greenlandLow',
TM: 'turkmenistanLow',
BJ: 'beninLow',
CI: 'cotedIvoireLow',
CN: 'chinaLow',
CH: 'switzerlandLow',
VG: 'britishVirginIslandsLow',
VI: 'usVirginIslandsLow',
IL: 'israelLow',
SR: 'surinameLow',
CO: 'colombiaLow',
MT: 'maltaLow',
CM: 'cameroonLow',
LY: 'libyaLow',
IQ: 'iraqLow',
UA: 'ukraineLow',
VN: 'vietnamLow',
KH: 'cambodiaLow',
AI: 'anguillaLow',
ME: 'montenegroLow',
SB: 'solomonIslandsLow',
KR: 'southKoreaLow',
GB: 'ukLow',
SG: 'singaporeLow',
EG: 'egyptLow',
CY: 'cyprusLow',
KM: 'comorosLow',
GU: 'guamLow',
HK: 'hongKongLow',
SO: 'somaliaLow',
NA: 'namibiaLow',
HU: 'hungaryLow',
BY: 'belarusLow',
BO: 'boliviaLow',
GF: 'frenchGuianaLow',
US: 'usaLow',
SL: 'sierraLeoneLow',
SM: 'sanMarinoLow',
AD: 'andorraLow',
ES: 'spainLow',
KW: 'kuwaitLow',
CG: 'congoLow',
LU: 'luxembourgLow',
JM: 'jamaicaLow',
SY: 'syriaLow',
SZ: 'eswatiniLow',
MN: 'mongoliaLow'
}
export const countryNameIdMapping = { Afghanistan: 'AF', Albania: 'AL', Algeria: 'DZ', 'American Samoa': 'AS', Andorra: 'AD', Angola: 'AO', Anguilla: 'AI', Antarctica: 'AQ', 'Antigua and Barbuda': 'AG', Argentina: 'AR', Armenia: 'AM', Aruba: 'AW', Australia: 'AU', Austria: 'AT', Azerbaijan: 'AZ', 'Bahamas (the)': 'BS', Bahrain: 'BH', Bangladesh: 'BD', Barbados: 'BB', Belarus: 'BY', Belgium: 'BE', Belize: 'BZ', Benin: 'BJ', Bermuda: 'BM', 'Åland Islands': 'AX', Bhutan: 'BT', 'Bolivia (Plurinational State of)': 'BO', 'Bonaire, Sint Eustatius and Saba': 'BQ', 'Bosnia and Herzegovina': 'BA', Botswana: 'BW', 'Bouvet Island': 'BV', Brazil: 'BR', 'British Indian Ocean Territory (the)': 'IO', 'Brunei Darussalam': 'BN', Bulgaria: 'BG', 'Burkina Faso': 'BF', Burundi: 'BI', 'Cabo Verde': 'CV', Cambodia: 'KH', Cameroon: 'CM', Canada: 'CA', 'Cayman Islands (the)': 'KY', 'Central African Republic (the)': 'CF', Chad: 'TD', Chile: 'CL', China: 'CN', 'Christmas Island': 'CX', 'Cocos (Keeling) Islands (the)': 'CC', Colombia: 'CO', 'Comoros (the)': 'KM', 'Congo (the Democratic Republic of the)': 'CD', 'Congo (the)': 'CG', 'Cook Islands (the)': 'CK', 'Costa Rica': 'CR', Croatia: 'HR', Cuba: 'CU', Curaçao: 'CW', Cyprus: 'CY', Czechia: 'CZ', "Côte d'Ivoire": 'CI', Denmark: 'DK', Djibouti: 'DJ', Dominica: 'DM', 'Dominican Republic (the)': 'DO', Ecuador: 'EC', Egypt: 'EG', 'El Salvador': 'SV', 'Equatorial Guinea': 'GQ', Eritrea: 'ER', Estonia: 'EE', Eswatini: 'SZ', Ethiopia: 'ET', 'Falkland Islands (the) [Malvinas]': 'FK', 'Faroe Islands (the)': 'FO', Fiji: 'FJ', Finland: 'FI', France: 'FR', 'French Guiana': 'GF', 'French Polynesia': 'PF', 'French Southern Territories (the)': 'TF', Gabon: 'GA', 'Gambia (the)': 'GM', Georgia: 'GE', Germany: 'DE', Ghana: 'GH', Gibraltar: 'GI', Greece: 'GR', Greenland: 'GL', Grenada: 'GD', Guadeloupe: 'GP', Guam: 'GU', Guatemala: 'GT', Guernsey: 'GG', Guinea: 'GN', 'Guinea-Bissau': 'GW', Guyana: 'GY', Haiti: 'HT', 'Heard Island and McDonald Islands': 'HM', 'Holy See (the)': 'VA', Honduras: 'HN', 'Hong Kong': 'HK', Hungary: 'HU', Iceland: 'IS', India: 'IN', Indonesia: 'ID', 'Iran (Islamic Republic of)': 'IR', Iraq: 'IQ', Ireland: 'IE', 'Isle of Man': 'IM', Israel: 'IL', Italy: 'IT', Jamaica: 'JM', Japan: 'JP', Jersey: 'JE', Jordan: 'JO', Kazakhstan: 'KZ', Kenya: 'KE', Kiribati: 'KI', "Korea (the Democratic People's Republic of)": 'KP', 'Korea (the Republic of)': 'KR', Kuwait: 'KW', Kyrgyzstan: 'KG', "Lao People's Democratic Republic (the)": 'LA', Latvia: 'LV', Lebanon: 'LB', Lesotho: 'LS', Liberia: 'LR', Libya: 'LY', Liechtenstein: 'LI', Lithuania: 'LT', Luxembourg: 'LU', Macao: 'MO', Madagascar: 'MG', Malawi: 'MW', Malaysia: 'MY', Maldives: 'MV', Mali: 'ML', Malta: 'MT', 'Marshall Islands (the)': 'MH', Martinique: 'MQ', Mauritania: 'MR', Mauritius: 'MU', Mayotte: 'YT', Mexico: 'MX', 'Micronesia (Federated States of)': 'FM', 'Moldova (the Republic of)': 'MD', Monaco: 'MC', Mongolia: 'MN', Montenegro: 'ME', Montserrat: 'MS', Morocco: 'MA', Mozambique: 'MZ', Myanmar: 'MM', Namibia: 'NA', Nauru: 'NR', Nepal: 'NP', 'Netherlands (the)': 'NL', 'New Caledonia': 'NC', 'New Zealand': 'NZ', Nicaragua: 'NI', 'Niger (the)': 'NE', Nigeria: 'NG', Niue: 'NU', 'Norfolk Island': 'NF', 'North Macedonia': 'MK', 'Northern Mariana Islands (the)': 'MP', Norway: 'NO', Oman: 'OM', Pakistan: 'PK', Palau: 'PW', 'Palestine, State of': 'PS', Panama: 'PA', 'Papua New Guinea': 'PG', Paraguay: 'PY', Peru: 'PE', 'Philippines (the)': 'PH', Pitcairn: 'PN', Poland: 'PL', Portugal: 'PT', 'Puerto Rico': 'PR', Qatar: 'QA', Romania: 'RO', 'Russian Federation (the)': 'RU', Rwanda: 'RW', Réunion: 'RE', 'Saint Barthélemy': 'BL', 'Saint Helena, Ascension and Tristan da Cunha': 'SH', 'Saint Kitts and Nevis': 'KN', 'Saint Lucia': 'LC', 'Saint Martin (French part)': 'MF', 'Saint Pierre and Miquelon': 'PM', 'Saint Vincent and the Grenadines': 'VC', Samoa: 'WS', 'San Marino': 'SM', 'Sao Tome and Principe': 'ST', 'Saudi Arabia': 'SA', Senegal: 'SN', Serbia: 'RS', Seychelles: 'SC', 'Sierra Leone': 'SL', Singapore: 'SG', 'Sint Maarten (Dutch part)': 'SX', Slo
export const reg = {
// 不严格ipv4
notStrictIpv4: /(?:[0-9]{1,}\.){0,}[0-9]{1,}(\.)?/g,
// 不严格Ipv4带单引号
notStrictWithQuotIpv4: /'(?:[0-9]{1,}\.){0,}[0-9]{1,}(\.)?'/g,
// 不严格ipv6
notStrictIpv6: /(:{0,}[a-fA-F\d]{0,}){0,}:+([a-fA-F\d]{0,}:{0,}){0,}/g,
// 不严格Ipv6带单引号
2022-04-13 10:14:36 +08:00
notStrictWithQuotIpv6: /'(:{0,}[a-fA-F\d]{0,}){0,}:+([a-fA-F\d]{0,}:{0,}){0,}'/g,
// sql字段名
sqlColumn: /(^_([a-zA-Z0-9]_?)*$)|(^[a-zA-Z](_?[a-zA-Z0-9])*_?$)/g,
// 含有中文
containChinese: /[\u4E00-\u9FA5\uF900-\uFA2D]+/
}
2022-06-08 15:31:41 +08:00
export const report = {
timeRuleList: [
{ name: 'today', value: 'today' },
{ name: 'yesterday', value: 'yesterday' },
{ name: 'this', value: 'this' },
{ name: 'last', value: 'last' },
{ name: 'previous', value: 'previous' },
{ name: 'customize', value: 'customize' }
],
timeUnitList: [
{ name: 'minute', value: 'minute' },
{ name: 'hour', value: 'hour' },
{ name: 'day', value: 'day' },
{ name: 'week', value: 'week' },
{ name: 'month', value: 'month' },
{ name: 'year', value: 'year' }
],
scheduleTypeList: [
{ name: 'report.daily', value: 'day' },
{ name: 'report.weekly', value: 'week' },
{ name: 'report.monthly', value: 'month' },
{ name: 'report.oneTime', value: '' }
],
weekdayList: [
{ name: 'report.sunday', value: 1 },
{ name: 'report.monday', value: 2 },
{ name: 'report.tuesday', value: 3 },
{ name: 'report.wednesday', value: 4 },
{ name: 'report.thursday', value: 5 },
{ name: 'report.friday', value: 6 },
{ name: 'report.saturday', value: 7 }
],
monthList: [
{ name: 'report.january', value: 1 },
{ name: 'report.february', value: 2 },
{ name: 'report.march', value: 3 },
{ name: 'report.april', value: 4 },
{ name: 'report.may', value: 5 },
{ name: 'report.june', value: 6 },
{ name: 'report.july', value: 7 },
{ name: 'report.august', value: 8 },
{ name: 'report.september', value: 9 },
{ name: 'report.october', value: 10 },
{ name: 'report.november', value: 11 },
{ name: 'report.december', value: 12 }
],
weekOptions: [
2022-06-08 18:32:52 +08:00
{ name: 'report.1stWeek', value: 1 },
{ name: 'report.2ndWeek', value: 2 },
{ name: 'report.3rdWeek', value: 3 },
{ name: 'report.4thWeek', value: 4 },
2022-06-08 15:31:41 +08:00
{ name: 'report.lastWeek', value: 5 }
]
}
// 顶级域名列表
export const topDomain = ['ac', 'com.ac', 'edu.ac', 'gov.ac', 'net.ac', 'mil.ac', 'org.ac', 'ad', 'nom.ad', 'ae', 'co.ae', 'net.ae', 'org.ae', 'sch.ae', 'ac.ae', 'gov.ae', 'mil.ae', 'aero', 'accident-investigation.aero', 'accident-prevention.aero', 'aerobatic.aero', 'aeroclub.aero', 'aerodrome.aero', 'agents.aero', 'aircraft.aero', 'airline.aero', 'airport.aero', 'air-surveillance.aero', 'airtraffic.aero', 'air-traffic-control.aero', 'ambulance.aero', 'amusement.aero', 'association.aero', 'author.aero', 'ballooning.aero', 'broker.aero', 'caa.aero', 'cargo.aero', 'catering.aero', 'certification.aero', 'championship.aero', 'charter.aero', 'civilaviation.aero', 'club.aero', 'conference.aero', 'consultant.aero', 'consulting.aero', 'control.aero', 'council.aero', 'crew.aero', 'design.aero', 'dgca.aero', 'educator.aero', 'emergency.aero', 'engine.aero', 'engineer.aero', 'entertainment.aero', 'equipment.aero', 'exchange.aero', 'express.aero', 'federation.aero', 'flight.aero', 'fuel.aero', 'gliding.aero', 'government.aero', 'groundhandling.aero', 'group.aero', 'hanggliding.aero', 'homebuilt.aero', 'insurance.aero', 'journal.aero', 'journalist.aero', 'leasing.aero', 'logistics.aero', 'magazine.aero', 'maintenance.aero', 'media.aero', 'microlight.aero', 'modelling.aero', 'navigation.aero', 'parachuting.aero', 'paragliding.aero', 'passenger-association.aero', 'pilot.aero', 'press.aero', 'production.aero', 'recreation.aero', 'repbody.aero', 'res.aero', 'research.aero', 'rotorcraft.aero', 'safety.aero', 'scientist.aero', 'services.aero', 'show.aero', 'skydiving.aero', 'software.aero', 'student.aero', 'trader.aero', 'trading.aero', 'trainer.aero', 'union.aero', 'workinggroup.aero', 'works.aero', 'af', 'gov.af', 'com.af', 'org.af', 'net.af', 'edu.af', 'ag', 'com.ag', 'org.ag', 'net.ag', 'co.ag', 'nom.ag', 'ai', 'off.ai', 'com.ai', 'net.ai', 'org.ai', 'al', 'com.al', 'edu.al', 'gov.al', 'mil.al', 'net.al', 'org.al', 'am', 'co.am', 'com.am', 'commune.am', 'net.am', 'org.am', 'ao', 'ed.ao', 'gv.ao', 'og.ao', 'co.ao', 'pb.ao', 'it.ao', 'aq', 'ar', 'com.ar', 'edu.ar', 'gob.ar', 'gov.ar', 'int.ar', 'mil.ar', 'musica.ar', 'net.ar', 'org.ar', 'tur.ar', 'arpa', 'e164.arpa', 'in-addr.arpa', 'ip6.arpa', 'iris.arpa', 'uri.arpa', 'urn.arpa', 'as', 'gov.as', 'asia', 'at', 'ac.at', 'co.at', 'gv.at', 'or.at', 'sth.ac.at', 'au', 'com.au', 'net.au', 'org.au', 'edu.au', 'gov.au', 'asn.au', 'id.au', 'info.au', 'conf.au', 'oz.au', 'act.au', 'nsw.au', 'nt.au', 'qld.au', 'sa.au', 'tas.au', 'vic.au', 'wa.au', 'act.edu.au', 'catholic.edu.au', 'nsw.edu.au', 'nt.edu.au', 'qld.edu.au', 'sa.edu.au', 'tas.edu.au', 'vic.edu.au', 'wa.edu.au', 'qld.gov.au', 'sa.gov.au', 'tas.gov.au', 'vic.gov.au', 'wa.gov.au', 'schools.nsw.edu.au', 'aw', 'com.aw', 'ax', 'az', 'com.az', 'net.az', 'int.az', 'gov.az', 'org.az', 'edu.az', 'info.az', 'pp.az', 'mil.az', 'name.az', 'pro.az', 'biz.az', 'ba', 'com.ba', 'edu.ba', 'gov.ba', 'mil.ba', 'net.ba', 'org.ba', 'bb', 'biz.bb', 'co.bb', 'com.bb', 'edu.bb', 'gov.bb', 'info.bb', 'net.bb', 'org.bb', 'store.bb', 'tv.bb', '*.bd', 'be', 'ac.be', 'bf', 'gov.bf', 'bg', 'a.bg', 'b.bg', 'c.bg', 'd.bg', 'e.bg', 'f.bg', 'g.bg', 'h.bg', 'i.bg', 'j.bg', 'k.bg', 'l.bg', 'm.bg', 'n.bg', 'o.bg', 'p.bg', 'q.bg', 'r.bg', 's.bg', 't.bg', 'u.bg', 'v.bg', 'w.bg', 'x.bg', 'y.bg', 'z.bg', '0.bg', '1.bg', '2.bg', '3.bg', '4.bg', '5.bg', '6.bg', '7.bg', '8.bg', '9.bg', 'bh', 'com.bh', 'edu.bh', 'net.bh', 'org.bh', 'gov.bh', 'bi', 'co.bi', 'com.bi', 'edu.bi', 'or.bi', 'org.bi', 'biz', 'bj', 'asso.bj', 'barreau.bj', 'gouv.bj', 'bm', 'com.bm', 'edu.bm', 'gov.bm', 'net.bm', 'org.bm', 'bn', 'com.bn', 'edu.bn', 'gov.bn', 'net.bn', 'org.bn', 'bo', 'com.bo', 'edu.bo', 'gob.bo', 'int.bo', 'org.bo', 'net.bo', 'mil.bo', 'tv.bo', 'web.bo', 'academia.bo', 'agro.bo', 'arte.bo', 'blog.bo', 'bolivia.bo', 'ciencia.bo', 'cooperativa.bo', 'democracia.bo', 'deporte.bo', 'ecologia.bo', 'economia.bo', 'empresa.bo', 'indigena.bo', 'industria.bo', 'info.bo', 'medicina.bo', 'movimiento.bo', 'musica.bo', 'natural.bo', 'nombre.bo', 'noticias.bo', 'patria.bo', 'politica.bo', 'profesional.b