From 52e6977cedcdb6556f16fa69fe25ad6290cc3179 Mon Sep 17 00:00:00 2001 From: lijun Date: Wed, 1 Apr 2026 20:40:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/vpn-policy.vue | 39 +++++++-------------- src/views/system/vpn-server-online-user.vue | 11 +++++- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/views/system/vpn-policy.vue b/src/views/system/vpn-policy.vue index f3e4635..dbd1b45 100644 --- a/src/views/system/vpn-policy.vue +++ b/src/views/system/vpn-policy.vue @@ -477,6 +477,8 @@ import { MatchVPNPolicyHandler } from '@/api/vpn'; +import { ServerConfig } from '@/types/vpn'; + // 全局协议选项数组 const protocolOptions = ref([ { label: '全部协议', value: 0 }, @@ -542,32 +544,6 @@ interface VPNPolicy extends VPNPolicyBase { UpdatedAt: string; } -// 服务器配置接口 -interface ServerConfig { - name: string; - server_id: string; - server_ip: string; - server_ipv6: string; - server_ip_type: number; - server_info: string; - udp_port: number; - tcp_port: number; - protocol: number; - ip_type: number; - ipv4_address_pool: string; - ipv6_address_pool: string; - dns_server: string; - tunnel: string; - allow_user_id: Array<{id: number}>; - encryption: string; - hash: string; - no_policy_action: number; - user_max_device: number; - duration_time: number; - ipv4_router: Array<{type: number, ip: string, prefix: number}>; - ipv6_router: Array<{type: number, ip: string, prefix: number}>; -} - // 响应式数据 const serverList = ref([]); const selectedServer = ref(null); @@ -662,7 +638,16 @@ const getOnlineServers = async () => { try { const response = await GetVPNServerOnlineListHandler(); if (response.data && Array.isArray(response.data)) { - onlineServers.value = response.data.map((server: any) => server.server_id); + let online_server: ServerConfig[] = []; + online_server = response.data; + onlineServers.value = []; + for( + let server of online_server + ){ + if(server.vpn_status?.status === 2){ + onlineServers.value.push(server.server_id); + } + } } } catch (error) { console.error('获取在线服务器状态失败:', error); diff --git a/src/views/system/vpn-server-online-user.vue b/src/views/system/vpn-server-online-user.vue index 038ea4c..540a7db 100644 --- a/src/views/system/vpn-server-online-user.vue +++ b/src/views/system/vpn-server-online-user.vue @@ -360,7 +360,16 @@ const getOnlineServers = async () => { try { const response = await GetVPNServerOnlineListHandler(); if (response.data && Array.isArray(response.data)) { - onlineServers.value = response.data.map((server: any) => server.server_id); + let online_server: ServerConfig[] = []; + online_server = response.data; + onlineServers.value = []; + for( + let server of online_server + ){ + if(server.vpn_status?.status === 2){ + onlineServers.value.push(server.server_id); + } + } } } catch (error) { console.error('获取在线服务器状态失败:', error);