// package router // @Link https://github.com/xiujiecn/xiu-admin // @Copyright Copyright (c) 2025 LiXiujie // @Author Lxj // @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE package router import ( "context" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/controller/monitor" workerdiagnosticcontroller "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/controller/workerdiagnostic" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/rabbitmq" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/library/websocket" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/service" workerdiagnosticservice "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/service/workerdiagnostic" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/util/gmode" ) // Monitor 监控功能的路由,不含业务属性的 func Monitor(ctx context.Context, group *ghttp.RouterGroup) { group.Group("/monitor", func(group *ghttp.RouterGroup) { group.Middleware( service.Middleware().Auth, ) group.Bind( monitor.NewV1(), ) if workerDiagnosticEnabled(ctx) { group.Bind( workerdiagnosticcontroller.New(workerdiagnosticservice.New(rabbitmq.Publish)), ) } group.ALL("/ws", websocket.WsPage) }) } func workerDiagnosticEnabled(ctx context.Context) bool { return gmode.Mode() != gmode.PRODUCT && g.Cfg().MustGet(ctx, "workerDiagnostic.enabled", false).Bool() }