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);