mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-08-28 15:05:01 +08:00
v2.0
This commit is contained in:
49
server/internal/router/websocket.go
Normal file
49
server/internal/router/websocket.go
Normal file
@@ -0,0 +1,49 @@
|
||||
// Package router
|
||||
// @Link https://github.com/bufanyun/hotgo
|
||||
// @Copyright Copyright (c) 2022 HotGo CLI
|
||||
// @Author Ms <133814250@qq.com>
|
||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||
//
|
||||
package router
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
controller "hotgo/internal/controller/websocket"
|
||||
"hotgo/internal/controller/websocket/handler/admin"
|
||||
"hotgo/internal/controller/websocket/handler/common"
|
||||
"hotgo/internal/service"
|
||||
"hotgo/internal/websocket"
|
||||
)
|
||||
|
||||
// WebSocket ws路由配置
|
||||
func WebSocket(ctx context.Context, group *ghttp.RouterGroup) {
|
||||
router, _ := g.Cfg().Get(ctx, "router.ws.prefix", "/socket")
|
||||
|
||||
group.Group(router.String(), func(group *ghttp.RouterGroup) {
|
||||
group.Middleware()
|
||||
group.Bind(
|
||||
controller.Send, // 发送
|
||||
)
|
||||
|
||||
// ws连接中间件
|
||||
group.Middleware(service.Middleware().WebSocketToken)
|
||||
|
||||
// ws
|
||||
group.GET("/", websocket.WsPage)
|
||||
})
|
||||
|
||||
// 启动websocket监听
|
||||
websocket.Start(ctx)
|
||||
|
||||
// 注册消息路由
|
||||
websocket.RegisterMsg(websocket.EventHandlers{
|
||||
"ping": common.Site.Ping, // 心跳
|
||||
"join": common.Site.Join, // 加入组
|
||||
"quit": common.Site.Quit, // 退出组
|
||||
"adminMonitorTrends": admin.Monitor.Trends, // 后台监控,动态数据
|
||||
"adminMonitorRunInfo": admin.Monitor.RunInfo, // 后台监控,运行信息
|
||||
})
|
||||
|
||||
}
|
Reference in New Issue
Block a user