直播后台:新增按 IP 发言管控与在线会话视图。

支持全体禁言、单 IP 禁言/解禁与同 IP 本地限频,同时在开播页展示在线会话明细并补充实时优先码率策略,兼顾实时性与并发承载。

Made-with: Cursor
This commit is contained in:
whm
2026-03-26 17:57:50 +08:00
parent 0da93fb1be
commit fe8d5a34cc
8 changed files with 535 additions and 2 deletions

View File

@@ -218,12 +218,14 @@ func handleViewerWS(c *gin.Context, h *Hub) {
}
vid := uuid.New().String()
vs := &viewerSession{id: vid, ws: ws}
sessionID := RegisterOnlineSession("viewer", c.ClientIP(), "***")
h.mu.Lock()
h.viewers[vid] = vs
h.mu.Unlock()
defer func() {
UnregisterOnlineSession(sessionID)
h.removeViewer(vid)
_ = ws.Close()
}()
@@ -255,6 +257,7 @@ func handleViewerWS(c *gin.Context, h *Hub) {
if err != nil {
return
}
TouchOnlineSession(sessionID)
var env wsEnvelope
if err := json.Unmarshal(data, &env); err != nil {
continue