feat: 新增管理员踢下线 VPN 客户端功能
- vpn/service.go: ClientInfo 增加 user_id 字段,新增 KickUser 方法 用读锁收集目标连接后逐个关闭 WebSocket,返回断开数量 - vpn/tunnel.go: info() 填充 UserID - handler/vpn.go: 新增 KickUserClient handler,校验用户存在后调用 KickUser - router.go: 注册 DELETE /api/admin/vpn/clients/:id - VpnView.vue: 在线客户端表格新增操作列与踢下线按钮,handleKick 确认后调用 API 并刷新 - zh.ts/en.ts: 新增 kick/confirmKick/kickFailed 国际化 key
This commit is contained in:
@@ -46,6 +46,7 @@ func Setup(r *gin.Engine) {
|
||||
admin.GET("/vpn/reservations", handler.ListVpnReservations)
|
||||
admin.POST("/vpn/reservations", handler.CreateVpnReservation)
|
||||
admin.DELETE("/vpn/reservations/:id", handler.DeleteVpnReservation)
|
||||
admin.DELETE("/vpn/clients/:id", handler.KickUserClient)
|
||||
}
|
||||
|
||||
distDir := http.Dir("./dist")
|
||||
|
||||
Reference in New Issue
Block a user