Files
iotlcm/admin-svr/server/internal/library/websocket/router.go
T

63 lines
1.2 KiB
Go

// Package websocket
// @Link https://github.com/xiujiecn/xiu-admin
// @Copyright Copyright (c) 2025 LiXiujie
// @Author Lxj <xxx@example.com>
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
package websocket
import (
"fmt"
"github.com/gogf/gf/v2/util/gconv"
)
const (
Error = "error"
Login = "login"
Join = "join"
Quit = "quit"
IsApp = "is_app"
Ping = "ping"
Joins = "joins"
Quits = "quits"
)
// ProcessData 处理数据
func ProcessData(client *Client, message []byte) {
defer func() {
if r := recover(); r != nil {
fmt.Println("websocket.ProcessData 处理数据 stop", r, "message=", message)
}
}()
request := &request{}
err := gconv.Struct(message, request)
if err != nil {
fmt.Println("websocket.ProcessData 数据解析失败:", err)
return
}
fmt.Println("websocket.ProcessData request", request)
switch request.Event {
case Login:
LoginController(client, request)
break
case Join:
JoinController(client, request)
break
case Quit:
QuitController(client, request)
break
case IsApp:
IsAppController(client)
break
case Ping:
PingController(client)
break
case Joins:
JoinsController(client, request)
break
case Quits:
QuitsController(client, request)
break
}
}