From 588a518d9050df04bf089a2256519c4266812890 Mon Sep 17 00:00:00 2001 From: charlatans Date: Sat, 9 Aug 2025 14:34:33 +0800 Subject: [PATCH] =?UTF-8?q?A:=E5=88=86=E6=9E=90=E9=A1=B5=E9=9D=A2=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/NetVizor.Frontend/CLAUDE.md | 3 +- src/NetVizor.Frontend/TODO.md | Bin 0 -> 5529 bytes src/NetVizor.Frontend/components.d.ts | 1 + src/NetVizor.Frontend/src/router/index.ts | 2 +- .../views/{ => AnalyseView}/AnalyseView.vue | 503 +++++++++++------- .../components/NetworkRelationChart.vue | 186 +++++++ .../AnalyseView/components/PortStatsTable.vue | 235 ++++++++ .../components/SoftwareInfoCard.vue | 138 +++++ .../components/SoftwareRankingList.vue | 338 ++++++++++++ .../AnalyseView/components/TopAppsChart.vue | 144 +++++ .../components/TrafficTrendChart.vue | 210 ++++++++ 11 files changed, 1563 insertions(+), 197 deletions(-) rename src/NetVizor.Frontend/src/views/{ => AnalyseView}/AnalyseView.vue (57%) create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/NetworkRelationChart.vue create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/PortStatsTable.vue create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareInfoCard.vue create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareRankingList.vue create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/TopAppsChart.vue create mode 100644 src/NetVizor.Frontend/src/views/AnalyseView/components/TrafficTrendChart.vue diff --git a/src/NetVizor.Frontend/CLAUDE.md b/src/NetVizor.Frontend/CLAUDE.md index 724bbf0..05411a8 100644 --- a/src/NetVizor.Frontend/CLAUDE.md +++ b/src/NetVizor.Frontend/CLAUDE.md @@ -1,6 +1,6 @@ # 项目介绍 这是一个网络管理项目,它用的是Vue进行展示的,集成防火墙API,提供HTTP和WebSocket接口来实现数据的传递和接收。使用Vue作为前端并通过WebView2套壳实现主页面渲染 - +我使用了 TS 和Vue,UI样式使用的 Naive UI 我所有的环境并非全部在默认位置安装,比如部分环境如 Git 之类的在 D:\Env 下 @@ -14,4 +14,3 @@ - \ No newline at end of file diff --git a/src/NetVizor.Frontend/TODO.md b/src/NetVizor.Frontend/TODO.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3f38ee021b8bb4a3cc8e4df98899e4db64e497ac 100644 GIT binary patch literal 5529 zcmbtYO>Er86}BD3g%>W|Q-S0(pnyVAvb!8E_eV?)UCXj9RIc^2fQwXyMD5N>jJOn;{fUg8&U2B!+_^7xfSrMT-D=Z-%oR(krdp z_#jy`Z)V=S?|a|8$0^c2JpZ%dCMlEl(gHbn{ELNBX=;kl3R(W>;PEH?KQWBs5ROsu z#}B@LVcGqJmo_#wO4sH)r0RxVHDJkI9_>`UAYoD8?XpjVG%f;&3JLUn|OC{Hi?F8D0M8$sns0YcItIQ+-6U1S-9?9ukXQ5qJi zu5jZ8h_X*^dF87fX^{4hEZrG(#k*d_eDpiJN_NG*>&N5o7z}-Xv?718M#E_~omR`4 zopsu6=kn$BV&MDj(w+c3rHKVJIhua@gIHt4>QbRLa~TmdOC^*43E4hU=CAp;zmiwljO5Zt6nx~*=%)a-2r$_^G$hm zLQ+)6`_XfEGiWtGEc+We((KU2b2!ojM=~C0jx=A%`S;ubq0i?>%{y5qE&>D}gt%%fxiu(;q0imk zYRDMMGc_&SG)-;3$L|KZMV*2gEmpK|tku11|xP-hUJxUi|R4)SLv1jHv_%7#T(!9=uq+N8Rm+4_Jl$ zgpDX|6a@Sl=UYA_bHXyS^13`gOsb)qY*!Or#eoX^$V_sXti3lrR@;1sLO)H-NL8Pu2(F96{eRa@}yQF2+q$JwbZJK)Z$Ou zhn<^C@Id}Dj~ikImkP^iqKVm=ng2V(LU0jKJ3kzrMbr>v99s2$io=J)6wHZerb#9u zixjUnWHb%j4F|M8adR9}5jDJo4US1Oc&c`?<)Xwnfhnp206v|HEE(^XfGlv1G3TtU zEk%4QatGw92T%Xnn&jEqnk3rV+8AoWK9gw&MiYn!789rk78A(_HqX#cQ5)tU8v+JZ z8V~09Fi7CiR_!DuAvUt~v-fgEtSwl&KmFg=ibbp-=sgXiJ*a21@TUG)zcC+E4{2gkcc6!7du4LbA9xmr8^Zqi;friG(ovK(90v zEW6Qc+3Aa5bR*^_tfy5@wKAn;TJKQPsmaPIO{W3xLG3%i7SPq6^Cq6Yx^sDAH@_aD9f*GC5+EusRM^d_V#qMZo%$cG|V9Lg>S&DKqm zj)Wc9?enhdYkfqa+0X<+ST6AhGoWtO>{OwI#6)bs6Q*xt!*g1v75rs2^#i48x{qzw zv`hmgC%nsjioziDiPY3IKuPbSx z#W|MmF_tOXDA=(r9w9|Wm8P1Oj$)Y74-N?ZIsmVqs{DcBs-VAyyz)p;M(ql_rLNS> zicSR06{$iF_T{E?Je$31dQUFw%rue8*`;H~DDEbvC; zkw%8^1v|$iOAPIGS4hBkG@*Cif=??T5#wTe$MuJ}xDY7#9KeL!;P{R7(*ii9eAa@M zouBQm12j7Rn0P7=3LzPJfa976<8q4BE9B7uEwKCBNS3EUk{XV{E298EsIrL9J#jEqs9gA};+em{`-6X;JDfRq{NUmK8<)Piu=TC?9<0Dq)*t%#0rXG5x%lF% z-}&_)&Yp!w>0SI#dF%Ht{_R)uVQ{WgdgNwDxb!l%F4^Zy7DXZ?GUniGPri>U pD>qlx=Wbq^PeX1%+a1fE!g%TE@ZV~<#}fD)hRJph1w1Wyz6N{%!507k literal 0 HcmV?d00001 diff --git a/src/NetVizor.Frontend/components.d.ts b/src/NetVizor.Frontend/components.d.ts index 561a195..7344c81 100644 --- a/src/NetVizor.Frontend/components.d.ts +++ b/src/NetVizor.Frontend/components.d.ts @@ -19,6 +19,7 @@ declare module 'vue' { NHighlight: typeof import('naive-ui')['NHighlight'] NInput: typeof import('naive-ui')['NInput'] NMessageProvider: typeof import('naive-ui')['NMessageProvider'] + NSelect: typeof import('naive-ui')['NSelect'] NTooltip: typeof import('naive-ui')['NTooltip'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] diff --git a/src/NetVizor.Frontend/src/router/index.ts b/src/NetVizor.Frontend/src/router/index.ts index c8235e0..a42ba17 100644 --- a/src/NetVizor.Frontend/src/router/index.ts +++ b/src/NetVizor.Frontend/src/router/index.ts @@ -11,7 +11,7 @@ import PathUtils from '@/utils/pathUtils' import NotFound from '@/views/NotFoundView.vue' import AboutView from '@/views/AboutView.vue' import FirewallView from '@/views/FirewallView.vue' -import AnalyseView from '@/views/AnalyseView.vue' +import AnalyseView from '@/views/AnalyseView/AnalyseView.vue' import MonitorView from '@/views/MonitorView/index.vue' // 导入所有 .vue 文件 diff --git a/src/NetVizor.Frontend/src/views/AnalyseView.vue b/src/NetVizor.Frontend/src/views/AnalyseView/AnalyseView.vue similarity index 57% rename from src/NetVizor.Frontend/src/views/AnalyseView.vue rename to src/NetVizor.Frontend/src/views/AnalyseView/AnalyseView.vue index 2732015..4f2154f 100644 --- a/src/NetVizor.Frontend/src/views/AnalyseView.vue +++ b/src/NetVizor.Frontend/src/views/AnalyseView/AnalyseView.vue @@ -1,20 +1,27 @@ \ No newline at end of file diff --git a/src/NetVizor.Frontend/src/views/AnalyseView/components/PortStatsTable.vue b/src/NetVizor.Frontend/src/views/AnalyseView/components/PortStatsTable.vue new file mode 100644 index 0000000..ce44e67 --- /dev/null +++ b/src/NetVizor.Frontend/src/views/AnalyseView/components/PortStatsTable.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareInfoCard.vue b/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareInfoCard.vue new file mode 100644 index 0000000..070fe02 --- /dev/null +++ b/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareInfoCard.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareRankingList.vue b/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareRankingList.vue new file mode 100644 index 0000000..92900ad --- /dev/null +++ b/src/NetVizor.Frontend/src/views/AnalyseView/components/SoftwareRankingList.vue @@ -0,0 +1,338 @@ + + + + + \ No newline at end of file diff --git a/src/NetVizor.Frontend/src/views/AnalyseView/components/TopAppsChart.vue b/src/NetVizor.Frontend/src/views/AnalyseView/components/TopAppsChart.vue new file mode 100644 index 0000000..f8019eb --- /dev/null +++ b/src/NetVizor.Frontend/src/views/AnalyseView/components/TopAppsChart.vue @@ -0,0 +1,144 @@ + + + + + \ No newline at end of file diff --git a/src/NetVizor.Frontend/src/views/AnalyseView/components/TrafficTrendChart.vue b/src/NetVizor.Frontend/src/views/AnalyseView/components/TrafficTrendChart.vue new file mode 100644 index 0000000..90b9101 --- /dev/null +++ b/src/NetVizor.Frontend/src/views/AnalyseView/components/TrafficTrendChart.vue @@ -0,0 +1,210 @@ + + + + + \ No newline at end of file