编号:W-05 严重级:medium 工作线:后台网页(web/) 来源:审查 A-04、A-25 依赖:W-04 (#54)(同文件) 被依赖:无
采用审查 A-04、A-25 的方案,并完成 H-03、H-04、H-05 的界面部分:
dialog.warning
:max
web/src/views/EndpointsView.vue。
web/src/views/EndpointsView.vue
与 W-04 同文件,网页线内顺序合入;后端对应改动分别在 H-03、H-04、H-05。
login_locked=false
以下是本次复审各区审查报告的原文段落。A、M、I、P、S 开头的是原始发现编号(A 管理后台与网页、M 消息核心、I 身份认证群在线、P 传输平台部署、S SDK)。解决方案以本 issue 上方的"结论与统一方案"为准;原文里的方案与之不一致时,按上方执行。
login_locked
unlock
web/src/views/EndpointsView.vue:171-175
disabled: !r.login_locked
internal/admin/endpoints.go:93-96
LockLoginEndpoint
internal/auth/locks.go:115-133
ClearEndpoint
HelpTip
auth.LoginLocks
EndpointsView.vue
internal/auth
endpoints.go
Check
EndpointsView.vue:46,290-308,371-380,404
复审基线:main 4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。
4059a15
已合入 origin/main 0c9b459。落地提交 4e70538 fix: 修复端列表解锁、批量选择与编辑提交 (#55)。
0c9b459
4e70538
No dependencies set.
The note is not visible to the blocked user.
编号:W-05 严重级:medium 工作线:后台网页(web/) 来源:审查 A-04、A-25
依赖:W-04 (#54)(同文件) 被依赖:无
结论与统一方案
采用审查 A-04、A-25 的方案,并完成 H-03、H-04、H-05 的界面部分:
dialog.warning"停用会立即断开并作废未送达消息,不可恢复"。(H-03 界面部分):max与上限提示。(H-05 界面部分)改动文件
web/src/views/EndpointsView.vue。与其他问题的交互 / 冲突说明
与 W-04 同文件,网页线内顺序合入;后端对应改动分别在 H-03、H-04、H-05。
验收与测试
login_locked=false时解锁按钮可点;切换筛选后选择清空。问题明细(各区审查原文,证据含文件与行号)
[A-04] 只有按 IP 锁定时,"解锁"按钮被禁用,管理员无法解锁
login_locked为 false,前端把"解锁"置灰,管理员在页面上解不开。后端unlock其实两种锁都能清。web/src/views/EndpointsView.vue:171-175:disabled: !r.login_locked。internal/admin/endpoints.go:93-96只查LockLoginEndpoint。internal/auth/locks.go:115-133的ClearEndpoint两种都清。HelpTip说明"列表只显示按编号的总数锁定,解锁会同时清除按 IP 的锁定"。后续可给auth.LoginLocks加"编号是否有任一锁定"的查询(P 线接口),让login_locked同时反映两种锁。EndpointsView.vue(W 线);可选internal/auth(P 线)和endpoints.go。login_locked=false时按钮可点;后端测试,只触发编号加 IP 锁,unlock后Check为 false。[A-25] 批量选择跨筛选保留,确认框不列编号
EndpointsView.vue:46,290-308,371-380,404。EndpointsView.vue。复审基线:main
4059a15(2026-09-30)。编号说明、各工作线的合并顺序、共享文件归属见总览 #7。已合入 origin/main
0c9b459。落地提交4e70538fix: 修复端列表解锁、批量选择与编辑提交 (#55)。