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), }, ],