= interfaces.into_iter()
+ .map(|interface| map_interface_to_info(&interface))
+ .collect();
+ Ok(info_list)
+ }
+ Err(e) => Err(format!("无法获取网络接口信息: {}", e)),
+ }
+}
\ No newline at end of file
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index e0083bd..15f6121 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -15,14 +15,8 @@
-
-
-
-
-
{@render children()}
diff --git a/src/routes/iptools/+page.svelte b/src/routes/iptools/+page.svelte
index 8495bb8..8729389 100644
--- a/src/routes/iptools/+page.svelte
+++ b/src/routes/iptools/+page.svelte
@@ -1,11 +1,79 @@
-
+
+
🌐 网络接口信息
+
+ {#if loading}
+
正在加载...
+ {:else if error}
+
错误: {error}
+ {:else}
+
+
+
+ | 名称 |
+ IP 地址 (IPv4) |
+ MAC 地址 |
+
+
+
+ {#each interfaces as iface (iface.name)}
+
+ | {iface.name} |
+ {iface.addr} |
+ {iface.mac || 'N/A'} |
+
+ {/each}
+
+
+ {/if}
+
+
-
-
- IP 工具箱
-
\ No newline at end of file
+ /* 简单的 Svelte 样式 */
+ table {
+ width: 100%;
+ border-collapse: collapse;
+ margin-top: 1em;
+ }
+ th, td {
+ border: 1px solid #ddd;
+ padding: 8px;
+ text-align: left;
+ }
+ th {
+ background-color: var(--main-bg-color);
+ }
+ .error-message {
+ color: red;
+ font-weight: bold;
+ }
+
\ No newline at end of file