feat 改名

This commit is contained in:
2025-12-15 11:29:27 +08:00
parent f511364984
commit 4983638c19
27 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
package http_gateway
import (
"fmt"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
"time"
)
func corsConfig() cors.Config {
return cors.Config{
AllowMethods: []string{"GET", "POST", "OPTIONS"},
AllowHeaders: []string{"Content-Type", "Authorization"},
AllowCredentials: false,
AllowAllOrigins: true,
MaxAge: 12 * time.Hour,
}
}
func ginLogger(logger *zap.SugaredLogger) gin.HandlerFunc {
return func(c *gin.Context) {
start := time.Now()
path := c.Request.URL.Path
c.Next()
cost := time.Since(start)
logger.Infof(fmt.Sprintf(
"HTTP Method:%v Code:%v Time:%v IP:%v Path:%v",
c.Request.Method,
c.Writer.Status(),
cost,
c.ClientIP(),
path),
)
}
}

View File

@@ -0,0 +1,37 @@
package http_gateway
import (
"common/log"
"gateway/handler/http_handler"
"gateway/handler/http_handler/helper/render"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"net/http"
)
func InitRouter() *gin.Engine {
gin.SetMode(gin.ReleaseMode)
r := gin.New()
r.Use(
gin.Recovery(),
ginLogger(log.GetLogger().Named("GIN")),
cors.New(corsConfig()),
)
r.HandleMethodNotAllowed = true
r.NoMethod(func(c *gin.Context) {
render.JsonByStatus(c, http.StatusMethodNotAllowed, render.Failed, "Method Not Allowed")
})
r.NoRoute(func(c *gin.Context) {
render.JsonByStatus(c, http.StatusNotFound, render.Failed, "Endpoint Not Found")
})
initBaseRouter(r)
return r
}
func initBaseRouter(router *gin.Engine) {
g := router.Group("/b")
g.POST("/snowflake", http_handler.GenSnowflake) // 生成雪花
}

View File

@@ -0,0 +1,64 @@
package ws_gateway
import (
"common/log"
"common/net/socket"
"fmt"
"gateway/handler/ws_handler"
"go.uber.org/zap"
"strconv"
"time"
)
type GatewayWsServer struct {
logger *zap.SugaredLogger
}
func (g *GatewayWsServer) OnOpen(conn socket.ISocketConn) ([]byte, socket.Action) {
g.logger = log.GetLogger().Named(fmt.Sprintf("addr:%v", conn.RemoteAddr()))
return nil, socket.None
}
func (g *GatewayWsServer) OnHandShake(conn socket.ISocketConn) {
token, ok := conn.GetParam("token").(string)
if !ok || len(token) == 0 {
g.logger.Warnf("token is not string")
_ = conn.Close()
return
}
t, err := strconv.Atoi(token)
if err != nil {
_ = conn.Close()
}
if oldClient := ws_handler.UserMgr.GetByUID(t); oldClient != nil {
oldClient.CloseClient()
}
client := ws_handler.NewClient(t, conn)
ws_handler.UserMgr.Add(t, client)
conn.SetParam("client", client)
}
func (g *GatewayWsServer) OnMessage(conn socket.ISocketConn, bytes []byte) socket.Action {
client, ok := conn.GetParam("client").(*ws_handler.Client)
if !ok || client.UID == 0 {
return socket.Close
}
client.OnEvent(&ws_handler.ClientEvent{Msg: bytes})
return socket.None
}
func (g *GatewayWsServer) OnPong(conn socket.ISocketConn) {
client, ok := conn.GetParam("client").(*ws_handler.Client)
if !ok || client.UID == 0 {
return
}
client.OnEvent(&ws_handler.PongEvent{})
}
func (g *GatewayWsServer) OnClose(_ socket.ISocketConn, _ error) socket.Action {
return socket.Close
}
func (g *GatewayWsServer) OnTick() (time.Duration, socket.Action) {
return 5 * time.Second, socket.None
}