From b13e3131141b011bc60ab788983d99c4da38f725 Mon Sep 17 00:00:00 2001 From: hanyuxia Date: Fri, 12 Jan 2024 15:16:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A03=E4=B8=AA=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../knowledge-base-logo/hotspot-vpn.png | Bin 0 -> 1390 bytes .../images/knowledge-base-logo/ip-vanish.png | Bin 0 -> 1323 bytes src/components/table/system/PluginTable.vue | 7 ++-- src/utils/constants.js | 39 +++++++++++++++--- 4 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 public/images/knowledge-base-logo/hotspot-vpn.png create mode 100644 public/images/knowledge-base-logo/ip-vanish.png diff --git a/public/images/knowledge-base-logo/hotspot-vpn.png b/public/images/knowledge-base-logo/hotspot-vpn.png new file mode 100644 index 0000000000000000000000000000000000000000..ae80b88bac6f280e7cd947d38696973a4919d45f GIT binary patch literal 1390 zcmV-!1(EuRP)w6f6Sb#E}7Gb0%(! zi*Ea{5A(~CWic^k$@GJBOAK-Quxu`iX8W?YEHTVYojMgkBOnTuH|3@Bra+~%P}<&m zd+$E9lX@vo_WySN&vSmyIp?19QgA3zB?s!K;U_0$vm0lljk{CL? zyM*W&nLLk|B@G9#@)5ej_rMh$y;oy%nDw9hcuQo-QCaQriSIx4VC&#Ug^*@bsk+bs zfc8{c@{DSdz>FH%tgGGI+bPH;)=dWhgi`X05JCRc(P`4kA5MB--?|}9Ej{@C4UVBx zi^>2{G;#fF|F3|`QYhP0_VqbekdEY;QqHxFd{A%K1tvTlEx_~Zq$8kZbVwCqCG0a# zkz-9Q-Tqta(1kmXNE}ni#r35*V(<9$?W;V;LGmXPmeC7_`LHtVH~M)D)b12rzYeEy zSw=3xiLZ=>QZJTwg=)eL=4XCp&WtN_E z=8Ts-p55ThZpoH;q|)@vw2GQ<|Nf^cUt5rsYR}Q8t7Si2>ATQ;cSX83H3kvTVZ1G&F?rsJ4Q z`?x4NG2J=UM{to}t7|^XI(>5H4L6;((&;H4D=07JH_ktENV(EbRVPxaV|0X&V9xf* zuCL18JeG0h^wYXAMz<0=D&>TdmecVLA(b1d>cna-4-t$cg-3r!Z+$V-g(0rVU%omT z03?1f;)LtNC6r-XZILwtQ%FRD*j1CGR?&VlP`J`Jj~9v{iBGcJ$3$XhQ2}O1RS5!8 zESy1lhQsM=q5*)BGO95l0RSkV6$&|)X-XF(E`$ldG z05F0eGTHI?z>_y0H`#R+Ey&q2p@AcJ9c)zIobkZbO89Ksr6K#G~xE6;#h|Ec{w_S zks^^&jfunw(;9PoU)oyy+}Z(vVVJ$YxQFnpRSK-BYUn=s_LgVEr5;I=#%!#E`WXSO66A8d5eDJjo&1z~@$t#lmHb*;Am#Vs}#OcYqn z0)Oe;}Cb7?H`K)%<*;-Q%!tTpmhH2Y|ah1BdU)pJ3Y6(Hq&36FXIzro;_( zMLGcZ{qx8FynhiK2{QkHl*uZ=(=|6%68jz zxA%39e_SmUN(RI4U*~u7`+e^Bobx;9LP7}mSF$XJQvsXld77rd(+On5KlqG+0?Y1-j%Y~Q|}W!c5Kk|YJpzXAY6vH5o1Ic<`e)YXHHZEbC`EI*L% zbUM9WZ%Ijs79#Kn8I8t0_U}Hf_%_=Gf(QVBF@89IXlSUpxj7TU?0b<@s;Zv!9VY}6 zLS9(@qO-F4$dMyzmU?@8ySuvq02D>VVlk`L3IG7)sg+D7Gba3gzc%?~_Z4FdAsinc zr?TYp`7#Ol`T75h9@A7uM@MC4rN`sRcK3i*tXP3DegePk?d@*2n-BsaR8=)+4noM| z@jwW*@Ugh9t*zSeB7^_{D_5?}J~u*$!{OMsZ(mbWQ>J8bF3XH4Mku1xZUd$|WDO^=m!;@h?!Ap{)9m4%=gfbsXCX>^#sYh}Dvk$SE*y$^sRpqsH zHS05o?Aw)@WEh5F7`ofHLfNZ}H>;uCv zbv5f|7NXyr-y;Y@Zod#hMm0n&HxC})yZPC7*4Av${&E(JrK_t;YfP8Rm0dhK7Vr*q zkD7XESue}7!C<&g%eIqBrH=c493j1F<2_1cP4i_IQkF*-aBMzH>mdLNR?>1RDb3E2 zsf0c(>Um0GZK>M#*1PRCd-f-DzdNI2fm>q(lZo*;WlDg&ObZyv00Mv!qv~|nWP$}n z`U*!`RgLpyolf^KVe$8DX4iG)I-W5w^Na%Y%8@?5(9eC%gR(IJQk zzzCvGwtU4P-Pb)I{xv>EAQ_swJV9yUnd*P;Lb002ovPDHLkV1oR>fKUJc literal 0 HcmV?d00001 diff --git a/src/components/table/system/PluginTable.vue b/src/components/table/system/PluginTable.vue index 12e4bab4..3408cf61 100644 --- a/src/components/table/system/PluginTable.vue +++ b/src/components/table/system/PluginTable.vue @@ -66,7 +66,7 @@ import table from '@/mixins/table' import axios from 'axios' import { api } from '@/utils/api' -import { pluginBasicInfo, pluginSchedule } from '@/utils/constants' +import { pluginBasicInfo } from '@/utils/constants' export default { name: 'pluginTable', @@ -117,8 +117,9 @@ export default { } }, scheduleText () { - return function (type) { - return this.$t(pluginSchedule.always) + return function (id) { + const basicInfo = pluginBasicInfo.find(bi => bi.id === id) + return basicInfo ? this.$t(basicInfo.schedule) : '' } }, getIconUrl () { diff --git a/src/utils/constants.js b/src/utils/constants.js index d575961c..d4f94f9c 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -465,10 +465,6 @@ export const knowledgeSourceValue = { appTag: 'cn_app_tag_user_defined' } -export const pluginSchedule = { - always: 'plugin.always' -} - export const knowledgeBaseSource = [ { name: 'FQDN Category', @@ -1886,10 +1882,35 @@ export const performanceMetricMapping = { } export const pluginBasicInfo = [ + { + id: 1, + name: 'HotSpot VPN', + type: 'IP', + schedule: 'plugin.daily', + desc: 'knowledgeBase.desc.hotSpot', + iconUrl: 'images/knowledge-base-logo/hotspot-vpn.png' + }, + { + id: 2, + name: 'IpVanish VPN', + type: 'Domain', + schedule: 'plugin.hourly', + desc: 'knowledgeBase.desc.ipVanishDomain', + iconUrl: 'images/knowledge-base-logo/ip-vanish.png' + }, + { + id: 3, + name: 'IpVanish VPN', + type: 'IP', + schedule: 'plugin.hourly', + desc: 'knowledgeBase.desc.ipVanishIp', + iconUrl: 'images/knowledge-base-logo/ip-vanish.png' + }, { id: 109, name: 'Psiphon3 VPN', - type: 'ip', + type: 'IP', + schedule: 'plugin.always', desc: 'knowledgeBase.desc.psiphon3', iconUrl: 'images/knowledge-base-logo/psiphon3-vpn.png' } @@ -2529,6 +2550,10 @@ export const entityDetailTags = { { name: 'nodeType', type: 'negative' + }, + { + name: 'vpnServiceName', + type: 'normal' } ], ip: [ @@ -2551,6 +2576,10 @@ export const entityDetailTags = { { name: 'dnsServerRole', type: 'normal' + }, + { + name: 'vpnServiceName', + type: 'normal' } ], app: [