mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-02-03 10:58:44 +08:00
40 lines
953 B
Go
40 lines
953 B
Go
// 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)
|
|
}
|