From f10fe2843e623e28d234e370342f3df294430dda Mon Sep 17 00:00:00 2001 From: ziyunhui Date: Thu, 12 Sep 2024 22:39:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=AD=E7=BA=BF=E9=87=8D=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.ts | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/index.ts b/index.ts index 3f99549..e4600ce 100644 --- a/index.ts +++ b/index.ts @@ -138,28 +138,37 @@ async function connectAPI() { } async function getDHCPList(addr: string | null) { - const result = await api.write('/ip/dhcp-server/lease/print'); list = []; - for (let eq in result) { - let format = { - id: result[eq]['.id'], - address: result[eq]['address'], - mac: result[eq]['mac-address'], - status: result[eq]['status'], - host: result[eq]['host-name'], - comment: result[eq]['comment'], - device: false, - }; - if (addr !== null || addr !== undefined || addr !== '') { - if (addr === format.address) { - format.device = true; - list.unshift(format); - } else { - list.push(format); + try { + const result = await api.write('/ip/dhcp-server/lease/print'); + for (let eq in result) { + let format = { + id: result[eq]['.id'], + address: result[eq]['address'], + mac: result[eq]['mac-address'], + status: result[eq]['status'], + host: result[eq]['host-name'], + comment: result[eq]['comment'], + device: false, + }; + if (addr !== null || addr !== undefined || addr !== '') { + if (addr === format.address) { + format.device = true; + list.unshift(format); + } else { + list.push(format); + } + continue; } - continue; + list.push(format); } - list.push(format); + } catch (e) { + api = new RouterOSAPI({ + host: cfg.host, + user: cfg.user, + password: cfg.password, + }); + api.connect(); } return list; }