package svc import ( "slowwildws/internal/config" "slowwildws/internal/constants" "slowwildws/internal/middleware" "slowwildws/internal/server" "time" slowWildQueue "git.banshen.xyz/huangguangrong/slow_wild_queue" "github.com/zeromicro/go-zero/rest" ) type ServiceContext struct { Config config.Config WsServer *server.WebsocketServer UserMiddleware rest.Middleware MsgChatTransferClient slowWildQueue.MsgChatTransferClient } func NewServiceContext(c config.Config) *ServiceContext { return &ServiceContext{ Config: c, WsServer: server.NewWebsockerServer(c, server.WithServerMaxConnectionIdle(time.Duration(c.MaxConnectionIdle)*time.Second), server.WithServerAck(constants.NoAck)), UserMiddleware: middleware.NewJwtMiddleware(c.Auth.AccessSecret).Handle, MsgChatTransferClient: slowWildQueue.NewMsgChatTransferClient(c.MsgChatTransfer.Addrs, c.MsgChatTransfer.Topic), } }