From 9438539aace52d335c20b5d740c37d117360d7bb Mon Sep 17 00:00:00 2001 From: limil Date: Sat, 28 Feb 2026 00:05:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/iputils.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/utils/iputils.ts b/src/utils/iputils.ts index c9c6993..50acea2 100644 --- a/src/utils/iputils.ts +++ b/src/utils/iputils.ts @@ -106,6 +106,10 @@ export class IPUtils { const hasTarget = targets.some(t => node.contains(t) || t.contains(node)); if (!hasTarget) return []; + if(targets.some(t => this.equal(t, node))) { + return [node]; + } + // 如果当前节点包含任何排除项,必须向下拆分 const hasExcluded = excluded.some(e => node.contains(e)); if (hasExcluded) { @@ -125,9 +129,7 @@ export class IPUtils { if (subResults.length > 1) { return [node]; } else { - // 特殊情况:如果当前 node 本身就在 targets 中,且 subResults 为空(因为 targets 可能在更深层) - // 或者 subResults 长度就是 1,我们返回 subResults 以保持 mask 尽可能大 - return subResults.length === 0 ? (targets.some(t => t.contains(node)) ? [node] : []) : subResults; + return subResults; } }