// Package common // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE // package common import ( "github.com/gogf/gf/v2/util/gconv" "hotgo/internal/websocket" ) var ( Site = cSite{} ) type cSite struct{} func (c *cSite) Join(client *websocket.Client, req *websocket.WRequest) { name := gconv.String(req.Data["id"]) if !client.Tags.Contains(name) { client.Tags.Append(name) } websocket.SendSuccess(client, req.Event, client.Tags.Slice()) } func (c *cSite) Quit(client *websocket.Client, req *websocket.WRequest) { name := gconv.String(req.Data["id"]) if client.Tags.Contains(name) { client.Tags.RemoveValue(name) } websocket.SendSuccess(client, req.Event, client.Tags.Slice()) } func (c *cSite) Ping(client *websocket.Client, req *websocket.WRequest) { websocket.SendSuccess(client, req.Event) }