From 2910c2bf410a298edba7b1a2d0aa5599ae5ec4a4 Mon Sep 17 00:00:00 2001 From: hi2hi Date: Mon, 30 Dec 2024 09:43:39 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20claw=E5=85=A8=E9=9D=A2=E5=BC=80?= =?UTF-8?q?=E5=90=AFipv6=EF=BC=8C=E5=97=AF=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E4=B8=8Bipv4\ipv6=E7=9A=84=E6=A0=87=E7=AD=BE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 7 ++++++- .../server-detail/server-info-box.vue | 21 +++++++++++++++---- .../card/server-list-item-bill.vue | 21 +++++++++++++++---- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/readme.md b/readme.md index e238955..e1ec188 100644 --- a/readme.md +++ b/readme.md @@ -71,12 +71,17 @@ Nazhua对这个支持大概在90%左右,参与数据处理了的字段如下 "bandwidth": "30Mbps", "trafficVol": "1TB/月", "trafficType": "1", + "IPv4": "1", + "IPv6": "1", "networkRoute": "CN2,GIA", "extra": "传家宝,AS9929" } } ``` -其中IPv4、IPv6暂未参与到处理中,后续可能会支持。 +~~其中IPv4、IPv6暂未参与到处理中,后续可能会支持。~~ + - 都有显示标签:双栈IP; + - 单IPv4显示标签:仅IPv4; + - 单IPv6显示标签:仅IPv6; ## 数据来源 1-0. 公开的全量配置,其中包括“公开备注”(PublicNote),来自探针主页上暴露的服务器节点列表配置信息。此处是根据正则匹配的方式,获取到的节点列表。在主题项目中,默认将访问`/nezha/`的指向此处。 diff --git a/src/views/components/server-detail/server-info-box.vue b/src/views/components/server-detail/server-info-box.vue index 32b9656..bcd4c6a 100644 --- a/src/views/components/server-detail/server-info-box.vue +++ b/src/views/components/server-detail/server-info-box.vue @@ -415,11 +415,24 @@ const billPlanData = computed(() => ['billing', 'remainingTime', 'bandwidth', 't const tagList = computed(() => { const list = []; - if (props?.info?.PublicNote?.planDataMod?.networkRoute) { - list.push(...props.info.PublicNote.planDataMod.networkRoute.split(',')); + const { + networkRoute, + extra, + IPv4, + IPv6, + } = props?.info?.PublicNote?.planDataMod || {}; + if (networkRoute) { + list.push(...networkRoute?.split?.(',')); } - if (props?.info?.PublicNote?.planDataMod?.extra) { - list.push(...props.info.PublicNote.planDataMod.extra.split(',')); + if (extra) { + list.push(...extra?.split?.(',')); + } + if (IPv4 === '1' && IPv6 === '1') { + list.push('双栈IP'); + } else if (IPv4 === '1') { + list.push('仅IPv4'); + } else if (IPv6 === '1') { + list.push('仅IPv6'); } return list; }); diff --git a/src/views/components/server-list/card/server-list-item-bill.vue b/src/views/components/server-list/card/server-list-item-bill.vue index 0eda3fe..6d9b2f6 100644 --- a/src/views/components/server-list/card/server-list-item-bill.vue +++ b/src/views/components/server-list/card/server-list-item-bill.vue @@ -106,11 +106,24 @@ function toBuy() { const tagList = computed(() => { const list = []; - if (props?.info?.PublicNote?.planDataMod?.networkRoute) { - list.push(...props.info.PublicNote.planDataMod.networkRoute.split(',')); + const { + networkRoute, + extra, + IPv4, + IPv6, + } = props?.info?.PublicNote?.planDataMod || {}; + if (networkRoute) { + list.push(...networkRoute.split(',')); } - if (props?.info?.PublicNote?.planDataMod?.extra) { - list.push(...props.info.PublicNote.planDataMod.extra.split(',')); + if (extra) { + list.push(...extra.split(',')); + } + if (IPv4 === '1' && IPv6 === '1') { + list.push('双栈IP'); + } else if (IPv4 === '1') { + list.push('仅IPv4'); + } else if (IPv6 === '1') { + list.push('仅IPv6'); } // 列表最多显示5个标签 return list.slice(0, 5);