连接中...
- )
+ // 检查连接状态
+ if (readyState !== 1) {
+ return null;
}
- const nezhaWsData = JSON.parse(message) as NezhaAPI[]
+ // 解析消息
+ const nezhaWsData = lastMessage ? JSON.parse(lastMessage.data) as NezhaAPIResponse : null;
- console.log(nezhaWsData)
+ if (!nezhaWsData) {
+ return
-
-
-
- 服务器
-
-
- 你可以在这里查看和管理全部的服务器。
-
- 了解更多↗
-
-
-
-
+
+
+
+ {nezhaWsData.servers.map((serverInfo) => (
+
+ ))}
+
);
-}
+}
\ No newline at end of file
diff --git a/src/types/nezha-api.ts b/src/types/nezha-api.ts
index f46aa77..6546e1a 100644
--- a/src/types/nezha-api.ts
+++ b/src/types/nezha-api.ts
@@ -1,39 +1,46 @@
+export interface NezhaAPIResponse {
+ now: number;
+ servers: NezhaAPI[];
+}
+
+
export interface NezhaAPI {
id: number;
name: string;
+ last_active: string;
host: NezhaAPIHost;
- status: NezhaAPIStatus;
+ state: NezhaAPIStatus;
}
export interface NezhaAPIHost {
- Platform: string;
- PlatformVersion: string;
- CPU: string[];
- MemTotal: number;
- DiskTotal: number;
- SwapTotal: number;
- Arch: string;
- BootTime: number;
- CountryCode: string;
- Version: string;
+ platform: string;
+ platform_version: string;
+ cpu: string[];
+ mem_total: number;
+ disk_total: number;
+ swap_total: number;
+ arch: string;
+ boot_time: number;
+ country_code: string;
+ version: string;
}
export interface NezhaAPIStatus {
- CPU: number;
- MemUsed: number;
- SwapUsed: number;
- DiskUsed: number;
- NetInTransfer: number;
- NetOutTransfer: number;
- NetInSpeed: number;
- NetOutSpeed: number;
- Uptime: number;
- Load1: number;
- Load5: number;
- Load15: number;
- TcpConnCount: number;
- UdpConnCount: number;
- ProcessCount: number;
- Temperatures: number;
- GPU: number;
+ cpu: number;
+ mem_used: number;
+ swap_used: number;
+ disk_used: number;
+ net_in_transfer: number;
+ net_out_transfer: number;
+ net_in_speed: number;
+ net_out_speed: number;
+ uptime: number;
+ load_1: number;
+ load_5: number;
+ load_15: number;
+ tcp_conn_count: number;
+ udp_conn_count: number;
+ process_count: number;
+ temperatures: number;
+ gpu: number;
}
diff --git a/vite.config.ts b/vite.config.ts
index bdb68f3..ef849d0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -12,8 +12,8 @@ export default defineConfig({
},
server: {
proxy: {
- '/api/v1/ws': {
- target: 'http://localhost:8008',
+ '/api/v1/ws/server': {
+ target: 'ws://localhost:8080',
changeOrigin: true,
ws: true,
},