diff --git a/nezha-docs/docs/.vitepress/sidebar.js b/nezha-docs/docs/.vitepress/sidebar.js
index 436ae45f4..097f39ccb 100644
--- a/nezha-docs/docs/.vitepress/sidebar.js
+++ b/nezha-docs/docs/.vitepress/sidebar.js
@@ -14,6 +14,14 @@ export const sidebar = {
{ text: '简介', link: '/' },
],
},
+ {
+ text: '前端部分功能介绍',
+ items: [
+ {text:'dashboard 流程', link: '/dashboardFlow'},
+ {text:'主题简单使用教程', link: '/themeUse'},
+ {text:'国际化使用教程', link: '/i18nUse'},
+ ],
+ },
{
text: '组件',
items: [
@@ -91,11 +99,7 @@ export const sidebar = {
{
text: '注意事项',
link: '/note',
- items: [
- {text:'dashboard 流程'},
- {text:'主题简单使用教程'},
- {text:'国际化使用教程'},
- ]
+ items: []
}
],
};
diff --git a/nezha-docs/docs/public/dashboard.jpg b/nezha-docs/docs/public/dashboard.jpg
new file mode 100644
index 000000000..dc63bc809
Binary files /dev/null and b/nezha-docs/docs/public/dashboard.jpg differ
diff --git a/nezha-docs/src/__docs__/index.en-US.md b/nezha-docs/src/__docs__/index.en-US.md
index 480c01b1c..7f8b6e547 100644
--- a/nezha-docs/src/__docs__/index.en-US.md
+++ b/nezha-docs/src/__docs__/index.en-US.md
@@ -11,1147 +11,98 @@ map:
# 目录结构
```
-│ http.js
-│ permission.js
+│ http.js axios 请求的实例 处理请求头等公共参数
+│ permission.js 权限
│
-├─assets
-│ ├─css
-│ │ │ animate.css
-│ │ │ common.scss
-│ │ │ font.scss
-│ │ │ index.scss
-│ │ │ main.scss
-│ │ │ nzIcon.css
-│ │ │ THEME_README.md
+├─assets 部分静态资源
+│ ├─css 公共css
│ │ │
-│ │ ├─common
-│ │ │ button.scss
-│ │ │ checkbox.scss
-│ │ │ index.scss
-│ │ │ loading.scss
-│ │ │ maplibre-gl.css
-│ │ │ rightBoxCommon.scss
-│ │ │ tableCommon.scss
-│ │ │ tooltip.scss
+│ │ ├─common 组件css
│ │ │
-│ │ ├─components
-│ │ │ │ index.scss
-│ │ │ │
-│ │ │ ├─chart
-│ │ │ │ chart.scss
-│ │ │ │
-│ │ │ ├─charts
-│ │ │ │ chart-list.scss
-│ │ │ │ chart.scss
-│ │ │ │
-│ │ │ ├─cli
-│ │ │ │ fileDirectory.scss
-│ │ │ │ fileListState.scss
-│ │ │ │ webSSH.scss
-│ │ │ │ webSSHNew.scss
-│ │ │ │
-│ │ │ ├─common
-│ │ │ │ │ browserWindowZoom.scss
-│ │ │ │ │ chartUnit.scss
-│ │ │ │ │ configSync.scss
-│ │ │ │ │ deleteButton.scss
-│ │ │ │ │ diagnosisTab.scss
-│ │ │ │ │ elementSet.scss
-│ │ │ │ │ intro.scss
-│ │ │ │ │ latIngPicker.scss
-│ │ │ │ │ loading.scss
-│ │ │ │ │ login.css
-│ │ │ │ │ login.scss
-│ │ │ │ │ multipleTime.scss
-│ │ │ │ │ nezhaColor.scss
-│ │ │ │ │ nzTransfer.scss
-│ │ │ │ │ pagination.scss
-│ │ │ │ │ searchBox.scss
-│ │ │ │ │ searchInput.scss
-│ │ │ │ │ selectTable.scss
-│ │ │ │ │ timePicker.scss
-│ │ │ │ │ v-md-editor.scss
-│ │ │ │ │
-│ │ │ │ ├─alert
-│ │ │ │ │ alertDaysInfo.scss
-│ │ │ │ │ alertLabel.scss
-│ │ │ │ │ alertMessageInfo.scss
-│ │ │ │ │ alertRuleInfo.scss
-│ │ │ │ │ alertStateInfo.scss
-│ │ │ │ │ selectAlertSilence.scss
-│ │ │ │ │
-│ │ │ │ ├─bottomBox
-│ │ │ │ │ bottomBox.scss
-│ │ │ │ │ dashboardTab.scss
-│ │ │ │ │ issueTab.scss
-│ │ │ │ │ terminalLogCMDTab.scss
-│ │ │ │ │ terminalLogMonitorTab.scss
-│ │ │ │ │ terminalLogRecordTab.scss
-│ │ │ │ │
-│ │ │ │ ├─detailView
-│ │ │ │ │ │ detailView.scss
-│ │ │ │ │ │ detailViewTopSearch.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─list
-│ │ │ │ │ │ common.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─view
-│ │ │ │ │ detailRightTop.scss
-│ │ │ │ │ detailViewRight.scss
-│ │ │ │ │
-│ │ │ │ ├─filterSearch
-│ │ │ │ │ filterSearch.scss
-│ │ │ │ │
-│ │ │ │ ├─globalSearch
-│ │ │ │ │ globalSearch.scss
-│ │ │ │ │ searchItemInfo.scss
-│ │ │ │ │
-│ │ │ │ ├─labelFilter
-│ │ │ │ │ clickSearch.scss
-│ │ │ │ │
-│ │ │ │ ├─panel
-│ │ │ │ │ panelVariables.scss
-│ │ │ │ │
-│ │ │ │ ├─paramBpx
-│ │ │ │ │ paramBox.scss
-│ │ │ │ │
-│ │ │ │ ├─picker
-│ │ │ │ │ picker.scss
-│ │ │ │ │
-│ │ │ │ ├─popBox
-│ │ │ │ │ guide.scss
-│ │ │ │ │ selectAssetMetaGroup.scss
-│ │ │ │ │ selectAssetType.scss
-│ │ │ │ │ selectDashboard.scss
-│ │ │ │ │ selectPanel.scss
-│ │ │ │ │ selectWalk.scss
-│ │ │ │ │ snapshotProgress.scss
-│ │ │ │ │
-│ │ │ │ ├─project
-│ │ │ │ │ │ chart.scss
-│ │ │ │ │ │ meta2dHeader.scss
-│ │ │ │ │ │ meta2dMain.scss
-│ │ │ │ │ │ meta2dProps.scss
-│ │ │ │ │ │ topology.scss
-│ │ │ │ │ │ topologyL5.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─L5
-│ │ │ │ │ │ │ CanvasContextMenu.scss
-│ │ │ │ │ │ │ CanvasProps.scss
-│ │ │ │ │ │ │ topologyTopTool.scss
-│ │ │ │ │ │ │ topoTooltip.scss
-│ │ │ │ │ │ │
-│ │ │ │ │ │ └─popData
-│ │ │ │ │ │ common.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─popData
-│ │ │ │ │ Info.scss
-│ │ │ │ │
-│ │ │ │ ├─rightBox
-│ │ │ │ │ │ addEndpointBox.scss
-│ │ │ │ │ │ alertRuleBox.scss
-│ │ │ │ │ │ alertSilenceBox.scss
-│ │ │ │ │ │ assetBactchEditBox.scss
-│ │ │ │ │ │ assetMetaBox.scss
-│ │ │ │ │ │ assetStateBox.scss
-│ │ │ │ │ │ backupsBox.scss
-│ │ │ │ │ │ batchAddEndpoint.scss
-│ │ │ │ │ │ batchModifyEndpoint.scss
-│ │ │ │ │ │ editEndpointBoxNew.scss
-│ │ │ │ │ │ ipam.scss
-│ │ │ │ │ │ issueBox.scss
-│ │ │ │ │ │ locationCascader.scss
-│ │ │ │ │ │ menuBox.scss
-│ │ │ │ │ │ mibBox.scss
-│ │ │ │ │ │ moduleBox.scss
-│ │ │ │ │ │ panelBox.scss
-│ │ │ │ │ │ pipelineSelect.scss
-│ │ │ │ │ │ recordRuleBox.css
-│ │ │ │ │ │ recordRuleBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─asset
-│ │ │ │ │ │ assetBox.scss
-│ │ │ │ │ │ assetDiscoveryBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─chartRightBox
-│ │ │ │ │ │ chartRightBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─trafficSetting
-│ │ │ │ │ subBox.scss
-│ │ │ │ │ trafficSettingTab.scss
-│ │ │ │ │
-│ │ │ │ ├─table
-│ │ │ │ │ ├─alert
-│ │ │ │ │ │ alertMessageTable.scss
-│ │ │ │ │ │ alertRuleTable.scss
-│ │ │ │ │ │ alertSilenceTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─asset
-│ │ │ │ │ │ assetTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─settings
-│ │ │ │ │ │ backupsTable.scss
-│ │ │ │ │ │ cortexDetailTable.scss
-│ │ │ │ │ │ endpointTable.scss
-│ │ │ │ │ │ switchTab.scss
-│ │ │ │ │ │ userTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─special
-│ │ │ │ │ endpointQuery.scss
-│ │ │ │ │
-│ │ │ │ ├─threshold
-│ │ │ │ │ threshold.scss
-│ │ │ │ │
-│ │ │ │ └─v-selectpagenew
-│ │ │ │ selectpage.scss
-│ │ │ │
-│ │ │ ├─introjs
-│ │ │ │ introjs-dark.scss
-│ │ │ │ introjs.scss
-│ │ │ │
-│ │ │ ├─layout
-│ │ │ │ container.scss
-│ │ │ │ header.scss
-│ │ │ │ home.scss
-│ │ │ │ leftMenu.scss
-│ │ │ │
-│ │ │ └─page
-│ │ │ ├─alert
-│ │ │ │ alertMessage.scss
-│ │ │ │ nzAlertTag.scss
-│ │ │ │
-│ │ │ ├─config
-│ │ │ │ │ about.scss
-│ │ │ │ │ agent.scss
-│ │ │ │ │ assetMeta.scss
-│ │ │ │ │ backups.scss
-│ │ │ │ │ licenseGen.scss
-│ │ │ │ │ mibBrowser.scss
-│ │ │ │ │ operationRecord.scss
-│ │ │ │ │ profile.scss
-│ │ │ │ │ profileChangePin.scss
-│ │ │ │ │ setup.scss
-│ │ │ │ │ system.scss
-│ │ │ │ │
-│ │ │ │ └─system
-│ │ │ │ license.scss
-│ │ │ │ notifyMethodTab.scss
-│ │ │ │
-│ │ │ ├─dashboard
-│ │ │ │ │ chartBox.scss
-│ │ │ │ │ panel.scss
-│ │ │ │ │
-│ │ │ │ ├─explore
-│ │ │ │ │ explore.scss
-│ │ │ │ │ exploreHistory.scss
-│ │ │ │ │ logTab.scss
-│ │ │ │ │ promqlInput.scss
-│ │ │ │ │ queryPrompt.scss
-│ │ │ │ │
-│ │ │ │ └─overview
-│ │ │ │ chart.scss
-│ │ │ │ overview2.scss
-│ │ │ │
-│ │ │ ├─integration
-│ │ │ │ integration.scss
-│ │ │ │
-│ │ │ ├─monitor
-│ │ │ │ └─project
-│ │ │ │ project.scss
-│ │ │ │
-│ │ │ ├─notebook
-│ │ │ │ notebook.scss
-│ │ │ │
-│ │ │ ├─softwareType
-│ │ │ │ softwareType.scss
-│ │ │ │
-│ │ │ └─tool
-│ │ │ ping.scss
-│ │ │ trace.scss
+│ │ ├─components 组件css
│ │ │
-│ │ ├─font
-│ │ │ iconfont.css
-│ │ │ iconfont.eot
-│ │ │ iconfont.js
-│ │ │ iconfont.json
-│ │ │ iconfont.svg
-│ │ │ iconfont.ttf
-│ │ │ iconfont.woff
-│ │ │ iconfont.woff2
-│ │ │ Inter-Regular.ttf
-│ │ │ metricPreview.scss
-│ │ │ NotoSans-Regular.ttf
-│ │ │ NunitoSans-Regular.ttf
+│ │ ├─font 字体图标css
│ │ │
-│ │ └─themes
-│ │ │ common.scss
-│ │ │ theme-dark.scss
-│ │ │ theme-light.scss
-│ │ │
-│ │ └─src
-│ │ │ alert.scss
-│ │ │ aside.scss
-│ │ │ autocomplete.scss
-│ │ │ avatar.scss
-│ │ │ backtop.scss
-│ │ │ badge.scss
-│ │ │ base.scss
-│ │ │ breadcrumb-item.scss
-│ │ │ breadcrumb.scss
-│ │ │ button-group.scss
-│ │ │ button.scss
-│ │ │ calendar.scss
-│ │ │ card.scss
-│ │ │ carousel-item.scss
-│ │ │ carousel.scss
-│ │ │ cascader-panel.scss
-│ │ │ cascader.scss
-│ │ │ checkbox-button.scss
-│ │ │ checkbox-group.scss
-│ │ │ checkbox.scss
-│ │ │ col.scss
-│ │ │ collapse-item.scss
-│ │ │ collapse.scss
-│ │ │ color-picker.scss
-│ │ │ container.scss
-│ │ │ date-picker.scss
-│ │ │ descriptions-item.scss
-│ │ │ descriptions.scss
-│ │ │ dialog.scss
-│ │ │ display.scss
-│ │ │ divider.scss
-│ │ │ drawer.scss
-│ │ │ dropdown-item.scss
-│ │ │ dropdown-menu.scss
-│ │ │ dropdown.scss
-│ │ │ empty.scss
-│ │ │ footer.scss
-│ │ │ form-item.scss
-│ │ │ form.scss
-│ │ │ header.scss
-│ │ │ icon.scss
-│ │ │ image.scss
-│ │ │ index.scss
-│ │ │ infinite-scroll.scss
-│ │ │ infiniteScroll.scss
-│ │ │ input-number.scss
-│ │ │ input.scss
-│ │ │ link.scss
-│ │ │ loading.scss
-│ │ │ main.scss
-│ │ │ menu-item-group.scss
-│ │ │ menu-item.scss
-│ │ │ menu.scss
-│ │ │ message-box.scss
-│ │ │ message.scss
-│ │ │ notification.scss
-│ │ │ option-group.scss
-│ │ │ option.scss
-│ │ │ page-header.scss
-│ │ │ pagination.scss
-│ │ │ popconfirm.scss
-│ │ │ popover.scss
-│ │ │ popper.scss
-│ │ │ progress.scss
-│ │ │ radio-button.scss
-│ │ │ radio-group.scss
-│ │ │ radio.scss
-│ │ │ rate.scss
-│ │ │ reset.scss
-│ │ │ result.scss
-│ │ │ row.scss
-│ │ │ scrollbar.scss
-│ │ │ select-dropdown.scss
-│ │ │ select.scss
-│ │ │ skeleton-item.scss
-│ │ │ skeleton.scss
-│ │ │ slider.scss
-│ │ │ spinner.scss
-│ │ │ step.scss
-│ │ │ steps.scss
-│ │ │ submenu.scss
-│ │ │ switch.scss
-│ │ │ tab-pane.scss
-│ │ │ table-column.scss
-│ │ │ table.scss
-│ │ │ tabs.scss
-│ │ │ tag.scss
-│ │ │ time-picker.scss
-│ │ │ time-select.scss
-│ │ │ timeline-item.scss
-│ │ │ timeline.scss
-│ │ │ tooltip.scss
-│ │ │ transfer.scss
-│ │ │ tree.scss
-│ │ │ upload.scss
-│ │ │
-│ │ ├─common
-│ │ │ popup.scss
-│ │ │ transition.scss
-│ │ │ var.scss
-│ │ │
-│ │ ├─date-picker
-│ │ │ date-picker.scss
-│ │ │ date-range-picker.scss
-│ │ │ date-table.scss
-│ │ │ month-table.scss
-│ │ │ picker-panel.scss
-│ │ │ picker.scss
-│ │ │ time-picker.scss
-│ │ │ time-range-picker.scss
-│ │ │ time-spinner.scss
-│ │ │ year-table.scss
-│ │ │
-│ │ ├─fonts
-│ │ │ element-icons.ttf
-│ │ │ element-icons.woff
-│ │ │
-│ │ └─mixins
-│ │ config.scss
-│ │ function.scss
-│ │ mixins.scss
-│ │ utils.scss
-│ │ _button.scss
+│ │ └─themes 主题css
+│ │ │
+│ ├─img 图片文件
+│ │ │
+│ └─stylus 对外暴露的css (所有css)
+│
+├─components 组件
+│ ├─chart 所有 chart 主要相关的组件
│ │
-│ ├─img
-│ │ dc.png
-│ │ dc1.png
-│ │ dc2.png
-│ │ dc3.png
-│ │ down.png
-│ │ explore-tab-logo.png
-│ │ favicon.ico
-│ │ jj.png
-│ │ jj1.png
-│ │ jj3.png
-│ │ loading.gif
-│ │ login-background.png
-│ │ logo-big.png
-│ │ logo.svg
-│ │ logo1-2.png
-│ │ starCloud1.svg
-│ │ starCloud2.svg
-│ │ starCloud3.svg
-│ │ starCloud4.svg
-│ │ starCloud5.svg
-│ │ starCloud6.svg
-│ │ starCloud7.svg
-│ │ system-sound-settings.gif
-│ │ up.png
+│ ├─cli 前端shell组件
│ │
-│ └─stylus
-│ index.scss
-│ main.scss
-│
-├─components
-│ ├─chart
-│ │ │ assetInfoData.js
-│ │ │ chart.vue
-│ │ │ chartDataFormat.js
-│ │ │ chartDetail.vue
-│ │ │ chartDetailNew.vue
-│ │ │ chartFormat.js
-│ │ │ chartHeader.vue
-│ │ │ chartHeaderMixin.js
-│ │ │ chartList.vue
-│ │ │ chartMixin.js
-│ │ │ ChartScreenHeader.vue
-│ │ │ chartTempData.js
-│ │ │ defaultLineData.js
-│ │ │ defaultLogData.js
-│ │ │ defaultTableData.js
-│ │ │ endpointInfoData.js
-│ │ │ logContext.vue
-│ │ │ logsData.js
-│ │ │ markdownEditor.vue
-│ │ │ panelChart.vue
-│ │ │ renderChart.js
-│ │ │ richTextEditor.vue
-│ │ │ tempGroup.js
+│ ├─common 公共组件
│ │ │
-│ │ └─chart
-│ │ │ chart-table.vue
-│ │ │ chartAssetInfo.vue
-│ │ │ chartAutotopology.vue
-│ │ │ chartBar.vue
-│ │ │ chartBubble.vue
-│ │ │ chartClock.vue
-│ │ │ chartDiagram.vue
-│ │ │ chartDoughnut.vue
-│ │ │ chartEndpointInfo.vue
-│ │ │ chartFunnel.vue
-│ │ │ chartGauge.vue
-│ │ │ chartGroup.vue
-│ │ │ chartHexagonD3.vue
-│ │ │ chartLog.vue
-│ │ │ chartMap.vue
-│ │ │ chartNoData.vue
-│ │ │ chartPie.vue
-│ │ │ chartRank.vue
-│ │ │ chartRose.vue
-│ │ │ chartSankey.vue
-│ │ │ chartStat.vue
-│ │ │ chartTable.vue
-│ │ │ chartText.vue
-│ │ │ chartTimeSeries.vue
-│ │ │ chartTopology.vue
-│ │ │ chartTreemap.vue
-│ │ │ chartUrl.vue
-│ │ │ legend.vue
-│ │ │ line-chart-block.vue
-│ │ │ mapStyle.js
-│ │ │ tools.js
-│ │ │
-│ │ ├─grid
-│ │ │ aspectRatio.js
-│ │ │ CustomDragElement.vue
-│ │ │ DOM.js
-│ │ │ draggableUtils.js
-│ │ │ GridItem.vue
-│ │ │ GridLayout.vue
-│ │ │ index.js
-│ │ │ responsiveUtils.js
-│ │ │ TestElement.vue
-│ │ │ utils.js
-│ │ │
-│ │ ├─options
-│ │ │ chartBar.js
-│ │ │ chartClock.js
-│ │ │ chartGauge.js
-│ │ │ chartHexagonD3.js
-│ │ │ chartPie.js
-│ │ │ chartSparkline.js
-│ │ │ chartTimeSeries.js
-│ │ │ chartTreemap.js
-│ │ │ fontWidth.js
-│ │ │
-│ │ └─uplot
-│ │ chartTimeSeries.vue
-│ │ chartTimeSeriesMixin.js
-│ │ stack.js
-│ │ testData.js
-│ │
-│ ├─cli
-│ │ console.vue
-│ │ consoleNew.vue
-│ │ fileDirectory.vue
-│ │ fileListState.vue
-│ │ terminal.vue
-│ │ webSSH.vue
-│ │ webSSHNew.vue
-│ │
-│ ├─common
-│ │ │ browserWindowZoom.vue
-│ │ │ chartUnit.vue
-│ │ │ configSync.vue
-│ │ │ copy.vue
-│ │ │ deleteButton.vue
-│ │ │ diagnosisTab.vue
-│ │ │ elementSet.vue
-│ │ │ i18n.js
-│ │ │ intro.vue
-│ │ │ latlngPicker.vue
-│ │ │ loading.vue
-│ │ │ login.vue
-│ │ │ metaData.vue
-│ │ │ multipleTime.vue
-│ │ │ nezhaColor.vue
-│ │ │ nzTransfer.vue
-│ │ │ pagination.vue
-│ │ │ pickTime.vue
-│ │ │ playlist.vue
-│ │ │ searchInput.vue
-│ │ │ searchSelectInfo.js
-│ │ │ selectTable.vue
-│ │ │ timePicker.vue
+│ │ ├─alert hover弹窗相关组件
│ │ │
-│ │ ├─alert
-│ │ │ alertDaysInfo.vue
-│ │ │ alertDetail.vue
-│ │ │ alertLabel.vue
-│ │ │ alertLabel2.vue
-│ │ │ alertLabel3.vue
-│ │ │ alertMessageInfo.vue
-│ │ │ alertMessageInfoDetail.vue
-│ │ │ alertMessageInfoTab.vue
-│ │ │ alertMessageInfoTimeLine.vue
-│ │ │ alertMessageLabelMixin.js
-│ │ │ alertRuleInfo.vue
-│ │ │ alertRuleInfo2.vue
-│ │ │ alertStateInfo.vue
-│ │ │ nzTooltip.vue
-│ │ │ selectAlertSilence.vue
-│ │ │ terminalLogInfo.vue
-│ │ │ trendMixins.js
+│ │ ├─bottomBox 底弹窗
+│ │ │ └─tabs 底弹窗分页面
│ │ │
-│ │ ├─bottomBox
-│ │ │ │ bottomBox.vue
-│ │ │ │ nzBottomDataList.vue
+│ │ ├─detailView 详细视图组件
+│ │ │
+│ │ ├─elSelect 重写element select
+│ │ │
+│ │ │
+│ │ ├─globalSearch 公关稿搜索组件
+│ │ │
+│ │ ├─js 部分公用js
+│ │ │ │ common.js 工具函数
+│ │ │ │ constants.js 静态数据
+│ │ │ │ divResize.js div改变宽高
+│ │ │ │ example.js 工具函数 处理 处理legend的别名
+│ │ │ │ htmlToPdf.js 将 html 转为pdf
+│ │ │ │ iconList.js 部分字体图标静态数据
+│ │ │ │ tools.js 工具函数
+│ │ │ │ validate.js element 校验函数
+│ │ │ │ Xterm.js 前端shell 引用文件
│ │ │ │
-│ │ │ └─tabs
-│ │ │ alertMessageTab.vue
-│ │ │ alertMessageTabNew.vue
-│ │ │ alertRuleEvalLog.vue
-│ │ │ assetSubTab.vue
-│ │ │ assetTab.vue
-│ │ │ cabinetTab.vue
-│ │ │ commentsBottomTab.vue
-│ │ │ cortexDetail.vue
-│ │ │ dashboardTab.vue
-│ │ │ discoveryTab.vue
-│ │ │ endpointQuery.vue
-│ │ │ endpointTabNew.vue
-│ │ │ IpDetails.vue
-│ │ │ issueTab.vue
-│ │ │ licenseManagementTab.vue
-│ │ │ logBottomTab.vue
-│ │ │ lokiStatus.vue
-│ │ │ networkBottomTab.vue
-│ │ │ notebookTab.vue
-│ │ │ operationLogTab.vue
-│ │ │ processBottomTab.vue
-│ │ │ recordRuleEvalLog.vue
-│ │ │ recordRulesQuery.vue
-│ │ │ rolesTab.vue
-│ │ │ scrapeEndpoint.vue
-│ │ │ softwareAssetTab.vue
-│ │ │ terminalLogCMDTab.vue
-│ │ │ terminalLogMonitorTab.vue
-│ │ │ terminalLogRecordTab.vue
-│ │ │ terminalLogSftpTab.vue
-│ │ │ terminalLogTab.vue
-│ │ │ vsysBottomTab.vue
+│ │ │ └─radomcolor 随机颜色
+│ │ │ color.txt 颜色数据
+│ │ │ randomcolor.js 随机颜色函数
│ │ │
-│ │ ├─copy-code
-│ │ │ │ copy-code.css
-│ │ │ │ index.js
-│ │ │ │ preview.js
-│ │ │ │
-│ │ │ └─utils
-│ │ │ markdown-it-copy-code.js
+│ │ ├─labelFilter asset endpoint 筛选组件
│ │ │
-│ │ ├─detailView
-│ │ │ │ detailViewTopSearch.vue
-│ │ │ │ nzDetailView.vue
-│ │ │ │
-│ │ │ ├─list
-│ │ │ │ ├─alertRule
-│ │ │ │ │ alertRuleDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─asset
-│ │ │ │ │ assetDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─dc
-│ │ │ │ │ dcDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─endpoint
-│ │ │ │ │ endpointDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─module
-│ │ │ │ │ moduleDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─notebook
-│ │ │ │ │ notebookDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─terminalLogDetail
-│ │ │ │ │ terminalLogDetail.vue
-│ │ │ │ │
-│ │ │ │ └─userDetail
-│ │ │ │ userDetail.vue
-│ │ │ │
-│ │ │ └─view
-│ │ │ │ detailViewRight.vue
-│ │ │ │
-│ │ │ └─detailRightTop
-│ │ │ detailRightTop.vue
+│ │ ├─language 国际化文件
│ │ │
-│ │ ├─elSelect
-│ │ │ MyElSelect.vue
│ │ │
-│ │ ├─filterSearch
-│ │ │ filterSearch.vue
-│ │ │ filterSearchData.js
+│ │ ├─mixin vue混合
│ │ │
-│ │ ├─globalSearch
-│ │ │ globalSearch.vue
-│ │ │ searchItemInfo.vue
+│ │ ├─myDatePicker 重构 el-data
│ │ │
-│ │ ├─js
-│ │ │ │ common.js
-│ │ │ │ constants.js
-│ │ │ │ divResize.js
-│ │ │ │ example.js
-│ │ │ │ htmlToPdf.js
-│ │ │ │ iconList.js
-│ │ │ │ tools.js
-│ │ │ │ validate.js
-│ │ │ │ Xterm.js
-│ │ │ │
-│ │ │ └─radomcolor
-│ │ │ color.txt
-│ │ │ randomcolor.js
+│ │ ├─project 拓扑图相关
│ │ │
-│ │ ├─labelFilter
-│ │ │ clickSearch.vue
-│ │ │ clickSearchNew.vue
-│ │ │ dropdown.vue
+│ │ ├─rightBox 右侧新增修改
│ │ │
-│ │ ├─language
-│ │ │ cn.js
-│ │ │ en.js
-│ │ │ index.js
-│ │ │ newcn.js
-│ │ │ newen.js
+│ │ ├─searchBox 搜索组件
│ │ │
-│ │ ├─message
-│ │ │ │ index.js
-│ │ │ │
-│ │ │ └─src
-│ │ │ main.js
-│ │ │ main.vue
-│ │ │
-│ │ ├─mixin
-│ │ │ │ alertLabelMixin.js
-│ │ │ │ beforeMeta2d.js
-│ │ │ │ chartDataList.js
-│ │ │ │ dataList.js
-│ │ │ │ detailViewLeftMixin.js
-│ │ │ │ detailViewMixin.js
-│ │ │ │ detailViewRightMixin.js
-│ │ │ │ editRigthBox.js
-│ │ │ │ exportHtml.js
-│ │ │ │ globalVariables.js
-│ │ │ │ htmlToPdfMixin.js
-│ │ │ │ mainMixinFun.js
-│ │ │ │ promqlInput.js
-│ │ │ │ routerPathParams.js
-│ │ │ │ subDataList.js
-│ │ │ │ table.js
-│ │ │ │
-│ │ │ └─system
-│ │ │ systemMixin.js
-│ │ │
-│ │ ├─myDatePicker
-│ │ │ │ index.js
-│ │ │ │
-│ │ │ └─src
-│ │ │ │ picker.vue
-│ │ │ │
-│ │ │ ├─basic
-│ │ │ │ date-table.vue
-│ │ │ │ month-table.vue
-│ │ │ │ time-spinner.vue
-│ │ │ │ year-table.vue
-│ │ │ │
-│ │ │ ├─panel
-│ │ │ │ date-range.vue
-│ │ │ │ date.vue
-│ │ │ │ month-range.vue
-│ │ │ │ time-range.vue
-│ │ │ │ time-select.vue
-│ │ │ │ time.vue
-│ │ │ │
-│ │ │ └─picker
-│ │ │ date-picker.js
-│ │ │ time-picker.js
-│ │ │ time-select.js
-│ │ │
-│ │ ├─overView
-│ │ │ messageAsset.vue
-│ │ │
-│ │ ├─panel
-│ │ │ panelVariables.vue
-│ │ │
-│ │ ├─popBox
-│ │ │ guide.vue
-│ │ │ selectAssetMetaGroup.vue
-│ │ │ selectAssetType.vue
-│ │ │ selectDashboard.vue
-│ │ │ selectPanel.vue
-│ │ │ selectWalk.vue
-│ │ │ topToolMoreOptions.vue
-│ │ │
-│ │ ├─project
-│ │ │ │ topoData.js
-│ │ │ │ topologyMixin.js
-│ │ │ │
-│ │ │ ├─image
-│ │ │ │ emptyData.png
-│ │ │ │
-│ │ │ ├─L5
-│ │ │ │ topoTooltip.vue
-│ │ │ │
-│ │ │ ├─meta2d
-│ │ │ │ │ CanvasContextMenu.vue
-│ │ │ │ │ meta2dCanvas.vue
-│ │ │ │ │ meta2dData.vue
-│ │ │ │ │ meta2dElement.vue
-│ │ │ │ │ meta2dHeader.vue
-│ │ │ │ │ meta2dMain.vue
-│ │ │ │ │ meta2dProps.vue
-│ │ │ │ │ meta2dSelectImage.vue
-│ │ │ │ │ meta2dTooltip.vue
-│ │ │ │ │ topologyTopTool.vue
-│ │ │ │ │
-│ │ │ │ └─js
-│ │ │ │ defaultIcon.js
-│ │ │ │ defaultPenLineData.js
-│ │ │ │ meta2dMainCalc.js
-│ │ │ │ meta2dStore.js
-│ │ │ │ topoUtil.js
-│ │ │ │
-│ │ │ └─popData
-│ │ │ alertTable.vue
-│ │ │ assetTable.vue
-│ │ │ endpointTable.vue
-│ │ │ expressionInfo.vue
-│ │ │ Info.vue
-│ │ │ Main.vue
-│ │ │
-│ │ ├─rightBox
-│ │ │ │ addEndpointBox.vue
-│ │ │ │ agentBox.vue
-│ │ │ │ alertRuleBox.vue
-│ │ │ │ alertSilenceBox.vue
-│ │ │ │ apiKeyBox.vue
-│ │ │ │ assetMetaBox.vue
-│ │ │ │ assetMetaGroup.vue
-│ │ │ │ assetStateBox.vue
-│ │ │ │ batchAddEndpoint.vue
-│ │ │ │ batchEditEndpoint.vue
-│ │ │ │ batchModifyEndpoint.vue
-│ │ │ │ cabinetBox.vue
-│ │ │ │ chartTempBox.vue
-│ │ │ │ dashboardTempBox.vue
-│ │ │ │ dcBox.vue
-│ │ │ │ editEndpointBoxNew.vue
-│ │ │ │ exprTmplBox.vue
-│ │ │ │ ipamBox.vue
-│ │ │ │ ipDetailsBox.vue
-│ │ │ │ issueBox.vue
-│ │ │ │ locationCascader.vue
-│ │ │ │ menuBox.vue
-│ │ │ │ mibBox.vue
-│ │ │ │ moduleBox.vue
-│ │ │ │ panelBox.vue
-│ │ │ │ pipelineSelect.vue
-│ │ │ │ playlistBox.vue
-│ │ │ │ profileBox.vue
-│ │ │ │ projectBox.vue
-│ │ │ │ recordRuleBox.vue
-│ │ │ │ snmpCredentialBox.vue
-│ │ │ │
-│ │ │ ├─administration
-│ │ │ │ assetTypeBox.vue
-│ │ │ │ backupsBox.vue
-│ │ │ │ modelBox.vue
-│ │ │ │ roleBox.vue
-│ │ │ │ userBox.vue
-│ │ │ │
-│ │ │ ├─asset
-│ │ │ │ assetBatchEditBox.vue
-│ │ │ │ assetBox.vue
-│ │ │ │ assetDiscoveryBox.vue
-│ │ │ │
-│ │ │ ├─chart
-│ │ │ │ chartConfig.vue
-│ │ │ │ chartRightBox.vue
-│ │ │ │ chartTypeShow.js
-│ │ │ │ otherChartConfig.vue
-│ │ │ │ publicConfig.js
-│ │ │ │ systemChartConfig.vue
-│ │ │ │
-│ │ │ ├─setting
-│ │ │ │ cabinetBox.vue
-│ │ │ │ globalizationBox.vue
-│ │ │ │
-│ │ │ ├─software
-│ │ │ │ softwareAssetBox.vue
-│ │ │ │ softwareTypeBox.vue
-│ │ │ │
-│ │ │ └─trafficSetting
-│ │ │ subBox.vue
-│ │ │ trafficSettingBox.vue
-│ │ │ trafficSettingTab.vue
-│ │ │
-│ │ ├─searchBox
-│ │ │ searchBox.vue
-│ │ │ searchBoxInfo.js
-│ │ │
-│ │ ├─snapshotProgress
+│ │ ├─snapshotProgress 快照蒙版
│ │ │ snapshotProgress.vue
│ │ │
-│ │ ├─table
-│ │ │ │ nzDataList.vue
-│ │ │ │
-│ │ │ ├─alert
-│ │ │ │ alertMessageTable.vue
-│ │ │ │ alertRuleEvalLogTable.vue
-│ │ │ │ alertRuleTable.vue
-│ │ │ │ alertSilenceTable.vue
-│ │ │ │
-│ │ │ ├─asset
-│ │ │ │ assetCommentTable.vue
-│ │ │ │ assetDiscoveryTable.vue
-│ │ │ │ assetMetaTable.vue
-│ │ │ │ assetNetworkTable.vue
-│ │ │ │ assetProcessTable.vue
-│ │ │ │ assetTable.vue
-│ │ │ │ assetVsysTable.vue
-│ │ │ │ disccoveryTabTable.vue
-│ │ │ │ licenseMangeTable.vue
-│ │ │ │
-│ │ │ ├─settings
-│ │ │ │ agentTable.vue
-│ │ │ │ assetTypeTable.vue
-│ │ │ │ backupsTable.vue
-│ │ │ │ cabinetTable.vue
-│ │ │ │ chartTmplTable.vue
-│ │ │ │ cortexDetailTable.vue
-│ │ │ │ credentialsTable.vue
-│ │ │ │ dashboardTmplTable.vue
-│ │ │ │ dcTable.vue
-│ │ │ │ endpointTable.vue
-│ │ │ │ exprTmplTable.vue
-│ │ │ │ globalizationTable.vue
-│ │ │ │ ipamTable.vue
-│ │ │ │ ipDetailsTable.vue
-│ │ │ │ issueTable.vue
-│ │ │ │ lokiStatusTable.vue
-│ │ │ │ menuTable.vue
-│ │ │ │ mibTable.vue
-│ │ │ │ modelTable.vue
-│ │ │ │ moduleTable.vue
-│ │ │ │ notebookTable.vue
-│ │ │ │ operationLogTable.vue
-│ │ │ │ projectTable.vue
-│ │ │ │ recordRuleEvalLogTable.vue
-│ │ │ │ recordRuleTable.vue
-│ │ │ │ roleTable.vue
-│ │ │ │ scrapeEndpointTable.vue
-│ │ │ │ softwareAssetTable.vue
-│ │ │ │ softwareTypeTable.vue
-│ │ │ │ terminalLogSftpTable.vue
-│ │ │ │ terminalLogTable.vue
-│ │ │ │ userTable.vue
-│ │ │ │ userTabTable.vue
-│ │ │ │
-│ │ │ ├─special
-│ │ │ │ endpointQueryTab.vue
-│ │ │ │ recordRulesQueryTab.vue
-│ │ │ │
-│ │ │ └─tool
-│ │ │ pingTable.vue
-│ │ │ traceTable.vue
+│ │ ├─table table组件
│ │ │
-│ │ ├─v-selectpagenew
-│ │ │ │ index.js
-│ │ │ │ methods.js
-│ │ │ │ Pagination.js
-│ │ │ │ Selectpage.js
-│ │ │ │ Table.js
-│ │ │ │
-│ │ │ └─css
-│ │ │ selectPage.css
+│ │ ├─v-selectpagenew 重构的 v-selectpage
│ │ │
-│ │ └─vueQR
-│ │ └─packages
-│ │ index.js
-│ │ readAsArrayBuffer.js
-│ │ util.js
-│ │ vue-qr.vue
+│ │ └─vueQR 二维码
│ │
-│ ├─layout
-│ │ container.vue
-│ │ header.vue
-│ │ home.vue
-│ │ leftMenu.vue
+│ ├─layout 布局
+│ │ container.vue 主体
+│ │ header.vue 头部
+│ │ home.vue 容器
+│ │ leftMenu.vue 左侧菜单
│ │
-│ └─page
-│ │ uPlot.vue
-│ │
-│ ├─alert
-│ │ alertMessage.vue
-│ │ alertRule.vue
-│ │ alertSilence.vue
-│ │ nzAlertTag.vue
-│ │
-│ ├─asset
-│ │ │ asset.vue
-│ │ │ assetDiscovery.vue
-│ │ │
-│ │ ├─components
-│ │ │ alert.vue
-│ │ │ assetTagEx.vue
-│ │ │ endpoint.vue
-│ │ │ ping.vue
-│ │ │
-│ │ └─software
-│ │ softwareAsset.vue
-│ │ softwareType.vue
-│ │
-│ ├─config
-│ │ │ about.vue
-│ │ │ agent.vue
-│ │ │ assetMeta.vue
-│ │ │ assetState.vue
-│ │ │ assetType.vue
-│ │ │ backups.vue
-│ │ │ basic.vue
-│ │ │ credentials.vue
-│ │ │ dc.vue
-│ │ │ email.vue
-│ │ │ globalization.vue
-│ │ │ ipam.vue
-│ │ │ issue.vue
-│ │ │ ldap.vue
-│ │ │ licenseGen.vue
-│ │ │ menus.vue
-│ │ │ mib.vue
-│ │ │ mibBrowser.vue
-│ │ │ model.vue
-│ │ │ monitor.vue
-│ │ │ operationLog.vue
-│ │ │ operationRecord.vue
-│ │ │ profile.vue
-│ │ │ profileChangePin.vue
-│ │ │ recordRule.vue
-│ │ │ roles.vue
-│ │ │ setup.vue
-│ │ │ snmp.vue
-│ │ │ system.vue
-│ │ │ terminal.vue
-│ │ │ terminalLog.vue
-│ │ │ user.vue
-│ │ │
-│ │ ├─system
-│ │ │ apiKeyTab.vue
-│ │ │ apiKeyTable.vue
-│ │ │ license.vue
-│ │ │ licenseData.js
-│ │ │ linkTab.vue
-│ │ │ linkTable.vue
-│ │ │ notifyMethodTab.vue
-│ │ │ notifyMethodTable.vue
-│ │ │ selfApiKeyTab.vue
-│ │ │ selfApiKeyTable.vue
-│ │ │ systemCommon.js
-│ │ │
-│ │ └─template
-│ │ chartTemp.vue
-│ │ dashboardTemp.vue
-│ │ exprTemp.vue
-│ │ index.vue
-│ │
-│ ├─dashboard
-│ │ │ alertChartParam.vue
-│ │ │ dashboard.vue
-│ │ │
-│ │ ├─explore
-│ │ │ │ CMTheme.tsx
-│ │ │ │ explore.vue
-│ │ │ │ exploreItem.vue
-│ │ │ │ exploreItemHtml.vue
-│ │ │ │ exploreItemMixin.js
-│ │ │ │ logqlHint.js
-│ │ │ │ logTab.vue
-│ │ │ │ promqlInput.vue
-│ │ │ │ suggestions.vue
-│ │ │ │
-│ │ │ ├─histoyrComponent
-│ │ │ │ exploreHistory.vue
-│ │ │ │
-│ │ │ ├─logql
-│ │ │ │ getTimeRange.js
-│ │ │ │ lezerConfig.js
-│ │ │ │ logql.vue
-│ │ │ │ logqlMixin.js
-│ │ │ │ monacoConfig.js
-│ │ │ │ setError.js
-│ │ │ │ situation.js
-│ │ │ │
-│ │ │ ├─logqlparser
-│ │ │ │ logqloarser.go
-│ │ │ │
-│ │ │ ├─MonacoVue
-│ │ │ │ vue-monaco.js
-│ │ │ │
-│ │ │ ├─promqlparser
-│ │ │ │ go.mod
-│ │ │ │ go.sum
-│ │ │ │ promqlparser.go
-│ │ │ │ promqlparser.wasm
-│ │ │ │ wasm_exec.js
-│ │ │ │
-│ │ │ └─queryPrompt
-│ │ │ queryPrompt.vue
-│ │ │
-│ │ └─overview
-│ │ chart.vue
-│ │ chartConfig.vue
-│ │
-│ ├─integration
-│ │ │ integration.vue
-│ │ │
-│ │ └─integration-tabs
-│ │ alert.vue
-│ │ automatic.vue
-│ │ configuration.vue
-│ │ dashboard.vue
-│ │ integration-tabs.vue
-│ │ manual.vue
-│ │ metric.vue
-│ │
-│ ├─monitor
-│ │ ├─endpoint
-│ │ │ endpointList.vue
-│ │ │
-│ │ ├─module
-│ │ │ moduleList.vue
-│ │ │
-│ │ └─project
-│ │ index.vue
-│ │ project.vue
-│ │ projectList.vue
-│ │
-│ ├─notebook
-│ │ notebook.vue
-│ │ notebookAdd.vue
-│ │ notebookList.vue
-│ │
-│ └─tool
-│ assetDiscovery.vue
-│ ping.vue
-│ trace.vue
+│ └─page 页面
│
-├─entrance
-│ ├─app
-│ │ App.vue
-│ │ index.html
-│ │ lodashInfo.md
-│ │ main.js
+├─entrance 打包入口
+│ ├─app 基础
│ │
-│ └─exportHtml
-│ App.vue
-│ exportHtml.html
-│ exportHtml.js
-│ i18nData.js
+│ └─exportHtml 快照
│
-├─libs
-│ bus.js
+├─libs 工具函数
│
-├─router
-│ │ index.js
-│ │
-│ └─exportHtmlRouter
-│ index.js
+├─router 路由
│
-└─store
- exportHtml.js
- index.js
- panel.js
- terminalFile.js
- timePicker.js
- topology.js
- user.js
+└─store vuex
```
\ No newline at end of file
diff --git a/nezha-docs/src/__docs__/index.zh-CN.md b/nezha-docs/src/__docs__/index.zh-CN.md
index 480c01b1c..7f8b6e547 100644
--- a/nezha-docs/src/__docs__/index.zh-CN.md
+++ b/nezha-docs/src/__docs__/index.zh-CN.md
@@ -11,1147 +11,98 @@ map:
# 目录结构
```
-│ http.js
-│ permission.js
+│ http.js axios 请求的实例 处理请求头等公共参数
+│ permission.js 权限
│
-├─assets
-│ ├─css
-│ │ │ animate.css
-│ │ │ common.scss
-│ │ │ font.scss
-│ │ │ index.scss
-│ │ │ main.scss
-│ │ │ nzIcon.css
-│ │ │ THEME_README.md
+├─assets 部分静态资源
+│ ├─css 公共css
│ │ │
-│ │ ├─common
-│ │ │ button.scss
-│ │ │ checkbox.scss
-│ │ │ index.scss
-│ │ │ loading.scss
-│ │ │ maplibre-gl.css
-│ │ │ rightBoxCommon.scss
-│ │ │ tableCommon.scss
-│ │ │ tooltip.scss
+│ │ ├─common 组件css
│ │ │
-│ │ ├─components
-│ │ │ │ index.scss
-│ │ │ │
-│ │ │ ├─chart
-│ │ │ │ chart.scss
-│ │ │ │
-│ │ │ ├─charts
-│ │ │ │ chart-list.scss
-│ │ │ │ chart.scss
-│ │ │ │
-│ │ │ ├─cli
-│ │ │ │ fileDirectory.scss
-│ │ │ │ fileListState.scss
-│ │ │ │ webSSH.scss
-│ │ │ │ webSSHNew.scss
-│ │ │ │
-│ │ │ ├─common
-│ │ │ │ │ browserWindowZoom.scss
-│ │ │ │ │ chartUnit.scss
-│ │ │ │ │ configSync.scss
-│ │ │ │ │ deleteButton.scss
-│ │ │ │ │ diagnosisTab.scss
-│ │ │ │ │ elementSet.scss
-│ │ │ │ │ intro.scss
-│ │ │ │ │ latIngPicker.scss
-│ │ │ │ │ loading.scss
-│ │ │ │ │ login.css
-│ │ │ │ │ login.scss
-│ │ │ │ │ multipleTime.scss
-│ │ │ │ │ nezhaColor.scss
-│ │ │ │ │ nzTransfer.scss
-│ │ │ │ │ pagination.scss
-│ │ │ │ │ searchBox.scss
-│ │ │ │ │ searchInput.scss
-│ │ │ │ │ selectTable.scss
-│ │ │ │ │ timePicker.scss
-│ │ │ │ │ v-md-editor.scss
-│ │ │ │ │
-│ │ │ │ ├─alert
-│ │ │ │ │ alertDaysInfo.scss
-│ │ │ │ │ alertLabel.scss
-│ │ │ │ │ alertMessageInfo.scss
-│ │ │ │ │ alertRuleInfo.scss
-│ │ │ │ │ alertStateInfo.scss
-│ │ │ │ │ selectAlertSilence.scss
-│ │ │ │ │
-│ │ │ │ ├─bottomBox
-│ │ │ │ │ bottomBox.scss
-│ │ │ │ │ dashboardTab.scss
-│ │ │ │ │ issueTab.scss
-│ │ │ │ │ terminalLogCMDTab.scss
-│ │ │ │ │ terminalLogMonitorTab.scss
-│ │ │ │ │ terminalLogRecordTab.scss
-│ │ │ │ │
-│ │ │ │ ├─detailView
-│ │ │ │ │ │ detailView.scss
-│ │ │ │ │ │ detailViewTopSearch.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─list
-│ │ │ │ │ │ common.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─view
-│ │ │ │ │ detailRightTop.scss
-│ │ │ │ │ detailViewRight.scss
-│ │ │ │ │
-│ │ │ │ ├─filterSearch
-│ │ │ │ │ filterSearch.scss
-│ │ │ │ │
-│ │ │ │ ├─globalSearch
-│ │ │ │ │ globalSearch.scss
-│ │ │ │ │ searchItemInfo.scss
-│ │ │ │ │
-│ │ │ │ ├─labelFilter
-│ │ │ │ │ clickSearch.scss
-│ │ │ │ │
-│ │ │ │ ├─panel
-│ │ │ │ │ panelVariables.scss
-│ │ │ │ │
-│ │ │ │ ├─paramBpx
-│ │ │ │ │ paramBox.scss
-│ │ │ │ │
-│ │ │ │ ├─picker
-│ │ │ │ │ picker.scss
-│ │ │ │ │
-│ │ │ │ ├─popBox
-│ │ │ │ │ guide.scss
-│ │ │ │ │ selectAssetMetaGroup.scss
-│ │ │ │ │ selectAssetType.scss
-│ │ │ │ │ selectDashboard.scss
-│ │ │ │ │ selectPanel.scss
-│ │ │ │ │ selectWalk.scss
-│ │ │ │ │ snapshotProgress.scss
-│ │ │ │ │
-│ │ │ │ ├─project
-│ │ │ │ │ │ chart.scss
-│ │ │ │ │ │ meta2dHeader.scss
-│ │ │ │ │ │ meta2dMain.scss
-│ │ │ │ │ │ meta2dProps.scss
-│ │ │ │ │ │ topology.scss
-│ │ │ │ │ │ topologyL5.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─L5
-│ │ │ │ │ │ │ CanvasContextMenu.scss
-│ │ │ │ │ │ │ CanvasProps.scss
-│ │ │ │ │ │ │ topologyTopTool.scss
-│ │ │ │ │ │ │ topoTooltip.scss
-│ │ │ │ │ │ │
-│ │ │ │ │ │ └─popData
-│ │ │ │ │ │ common.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─popData
-│ │ │ │ │ Info.scss
-│ │ │ │ │
-│ │ │ │ ├─rightBox
-│ │ │ │ │ │ addEndpointBox.scss
-│ │ │ │ │ │ alertRuleBox.scss
-│ │ │ │ │ │ alertSilenceBox.scss
-│ │ │ │ │ │ assetBactchEditBox.scss
-│ │ │ │ │ │ assetMetaBox.scss
-│ │ │ │ │ │ assetStateBox.scss
-│ │ │ │ │ │ backupsBox.scss
-│ │ │ │ │ │ batchAddEndpoint.scss
-│ │ │ │ │ │ batchModifyEndpoint.scss
-│ │ │ │ │ │ editEndpointBoxNew.scss
-│ │ │ │ │ │ ipam.scss
-│ │ │ │ │ │ issueBox.scss
-│ │ │ │ │ │ locationCascader.scss
-│ │ │ │ │ │ menuBox.scss
-│ │ │ │ │ │ mibBox.scss
-│ │ │ │ │ │ moduleBox.scss
-│ │ │ │ │ │ panelBox.scss
-│ │ │ │ │ │ pipelineSelect.scss
-│ │ │ │ │ │ recordRuleBox.css
-│ │ │ │ │ │ recordRuleBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─asset
-│ │ │ │ │ │ assetBox.scss
-│ │ │ │ │ │ assetDiscoveryBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─chartRightBox
-│ │ │ │ │ │ chartRightBox.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─trafficSetting
-│ │ │ │ │ subBox.scss
-│ │ │ │ │ trafficSettingTab.scss
-│ │ │ │ │
-│ │ │ │ ├─table
-│ │ │ │ │ ├─alert
-│ │ │ │ │ │ alertMessageTable.scss
-│ │ │ │ │ │ alertRuleTable.scss
-│ │ │ │ │ │ alertSilenceTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─asset
-│ │ │ │ │ │ assetTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ ├─settings
-│ │ │ │ │ │ backupsTable.scss
-│ │ │ │ │ │ cortexDetailTable.scss
-│ │ │ │ │ │ endpointTable.scss
-│ │ │ │ │ │ switchTab.scss
-│ │ │ │ │ │ userTable.scss
-│ │ │ │ │ │
-│ │ │ │ │ └─special
-│ │ │ │ │ endpointQuery.scss
-│ │ │ │ │
-│ │ │ │ ├─threshold
-│ │ │ │ │ threshold.scss
-│ │ │ │ │
-│ │ │ │ └─v-selectpagenew
-│ │ │ │ selectpage.scss
-│ │ │ │
-│ │ │ ├─introjs
-│ │ │ │ introjs-dark.scss
-│ │ │ │ introjs.scss
-│ │ │ │
-│ │ │ ├─layout
-│ │ │ │ container.scss
-│ │ │ │ header.scss
-│ │ │ │ home.scss
-│ │ │ │ leftMenu.scss
-│ │ │ │
-│ │ │ └─page
-│ │ │ ├─alert
-│ │ │ │ alertMessage.scss
-│ │ │ │ nzAlertTag.scss
-│ │ │ │
-│ │ │ ├─config
-│ │ │ │ │ about.scss
-│ │ │ │ │ agent.scss
-│ │ │ │ │ assetMeta.scss
-│ │ │ │ │ backups.scss
-│ │ │ │ │ licenseGen.scss
-│ │ │ │ │ mibBrowser.scss
-│ │ │ │ │ operationRecord.scss
-│ │ │ │ │ profile.scss
-│ │ │ │ │ profileChangePin.scss
-│ │ │ │ │ setup.scss
-│ │ │ │ │ system.scss
-│ │ │ │ │
-│ │ │ │ └─system
-│ │ │ │ license.scss
-│ │ │ │ notifyMethodTab.scss
-│ │ │ │
-│ │ │ ├─dashboard
-│ │ │ │ │ chartBox.scss
-│ │ │ │ │ panel.scss
-│ │ │ │ │
-│ │ │ │ ├─explore
-│ │ │ │ │ explore.scss
-│ │ │ │ │ exploreHistory.scss
-│ │ │ │ │ logTab.scss
-│ │ │ │ │ promqlInput.scss
-│ │ │ │ │ queryPrompt.scss
-│ │ │ │ │
-│ │ │ │ └─overview
-│ │ │ │ chart.scss
-│ │ │ │ overview2.scss
-│ │ │ │
-│ │ │ ├─integration
-│ │ │ │ integration.scss
-│ │ │ │
-│ │ │ ├─monitor
-│ │ │ │ └─project
-│ │ │ │ project.scss
-│ │ │ │
-│ │ │ ├─notebook
-│ │ │ │ notebook.scss
-│ │ │ │
-│ │ │ ├─softwareType
-│ │ │ │ softwareType.scss
-│ │ │ │
-│ │ │ └─tool
-│ │ │ ping.scss
-│ │ │ trace.scss
+│ │ ├─components 组件css
│ │ │
-│ │ ├─font
-│ │ │ iconfont.css
-│ │ │ iconfont.eot
-│ │ │ iconfont.js
-│ │ │ iconfont.json
-│ │ │ iconfont.svg
-│ │ │ iconfont.ttf
-│ │ │ iconfont.woff
-│ │ │ iconfont.woff2
-│ │ │ Inter-Regular.ttf
-│ │ │ metricPreview.scss
-│ │ │ NotoSans-Regular.ttf
-│ │ │ NunitoSans-Regular.ttf
+│ │ ├─font 字体图标css
│ │ │
-│ │ └─themes
-│ │ │ common.scss
-│ │ │ theme-dark.scss
-│ │ │ theme-light.scss
-│ │ │
-│ │ └─src
-│ │ │ alert.scss
-│ │ │ aside.scss
-│ │ │ autocomplete.scss
-│ │ │ avatar.scss
-│ │ │ backtop.scss
-│ │ │ badge.scss
-│ │ │ base.scss
-│ │ │ breadcrumb-item.scss
-│ │ │ breadcrumb.scss
-│ │ │ button-group.scss
-│ │ │ button.scss
-│ │ │ calendar.scss
-│ │ │ card.scss
-│ │ │ carousel-item.scss
-│ │ │ carousel.scss
-│ │ │ cascader-panel.scss
-│ │ │ cascader.scss
-│ │ │ checkbox-button.scss
-│ │ │ checkbox-group.scss
-│ │ │ checkbox.scss
-│ │ │ col.scss
-│ │ │ collapse-item.scss
-│ │ │ collapse.scss
-│ │ │ color-picker.scss
-│ │ │ container.scss
-│ │ │ date-picker.scss
-│ │ │ descriptions-item.scss
-│ │ │ descriptions.scss
-│ │ │ dialog.scss
-│ │ │ display.scss
-│ │ │ divider.scss
-│ │ │ drawer.scss
-│ │ │ dropdown-item.scss
-│ │ │ dropdown-menu.scss
-│ │ │ dropdown.scss
-│ │ │ empty.scss
-│ │ │ footer.scss
-│ │ │ form-item.scss
-│ │ │ form.scss
-│ │ │ header.scss
-│ │ │ icon.scss
-│ │ │ image.scss
-│ │ │ index.scss
-│ │ │ infinite-scroll.scss
-│ │ │ infiniteScroll.scss
-│ │ │ input-number.scss
-│ │ │ input.scss
-│ │ │ link.scss
-│ │ │ loading.scss
-│ │ │ main.scss
-│ │ │ menu-item-group.scss
-│ │ │ menu-item.scss
-│ │ │ menu.scss
-│ │ │ message-box.scss
-│ │ │ message.scss
-│ │ │ notification.scss
-│ │ │ option-group.scss
-│ │ │ option.scss
-│ │ │ page-header.scss
-│ │ │ pagination.scss
-│ │ │ popconfirm.scss
-│ │ │ popover.scss
-│ │ │ popper.scss
-│ │ │ progress.scss
-│ │ │ radio-button.scss
-│ │ │ radio-group.scss
-│ │ │ radio.scss
-│ │ │ rate.scss
-│ │ │ reset.scss
-│ │ │ result.scss
-│ │ │ row.scss
-│ │ │ scrollbar.scss
-│ │ │ select-dropdown.scss
-│ │ │ select.scss
-│ │ │ skeleton-item.scss
-│ │ │ skeleton.scss
-│ │ │ slider.scss
-│ │ │ spinner.scss
-│ │ │ step.scss
-│ │ │ steps.scss
-│ │ │ submenu.scss
-│ │ │ switch.scss
-│ │ │ tab-pane.scss
-│ │ │ table-column.scss
-│ │ │ table.scss
-│ │ │ tabs.scss
-│ │ │ tag.scss
-│ │ │ time-picker.scss
-│ │ │ time-select.scss
-│ │ │ timeline-item.scss
-│ │ │ timeline.scss
-│ │ │ tooltip.scss
-│ │ │ transfer.scss
-│ │ │ tree.scss
-│ │ │ upload.scss
-│ │ │
-│ │ ├─common
-│ │ │ popup.scss
-│ │ │ transition.scss
-│ │ │ var.scss
-│ │ │
-│ │ ├─date-picker
-│ │ │ date-picker.scss
-│ │ │ date-range-picker.scss
-│ │ │ date-table.scss
-│ │ │ month-table.scss
-│ │ │ picker-panel.scss
-│ │ │ picker.scss
-│ │ │ time-picker.scss
-│ │ │ time-range-picker.scss
-│ │ │ time-spinner.scss
-│ │ │ year-table.scss
-│ │ │
-│ │ ├─fonts
-│ │ │ element-icons.ttf
-│ │ │ element-icons.woff
-│ │ │
-│ │ └─mixins
-│ │ config.scss
-│ │ function.scss
-│ │ mixins.scss
-│ │ utils.scss
-│ │ _button.scss
+│ │ └─themes 主题css
+│ │ │
+│ ├─img 图片文件
+│ │ │
+│ └─stylus 对外暴露的css (所有css)
+│
+├─components 组件
+│ ├─chart 所有 chart 主要相关的组件
│ │
-│ ├─img
-│ │ dc.png
-│ │ dc1.png
-│ │ dc2.png
-│ │ dc3.png
-│ │ down.png
-│ │ explore-tab-logo.png
-│ │ favicon.ico
-│ │ jj.png
-│ │ jj1.png
-│ │ jj3.png
-│ │ loading.gif
-│ │ login-background.png
-│ │ logo-big.png
-│ │ logo.svg
-│ │ logo1-2.png
-│ │ starCloud1.svg
-│ │ starCloud2.svg
-│ │ starCloud3.svg
-│ │ starCloud4.svg
-│ │ starCloud5.svg
-│ │ starCloud6.svg
-│ │ starCloud7.svg
-│ │ system-sound-settings.gif
-│ │ up.png
+│ ├─cli 前端shell组件
│ │
-│ └─stylus
-│ index.scss
-│ main.scss
-│
-├─components
-│ ├─chart
-│ │ │ assetInfoData.js
-│ │ │ chart.vue
-│ │ │ chartDataFormat.js
-│ │ │ chartDetail.vue
-│ │ │ chartDetailNew.vue
-│ │ │ chartFormat.js
-│ │ │ chartHeader.vue
-│ │ │ chartHeaderMixin.js
-│ │ │ chartList.vue
-│ │ │ chartMixin.js
-│ │ │ ChartScreenHeader.vue
-│ │ │ chartTempData.js
-│ │ │ defaultLineData.js
-│ │ │ defaultLogData.js
-│ │ │ defaultTableData.js
-│ │ │ endpointInfoData.js
-│ │ │ logContext.vue
-│ │ │ logsData.js
-│ │ │ markdownEditor.vue
-│ │ │ panelChart.vue
-│ │ │ renderChart.js
-│ │ │ richTextEditor.vue
-│ │ │ tempGroup.js
+│ ├─common 公共组件
│ │ │
-│ │ └─chart
-│ │ │ chart-table.vue
-│ │ │ chartAssetInfo.vue
-│ │ │ chartAutotopology.vue
-│ │ │ chartBar.vue
-│ │ │ chartBubble.vue
-│ │ │ chartClock.vue
-│ │ │ chartDiagram.vue
-│ │ │ chartDoughnut.vue
-│ │ │ chartEndpointInfo.vue
-│ │ │ chartFunnel.vue
-│ │ │ chartGauge.vue
-│ │ │ chartGroup.vue
-│ │ │ chartHexagonD3.vue
-│ │ │ chartLog.vue
-│ │ │ chartMap.vue
-│ │ │ chartNoData.vue
-│ │ │ chartPie.vue
-│ │ │ chartRank.vue
-│ │ │ chartRose.vue
-│ │ │ chartSankey.vue
-│ │ │ chartStat.vue
-│ │ │ chartTable.vue
-│ │ │ chartText.vue
-│ │ │ chartTimeSeries.vue
-│ │ │ chartTopology.vue
-│ │ │ chartTreemap.vue
-│ │ │ chartUrl.vue
-│ │ │ legend.vue
-│ │ │ line-chart-block.vue
-│ │ │ mapStyle.js
-│ │ │ tools.js
-│ │ │
-│ │ ├─grid
-│ │ │ aspectRatio.js
-│ │ │ CustomDragElement.vue
-│ │ │ DOM.js
-│ │ │ draggableUtils.js
-│ │ │ GridItem.vue
-│ │ │ GridLayout.vue
-│ │ │ index.js
-│ │ │ responsiveUtils.js
-│ │ │ TestElement.vue
-│ │ │ utils.js
-│ │ │
-│ │ ├─options
-│ │ │ chartBar.js
-│ │ │ chartClock.js
-│ │ │ chartGauge.js
-│ │ │ chartHexagonD3.js
-│ │ │ chartPie.js
-│ │ │ chartSparkline.js
-│ │ │ chartTimeSeries.js
-│ │ │ chartTreemap.js
-│ │ │ fontWidth.js
-│ │ │
-│ │ └─uplot
-│ │ chartTimeSeries.vue
-│ │ chartTimeSeriesMixin.js
-│ │ stack.js
-│ │ testData.js
-│ │
-│ ├─cli
-│ │ console.vue
-│ │ consoleNew.vue
-│ │ fileDirectory.vue
-│ │ fileListState.vue
-│ │ terminal.vue
-│ │ webSSH.vue
-│ │ webSSHNew.vue
-│ │
-│ ├─common
-│ │ │ browserWindowZoom.vue
-│ │ │ chartUnit.vue
-│ │ │ configSync.vue
-│ │ │ copy.vue
-│ │ │ deleteButton.vue
-│ │ │ diagnosisTab.vue
-│ │ │ elementSet.vue
-│ │ │ i18n.js
-│ │ │ intro.vue
-│ │ │ latlngPicker.vue
-│ │ │ loading.vue
-│ │ │ login.vue
-│ │ │ metaData.vue
-│ │ │ multipleTime.vue
-│ │ │ nezhaColor.vue
-│ │ │ nzTransfer.vue
-│ │ │ pagination.vue
-│ │ │ pickTime.vue
-│ │ │ playlist.vue
-│ │ │ searchInput.vue
-│ │ │ searchSelectInfo.js
-│ │ │ selectTable.vue
-│ │ │ timePicker.vue
+│ │ ├─alert hover弹窗相关组件
│ │ │
-│ │ ├─alert
-│ │ │ alertDaysInfo.vue
-│ │ │ alertDetail.vue
-│ │ │ alertLabel.vue
-│ │ │ alertLabel2.vue
-│ │ │ alertLabel3.vue
-│ │ │ alertMessageInfo.vue
-│ │ │ alertMessageInfoDetail.vue
-│ │ │ alertMessageInfoTab.vue
-│ │ │ alertMessageInfoTimeLine.vue
-│ │ │ alertMessageLabelMixin.js
-│ │ │ alertRuleInfo.vue
-│ │ │ alertRuleInfo2.vue
-│ │ │ alertStateInfo.vue
-│ │ │ nzTooltip.vue
-│ │ │ selectAlertSilence.vue
-│ │ │ terminalLogInfo.vue
-│ │ │ trendMixins.js
+│ │ ├─bottomBox 底弹窗
+│ │ │ └─tabs 底弹窗分页面
│ │ │
-│ │ ├─bottomBox
-│ │ │ │ bottomBox.vue
-│ │ │ │ nzBottomDataList.vue
+│ │ ├─detailView 详细视图组件
+│ │ │
+│ │ ├─elSelect 重写element select
+│ │ │
+│ │ │
+│ │ ├─globalSearch 公关稿搜索组件
+│ │ │
+│ │ ├─js 部分公用js
+│ │ │ │ common.js 工具函数
+│ │ │ │ constants.js 静态数据
+│ │ │ │ divResize.js div改变宽高
+│ │ │ │ example.js 工具函数 处理 处理legend的别名
+│ │ │ │ htmlToPdf.js 将 html 转为pdf
+│ │ │ │ iconList.js 部分字体图标静态数据
+│ │ │ │ tools.js 工具函数
+│ │ │ │ validate.js element 校验函数
+│ │ │ │ Xterm.js 前端shell 引用文件
│ │ │ │
-│ │ │ └─tabs
-│ │ │ alertMessageTab.vue
-│ │ │ alertMessageTabNew.vue
-│ │ │ alertRuleEvalLog.vue
-│ │ │ assetSubTab.vue
-│ │ │ assetTab.vue
-│ │ │ cabinetTab.vue
-│ │ │ commentsBottomTab.vue
-│ │ │ cortexDetail.vue
-│ │ │ dashboardTab.vue
-│ │ │ discoveryTab.vue
-│ │ │ endpointQuery.vue
-│ │ │ endpointTabNew.vue
-│ │ │ IpDetails.vue
-│ │ │ issueTab.vue
-│ │ │ licenseManagementTab.vue
-│ │ │ logBottomTab.vue
-│ │ │ lokiStatus.vue
-│ │ │ networkBottomTab.vue
-│ │ │ notebookTab.vue
-│ │ │ operationLogTab.vue
-│ │ │ processBottomTab.vue
-│ │ │ recordRuleEvalLog.vue
-│ │ │ recordRulesQuery.vue
-│ │ │ rolesTab.vue
-│ │ │ scrapeEndpoint.vue
-│ │ │ softwareAssetTab.vue
-│ │ │ terminalLogCMDTab.vue
-│ │ │ terminalLogMonitorTab.vue
-│ │ │ terminalLogRecordTab.vue
-│ │ │ terminalLogSftpTab.vue
-│ │ │ terminalLogTab.vue
-│ │ │ vsysBottomTab.vue
+│ │ │ └─radomcolor 随机颜色
+│ │ │ color.txt 颜色数据
+│ │ │ randomcolor.js 随机颜色函数
│ │ │
-│ │ ├─copy-code
-│ │ │ │ copy-code.css
-│ │ │ │ index.js
-│ │ │ │ preview.js
-│ │ │ │
-│ │ │ └─utils
-│ │ │ markdown-it-copy-code.js
+│ │ ├─labelFilter asset endpoint 筛选组件
│ │ │
-│ │ ├─detailView
-│ │ │ │ detailViewTopSearch.vue
-│ │ │ │ nzDetailView.vue
-│ │ │ │
-│ │ │ ├─list
-│ │ │ │ ├─alertRule
-│ │ │ │ │ alertRuleDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─asset
-│ │ │ │ │ assetDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─dc
-│ │ │ │ │ dcDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─endpoint
-│ │ │ │ │ endpointDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─module
-│ │ │ │ │ moduleDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─notebook
-│ │ │ │ │ notebookDetail.vue
-│ │ │ │ │
-│ │ │ │ ├─terminalLogDetail
-│ │ │ │ │ terminalLogDetail.vue
-│ │ │ │ │
-│ │ │ │ └─userDetail
-│ │ │ │ userDetail.vue
-│ │ │ │
-│ │ │ └─view
-│ │ │ │ detailViewRight.vue
-│ │ │ │
-│ │ │ └─detailRightTop
-│ │ │ detailRightTop.vue
+│ │ ├─language 国际化文件
│ │ │
-│ │ ├─elSelect
-│ │ │ MyElSelect.vue
│ │ │
-│ │ ├─filterSearch
-│ │ │ filterSearch.vue
-│ │ │ filterSearchData.js
+│ │ ├─mixin vue混合
│ │ │
-│ │ ├─globalSearch
-│ │ │ globalSearch.vue
-│ │ │ searchItemInfo.vue
+│ │ ├─myDatePicker 重构 el-data
│ │ │
-│ │ ├─js
-│ │ │ │ common.js
-│ │ │ │ constants.js
-│ │ │ │ divResize.js
-│ │ │ │ example.js
-│ │ │ │ htmlToPdf.js
-│ │ │ │ iconList.js
-│ │ │ │ tools.js
-│ │ │ │ validate.js
-│ │ │ │ Xterm.js
-│ │ │ │
-│ │ │ └─radomcolor
-│ │ │ color.txt
-│ │ │ randomcolor.js
+│ │ ├─project 拓扑图相关
│ │ │
-│ │ ├─labelFilter
-│ │ │ clickSearch.vue
-│ │ │ clickSearchNew.vue
-│ │ │ dropdown.vue
+│ │ ├─rightBox 右侧新增修改
│ │ │
-│ │ ├─language
-│ │ │ cn.js
-│ │ │ en.js
-│ │ │ index.js
-│ │ │ newcn.js
-│ │ │ newen.js
+│ │ ├─searchBox 搜索组件
│ │ │
-│ │ ├─message
-│ │ │ │ index.js
-│ │ │ │
-│ │ │ └─src
-│ │ │ main.js
-│ │ │ main.vue
-│ │ │
-│ │ ├─mixin
-│ │ │ │ alertLabelMixin.js
-│ │ │ │ beforeMeta2d.js
-│ │ │ │ chartDataList.js
-│ │ │ │ dataList.js
-│ │ │ │ detailViewLeftMixin.js
-│ │ │ │ detailViewMixin.js
-│ │ │ │ detailViewRightMixin.js
-│ │ │ │ editRigthBox.js
-│ │ │ │ exportHtml.js
-│ │ │ │ globalVariables.js
-│ │ │ │ htmlToPdfMixin.js
-│ │ │ │ mainMixinFun.js
-│ │ │ │ promqlInput.js
-│ │ │ │ routerPathParams.js
-│ │ │ │ subDataList.js
-│ │ │ │ table.js
-│ │ │ │
-│ │ │ └─system
-│ │ │ systemMixin.js
-│ │ │
-│ │ ├─myDatePicker
-│ │ │ │ index.js
-│ │ │ │
-│ │ │ └─src
-│ │ │ │ picker.vue
-│ │ │ │
-│ │ │ ├─basic
-│ │ │ │ date-table.vue
-│ │ │ │ month-table.vue
-│ │ │ │ time-spinner.vue
-│ │ │ │ year-table.vue
-│ │ │ │
-│ │ │ ├─panel
-│ │ │ │ date-range.vue
-│ │ │ │ date.vue
-│ │ │ │ month-range.vue
-│ │ │ │ time-range.vue
-│ │ │ │ time-select.vue
-│ │ │ │ time.vue
-│ │ │ │
-│ │ │ └─picker
-│ │ │ date-picker.js
-│ │ │ time-picker.js
-│ │ │ time-select.js
-│ │ │
-│ │ ├─overView
-│ │ │ messageAsset.vue
-│ │ │
-│ │ ├─panel
-│ │ │ panelVariables.vue
-│ │ │
-│ │ ├─popBox
-│ │ │ guide.vue
-│ │ │ selectAssetMetaGroup.vue
-│ │ │ selectAssetType.vue
-│ │ │ selectDashboard.vue
-│ │ │ selectPanel.vue
-│ │ │ selectWalk.vue
-│ │ │ topToolMoreOptions.vue
-│ │ │
-│ │ ├─project
-│ │ │ │ topoData.js
-│ │ │ │ topologyMixin.js
-│ │ │ │
-│ │ │ ├─image
-│ │ │ │ emptyData.png
-│ │ │ │
-│ │ │ ├─L5
-│ │ │ │ topoTooltip.vue
-│ │ │ │
-│ │ │ ├─meta2d
-│ │ │ │ │ CanvasContextMenu.vue
-│ │ │ │ │ meta2dCanvas.vue
-│ │ │ │ │ meta2dData.vue
-│ │ │ │ │ meta2dElement.vue
-│ │ │ │ │ meta2dHeader.vue
-│ │ │ │ │ meta2dMain.vue
-│ │ │ │ │ meta2dProps.vue
-│ │ │ │ │ meta2dSelectImage.vue
-│ │ │ │ │ meta2dTooltip.vue
-│ │ │ │ │ topologyTopTool.vue
-│ │ │ │ │
-│ │ │ │ └─js
-│ │ │ │ defaultIcon.js
-│ │ │ │ defaultPenLineData.js
-│ │ │ │ meta2dMainCalc.js
-│ │ │ │ meta2dStore.js
-│ │ │ │ topoUtil.js
-│ │ │ │
-│ │ │ └─popData
-│ │ │ alertTable.vue
-│ │ │ assetTable.vue
-│ │ │ endpointTable.vue
-│ │ │ expressionInfo.vue
-│ │ │ Info.vue
-│ │ │ Main.vue
-│ │ │
-│ │ ├─rightBox
-│ │ │ │ addEndpointBox.vue
-│ │ │ │ agentBox.vue
-│ │ │ │ alertRuleBox.vue
-│ │ │ │ alertSilenceBox.vue
-│ │ │ │ apiKeyBox.vue
-│ │ │ │ assetMetaBox.vue
-│ │ │ │ assetMetaGroup.vue
-│ │ │ │ assetStateBox.vue
-│ │ │ │ batchAddEndpoint.vue
-│ │ │ │ batchEditEndpoint.vue
-│ │ │ │ batchModifyEndpoint.vue
-│ │ │ │ cabinetBox.vue
-│ │ │ │ chartTempBox.vue
-│ │ │ │ dashboardTempBox.vue
-│ │ │ │ dcBox.vue
-│ │ │ │ editEndpointBoxNew.vue
-│ │ │ │ exprTmplBox.vue
-│ │ │ │ ipamBox.vue
-│ │ │ │ ipDetailsBox.vue
-│ │ │ │ issueBox.vue
-│ │ │ │ locationCascader.vue
-│ │ │ │ menuBox.vue
-│ │ │ │ mibBox.vue
-│ │ │ │ moduleBox.vue
-│ │ │ │ panelBox.vue
-│ │ │ │ pipelineSelect.vue
-│ │ │ │ playlistBox.vue
-│ │ │ │ profileBox.vue
-│ │ │ │ projectBox.vue
-│ │ │ │ recordRuleBox.vue
-│ │ │ │ snmpCredentialBox.vue
-│ │ │ │
-│ │ │ ├─administration
-│ │ │ │ assetTypeBox.vue
-│ │ │ │ backupsBox.vue
-│ │ │ │ modelBox.vue
-│ │ │ │ roleBox.vue
-│ │ │ │ userBox.vue
-│ │ │ │
-│ │ │ ├─asset
-│ │ │ │ assetBatchEditBox.vue
-│ │ │ │ assetBox.vue
-│ │ │ │ assetDiscoveryBox.vue
-│ │ │ │
-│ │ │ ├─chart
-│ │ │ │ chartConfig.vue
-│ │ │ │ chartRightBox.vue
-│ │ │ │ chartTypeShow.js
-│ │ │ │ otherChartConfig.vue
-│ │ │ │ publicConfig.js
-│ │ │ │ systemChartConfig.vue
-│ │ │ │
-│ │ │ ├─setting
-│ │ │ │ cabinetBox.vue
-│ │ │ │ globalizationBox.vue
-│ │ │ │
-│ │ │ ├─software
-│ │ │ │ softwareAssetBox.vue
-│ │ │ │ softwareTypeBox.vue
-│ │ │ │
-│ │ │ └─trafficSetting
-│ │ │ subBox.vue
-│ │ │ trafficSettingBox.vue
-│ │ │ trafficSettingTab.vue
-│ │ │
-│ │ ├─searchBox
-│ │ │ searchBox.vue
-│ │ │ searchBoxInfo.js
-│ │ │
-│ │ ├─snapshotProgress
+│ │ ├─snapshotProgress 快照蒙版
│ │ │ snapshotProgress.vue
│ │ │
-│ │ ├─table
-│ │ │ │ nzDataList.vue
-│ │ │ │
-│ │ │ ├─alert
-│ │ │ │ alertMessageTable.vue
-│ │ │ │ alertRuleEvalLogTable.vue
-│ │ │ │ alertRuleTable.vue
-│ │ │ │ alertSilenceTable.vue
-│ │ │ │
-│ │ │ ├─asset
-│ │ │ │ assetCommentTable.vue
-│ │ │ │ assetDiscoveryTable.vue
-│ │ │ │ assetMetaTable.vue
-│ │ │ │ assetNetworkTable.vue
-│ │ │ │ assetProcessTable.vue
-│ │ │ │ assetTable.vue
-│ │ │ │ assetVsysTable.vue
-│ │ │ │ disccoveryTabTable.vue
-│ │ │ │ licenseMangeTable.vue
-│ │ │ │
-│ │ │ ├─settings
-│ │ │ │ agentTable.vue
-│ │ │ │ assetTypeTable.vue
-│ │ │ │ backupsTable.vue
-│ │ │ │ cabinetTable.vue
-│ │ │ │ chartTmplTable.vue
-│ │ │ │ cortexDetailTable.vue
-│ │ │ │ credentialsTable.vue
-│ │ │ │ dashboardTmplTable.vue
-│ │ │ │ dcTable.vue
-│ │ │ │ endpointTable.vue
-│ │ │ │ exprTmplTable.vue
-│ │ │ │ globalizationTable.vue
-│ │ │ │ ipamTable.vue
-│ │ │ │ ipDetailsTable.vue
-│ │ │ │ issueTable.vue
-│ │ │ │ lokiStatusTable.vue
-│ │ │ │ menuTable.vue
-│ │ │ │ mibTable.vue
-│ │ │ │ modelTable.vue
-│ │ │ │ moduleTable.vue
-│ │ │ │ notebookTable.vue
-│ │ │ │ operationLogTable.vue
-│ │ │ │ projectTable.vue
-│ │ │ │ recordRuleEvalLogTable.vue
-│ │ │ │ recordRuleTable.vue
-│ │ │ │ roleTable.vue
-│ │ │ │ scrapeEndpointTable.vue
-│ │ │ │ softwareAssetTable.vue
-│ │ │ │ softwareTypeTable.vue
-│ │ │ │ terminalLogSftpTable.vue
-│ │ │ │ terminalLogTable.vue
-│ │ │ │ userTable.vue
-│ │ │ │ userTabTable.vue
-│ │ │ │
-│ │ │ ├─special
-│ │ │ │ endpointQueryTab.vue
-│ │ │ │ recordRulesQueryTab.vue
-│ │ │ │
-│ │ │ └─tool
-│ │ │ pingTable.vue
-│ │ │ traceTable.vue
+│ │ ├─table table组件
│ │ │
-│ │ ├─v-selectpagenew
-│ │ │ │ index.js
-│ │ │ │ methods.js
-│ │ │ │ Pagination.js
-│ │ │ │ Selectpage.js
-│ │ │ │ Table.js
-│ │ │ │
-│ │ │ └─css
-│ │ │ selectPage.css
+│ │ ├─v-selectpagenew 重构的 v-selectpage
│ │ │
-│ │ └─vueQR
-│ │ └─packages
-│ │ index.js
-│ │ readAsArrayBuffer.js
-│ │ util.js
-│ │ vue-qr.vue
+│ │ └─vueQR 二维码
│ │
-│ ├─layout
-│ │ container.vue
-│ │ header.vue
-│ │ home.vue
-│ │ leftMenu.vue
+│ ├─layout 布局
+│ │ container.vue 主体
+│ │ header.vue 头部
+│ │ home.vue 容器
+│ │ leftMenu.vue 左侧菜单
│ │
-│ └─page
-│ │ uPlot.vue
-│ │
-│ ├─alert
-│ │ alertMessage.vue
-│ │ alertRule.vue
-│ │ alertSilence.vue
-│ │ nzAlertTag.vue
-│ │
-│ ├─asset
-│ │ │ asset.vue
-│ │ │ assetDiscovery.vue
-│ │ │
-│ │ ├─components
-│ │ │ alert.vue
-│ │ │ assetTagEx.vue
-│ │ │ endpoint.vue
-│ │ │ ping.vue
-│ │ │
-│ │ └─software
-│ │ softwareAsset.vue
-│ │ softwareType.vue
-│ │
-│ ├─config
-│ │ │ about.vue
-│ │ │ agent.vue
-│ │ │ assetMeta.vue
-│ │ │ assetState.vue
-│ │ │ assetType.vue
-│ │ │ backups.vue
-│ │ │ basic.vue
-│ │ │ credentials.vue
-│ │ │ dc.vue
-│ │ │ email.vue
-│ │ │ globalization.vue
-│ │ │ ipam.vue
-│ │ │ issue.vue
-│ │ │ ldap.vue
-│ │ │ licenseGen.vue
-│ │ │ menus.vue
-│ │ │ mib.vue
-│ │ │ mibBrowser.vue
-│ │ │ model.vue
-│ │ │ monitor.vue
-│ │ │ operationLog.vue
-│ │ │ operationRecord.vue
-│ │ │ profile.vue
-│ │ │ profileChangePin.vue
-│ │ │ recordRule.vue
-│ │ │ roles.vue
-│ │ │ setup.vue
-│ │ │ snmp.vue
-│ │ │ system.vue
-│ │ │ terminal.vue
-│ │ │ terminalLog.vue
-│ │ │ user.vue
-│ │ │
-│ │ ├─system
-│ │ │ apiKeyTab.vue
-│ │ │ apiKeyTable.vue
-│ │ │ license.vue
-│ │ │ licenseData.js
-│ │ │ linkTab.vue
-│ │ │ linkTable.vue
-│ │ │ notifyMethodTab.vue
-│ │ │ notifyMethodTable.vue
-│ │ │ selfApiKeyTab.vue
-│ │ │ selfApiKeyTable.vue
-│ │ │ systemCommon.js
-│ │ │
-│ │ └─template
-│ │ chartTemp.vue
-│ │ dashboardTemp.vue
-│ │ exprTemp.vue
-│ │ index.vue
-│ │
-│ ├─dashboard
-│ │ │ alertChartParam.vue
-│ │ │ dashboard.vue
-│ │ │
-│ │ ├─explore
-│ │ │ │ CMTheme.tsx
-│ │ │ │ explore.vue
-│ │ │ │ exploreItem.vue
-│ │ │ │ exploreItemHtml.vue
-│ │ │ │ exploreItemMixin.js
-│ │ │ │ logqlHint.js
-│ │ │ │ logTab.vue
-│ │ │ │ promqlInput.vue
-│ │ │ │ suggestions.vue
-│ │ │ │
-│ │ │ ├─histoyrComponent
-│ │ │ │ exploreHistory.vue
-│ │ │ │
-│ │ │ ├─logql
-│ │ │ │ getTimeRange.js
-│ │ │ │ lezerConfig.js
-│ │ │ │ logql.vue
-│ │ │ │ logqlMixin.js
-│ │ │ │ monacoConfig.js
-│ │ │ │ setError.js
-│ │ │ │ situation.js
-│ │ │ │
-│ │ │ ├─logqlparser
-│ │ │ │ logqloarser.go
-│ │ │ │
-│ │ │ ├─MonacoVue
-│ │ │ │ vue-monaco.js
-│ │ │ │
-│ │ │ ├─promqlparser
-│ │ │ │ go.mod
-│ │ │ │ go.sum
-│ │ │ │ promqlparser.go
-│ │ │ │ promqlparser.wasm
-│ │ │ │ wasm_exec.js
-│ │ │ │
-│ │ │ └─queryPrompt
-│ │ │ queryPrompt.vue
-│ │ │
-│ │ └─overview
-│ │ chart.vue
-│ │ chartConfig.vue
-│ │
-│ ├─integration
-│ │ │ integration.vue
-│ │ │
-│ │ └─integration-tabs
-│ │ alert.vue
-│ │ automatic.vue
-│ │ configuration.vue
-│ │ dashboard.vue
-│ │ integration-tabs.vue
-│ │ manual.vue
-│ │ metric.vue
-│ │
-│ ├─monitor
-│ │ ├─endpoint
-│ │ │ endpointList.vue
-│ │ │
-│ │ ├─module
-│ │ │ moduleList.vue
-│ │ │
-│ │ └─project
-│ │ index.vue
-│ │ project.vue
-│ │ projectList.vue
-│ │
-│ ├─notebook
-│ │ notebook.vue
-│ │ notebookAdd.vue
-│ │ notebookList.vue
-│ │
-│ └─tool
-│ assetDiscovery.vue
-│ ping.vue
-│ trace.vue
+│ └─page 页面
│
-├─entrance
-│ ├─app
-│ │ App.vue
-│ │ index.html
-│ │ lodashInfo.md
-│ │ main.js
+├─entrance 打包入口
+│ ├─app 基础
│ │
-│ └─exportHtml
-│ App.vue
-│ exportHtml.html
-│ exportHtml.js
-│ i18nData.js
+│ └─exportHtml 快照
│
-├─libs
-│ bus.js
+├─libs 工具函数
│
-├─router
-│ │ index.js
-│ │
-│ └─exportHtmlRouter
-│ index.js
+├─router 路由
│
-└─store
- exportHtml.js
- index.js
- panel.js
- terminalFile.js
- timePicker.js
- topology.js
- user.js
+└─store vuex
```
\ No newline at end of file
diff --git a/nezha-docs/src/note/index.en-US.md b/nezha-docs/src/note/index.en-US.md
index f15292fd4..c797b1b4c 100644
--- a/nezha-docs/src/note/index.en-US.md
+++ b/nezha-docs/src/note/index.en-US.md
@@ -3,4 +3,15 @@ map:
path: /note
---
+1. 图表类型新增 需要后端增加相应的类型
+2. 新增颜色类型相关的样式 需要同事增加两个主题色 或者使用原有主题色
+ 位置
src/assets/css/themes/theme-dark.scss
src/assets/css/themes/theme-light.scss
+3. 国际化更改后需要跟告知后端 后端需要更新相应数据库
+4. 图表相关的国际化 需要保存到本地 或者一直维持最新避免快照国际化错误
+5. 快照图标需要转化为base64,才能显示对应图标。 所以iconfont 需要将相应内容转化为base64
+6. 搜索框新增查询条件时 无法回显 需要查看 routerPathParams.js 以及 查看 datalist.js 的 created
位置
/src/components/common/mixin
+7. element-ui 的表格组件的气泡组件不建议使用 容易引起表格卡顿 建议换为一个弹窗组件 传对应的实例完成
+8.
+
+
diff --git a/nezha-docs/src/other/dashboardFlow/index.en-US.md b/nezha-docs/src/other/dashboardFlow/index.en-US.md
new file mode 100644
index 000000000..b689411df
--- /dev/null
+++ b/nezha-docs/src/other/dashboardFlow/index.en-US.md
@@ -0,0 +1,11 @@
+---
+map:
+ path: /dashboardFlow
+---
+
+
+1. dashboard 简单加载流程
+
+2. dashboard 滚动加载
+ 根据当前组件所在高度 是否小于 当前页面宽加滚动距离判断
+ group 内为 当前组高度 加 组件在group内的位置判断是否加载
diff --git a/nezha-docs/src/other/dashboardFlow/index.vue b/nezha-docs/src/other/dashboardFlow/index.vue
new file mode 100644
index 000000000..543432675
--- /dev/null
+++ b/nezha-docs/src/other/dashboardFlow/index.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/nezha-docs/src/other/dashboardFlow/index.zh-CN.md b/nezha-docs/src/other/dashboardFlow/index.zh-CN.md
new file mode 100644
index 000000000..b689411df
--- /dev/null
+++ b/nezha-docs/src/other/dashboardFlow/index.zh-CN.md
@@ -0,0 +1,11 @@
+---
+map:
+ path: /dashboardFlow
+---
+
+
+1. dashboard 简单加载流程
+
+2. dashboard 滚动加载
+ 根据当前组件所在高度 是否小于 当前页面宽加滚动距离判断
+ group 内为 当前组高度 加 组件在group内的位置判断是否加载
diff --git a/nezha-docs/src/other/i18nUse/index.en-US.md b/nezha-docs/src/other/i18nUse/index.en-US.md
new file mode 100644
index 000000000..50ebf20c6
--- /dev/null
+++ b/nezha-docs/src/other/i18nUse/index.en-US.md
@@ -0,0 +1,11 @@
+---
+map:
+ path: /i18nUse
+---
+使用 直接 $t(code) 即可
+先访问地址
+http://192.168.44.22/ui/i18n?orderBy=id&pageNo=1&pageSize=20&detailType=list
+查看是否有自己需要添加的i18n
+若有直接使用对应code
+若没有点击新增 要新增两种语言的 然后使用对应code
+
diff --git a/nezha-docs/src/other/i18nUse/index.vue b/nezha-docs/src/other/i18nUse/index.vue
new file mode 100644
index 000000000..543432675
--- /dev/null
+++ b/nezha-docs/src/other/i18nUse/index.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/nezha-docs/src/other/i18nUse/index.zh-CN.md b/nezha-docs/src/other/i18nUse/index.zh-CN.md
new file mode 100644
index 000000000..50ebf20c6
--- /dev/null
+++ b/nezha-docs/src/other/i18nUse/index.zh-CN.md
@@ -0,0 +1,11 @@
+---
+map:
+ path: /i18nUse
+---
+使用 直接 $t(code) 即可
+先访问地址
+http://192.168.44.22/ui/i18n?orderBy=id&pageNo=1&pageSize=20&detailType=list
+查看是否有自己需要添加的i18n
+若有直接使用对应code
+若没有点击新增 要新增两种语言的 然后使用对应code
+
diff --git a/nezha-docs/src/other/themeUse/index.en-US.md b/nezha-docs/src/other/themeUse/index.en-US.md
new file mode 100644
index 000000000..79b57972c
--- /dev/null
+++ b/nezha-docs/src/other/themeUse/index.en-US.md
@@ -0,0 +1,26 @@
+---
+map:
+ path: /themeUse
+---
+
+# 介绍
+主题核心其实就是 颜色的改变
+
+目前前端主题实现的基本原理就是 css变量,在不同class名称下 配置不同的css变量
+
+# 位置
+黑色 对应class .theme-dark 对应变量文件为 src/assets/css/themes/theme-dark.scss
+白色 对应class .theme-light 对应变量文件为 src/assets/css/themes/theme-light.scss
+主题切换是 将class名替换为对应即可
+注意 黑色和白色主题的变量名 需要一一对应
+
+# 使用
+当你想使用颜色属性时 需要到对应位置搜索对应颜色 或者根据备注使用相应的颜色
+例 :
+```
+黑色 $--color-font: #FFFFFF
+白色 $--color-font: #000000
+.font{
+ color: $--color-font
+}
+```
\ No newline at end of file
diff --git a/nezha-docs/src/other/themeUse/index.vue b/nezha-docs/src/other/themeUse/index.vue
new file mode 100644
index 000000000..543432675
--- /dev/null
+++ b/nezha-docs/src/other/themeUse/index.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
diff --git a/nezha-docs/src/other/themeUse/index.zh-CN.md b/nezha-docs/src/other/themeUse/index.zh-CN.md
new file mode 100644
index 000000000..546cc009b
--- /dev/null
+++ b/nezha-docs/src/other/themeUse/index.zh-CN.md
@@ -0,0 +1,43 @@
+---
+map:
+ path: /themeUse
+---
+
+# 介绍
+主题核心其实就是 颜色的改变
+
+目前前端主题实现的基本原理就是 css变量,在不同class名称下 配置不同的css变量
+
+# 位置
+黑色 对应class .theme-dark 对应变量文件为 src/assets/css/themes/theme-dark.scss
+白色 对应class .theme-light 对应变量文件为 src/assets/css/themes/theme-light.scss
+主题切换是 将class名替换为对应即可
+注意 黑色和白色主题的变量名 需要一一对应
+
+# 使用
+当你想使用颜色属性时 需要到对应位置搜索对应颜色 或者根据备注使用相应的颜色
+例 :
+```
+黑色 $--color-font: #FFFFFF
+白色 $--color-font: #000000
+.font{
+ color: $--color-font
+}
+
+经过编译之后会变为 两套css
+
+.theme-dark {
+ $--color-font: #FFFFFF
+ .font{
+ color: $--color-font
+ }
+}
+
+
+.theme-light {
+ $--color-font: #000000
+ .font{
+ color: $--color-font
+ }
+}
+```
\ No newline at end of file