From 574757f9035a23211646ec039fdb2e02d56e3837 Mon Sep 17 00:00:00 2001 From: dongzp <975303544@qq.com> Date: Tue, 1 Sep 2026 15:07:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=A1=E7=90=86=E5=91=98=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=AA=E6=80=A7=E5=8C=96=E9=85=8D=E7=BD=AE=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=BB=BB=E6=84=8F=20IP=20=E8=BE=93=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- admin.html | 10 ++++++---- src/admin-handlers.ts | 3 +-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/admin.html b/admin.html index c10a6d5..0e878d0 100644 --- a/admin.html +++ b/admin.html @@ -650,11 +650,13 @@
- {{ ipRuleDialog.mode === 'create' ? '自动填充当前 IP,不可修改' : 'IP 地址不可修改' }} + {{ isAdmin && ipRuleDialog.mode === 'create' + ? '管理员可填写任意有效 IP' + : (ipRuleDialog.mode === 'create' ? '自动填充当前 IP,不可修改' : 'IP 地址不可修改') }}
@@ -1048,7 +1050,7 @@ submitIpRuleDialog: async function () { var form = this.ipRuleDialog.form; var ip = (form.ip || "").trim(); - if (!this.isAdmin || this.ipRuleDialog.mode === "create") { + if (!this.isAdmin) { ip = (this.clientIp || "").trim(); form.blocked = false; } diff --git a/src/admin-handlers.ts b/src/admin-handlers.ts index 3ba86f4..e4c719c 100644 --- a/src/admin-handlers.ts +++ b/src/admin-handlers.ts @@ -687,8 +687,7 @@ async function handleIpRules( } const rule = parseIpRuleBody(body); - const isCreate = body.mode === "create"; - if (!isAdminClient(clientReq) || isCreate) { + if (!isAdminClient(clientReq)) { rule.ip = resolveAdminClientIp(clientReq); } if (!canManageIpRule(clientReq, rule.ip)) {