From 5a07f6371657c0790faea44dfb63b0e3e7a6831f Mon Sep 17 00:00:00 2001 From: Austin Date: Wed, 23 Sep 2026 13:18:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E9=94=81=E5=AE=9A=E7=8A=B6=E6=80=81=E6=8E=A7=E5=88=B6=E8=A7=A3?= =?UTF-8?q?=E9=94=81=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加实时锁定状态字段到登录失败日志模型 并修改解锁按钮仅在账户当前仍锁定时显示 --- server/internal/model/input/sysin/im_login_audit.go | 1 + web/src/views/imLoginFailureLog/index.vue | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/server/internal/model/input/sysin/im_login_audit.go b/server/internal/model/input/sysin/im_login_audit.go index 4b3e4d4..e50f390 100644 --- a/server/internal/model/input/sysin/im_login_audit.go +++ b/server/internal/model/input/sysin/im_login_audit.go @@ -100,6 +100,7 @@ type ImLoginFailureLogModel struct { UserAgent string `json:"userAgent" dc:"客户端标识"` RiskLevel string `json:"riskLevel" dc:"风险等级"` RiskAction string `json:"riskAction" dc:"风控动作"` + LockedNow bool `json:"lockedNow" dc:"当前是否仍处于锁定中(实时状态,非历史快照)"` RequestId string `json:"requestId" dc:"请求ID"` AttemptAt *gtime.Time `json:"attemptAt" dc:"尝试时间"` Metadata string `json:"metadata" dc:"元数据"` diff --git a/web/src/views/imLoginFailureLog/index.vue b/web/src/views/imLoginFailureLog/index.vue index 659aec6..e465495 100644 --- a/web/src/views/imLoginFailureLog/index.vue +++ b/web/src/views/imLoginFailureLog/index.vue @@ -123,7 +123,8 @@ label: '解锁', type: 'primary', auth: ['/imLoginFailureLog/unlock'], - ifShow: () => record.riskAction === 'account_locked' && !!record.accountHash, + // 仅当前仍锁定中(服务端实时状态)才显示;解锁成功刷新后按钮消失 + ifShow: () => record.riskAction === 'account_locked' && !!record.accountHash && !!record.lockedNow, onClick: () => unlockLockout(record), }, ],