package router import ( "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" "sghgogs.com/sghblog/authorization-client/router/v1/admin_role" "sghgogs.com/sghblog/authorization-client/router/v1/admin_user" swaggerFiles "github.com/swaggo/files" "github.com/swaggo/gin-swagger" "go-micro.dev/v4/client" "net/http" _ "sghgogs.com/sghblog/authorization-client/docs" "sghgogs.com/sghblog/authorization-client/router/v1/admin_common" "sghgogs.com/sghblog/authorization-client/utils/baseservice" "sghgogs.com/sghblog/authorization-client/utils/tracing" "time" ) func Logger() gin.HandlerFunc { // 创建一个新的 Logrus 日志记录器 log := logrus.New() // 设置日志级别 // log.SetLevel(logrus.DebugLevel) log.SetLevel(logrus.TraceLevel) return func(c *gin.Context) { start := time.Now() c.Next() latency := time.Since(start) log.Printf("[%s] %s %s %s %s", c.Request.Method, c.Request.RequestURI, c.ClientIP(), latency, c.Request.UserAgent(), ) } } func NewRouter(namespace string, client client.Client) *gin.Engine { r := gin.Default() r.Use(Logger()) // TracingContextWrapper r.Use(tracing.NewTracingContextWrapper()) // r.Use(TokenAuthMiddleware(service)) // userRouters := users.NewUsersRouter(namespace, client, service) // authRouters := register.NewAuthRouter(namespace, client, service) // roleRouters := roles.NewRolesRouter(namespace, client, service) // selectRouter := selects.NewSelectRouter(namespace, client, service) // permissionRouter := permissions.NewPermissionRouter(namespace, client, service) // baseservice.RegisterRouters(r, authRouters, userRouters, roleRouters, selectRouter, permissionRouter) // r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) adminCommonRouter := admin_common.NewAdminCommonRouter(namespace, client) adminRoleRouter := admin_role.NewAdminRoleRouter(namespace, client) adminUserRouter := admin_user.NewAdminUserRouter(namespace, client) baseservice.RegisterRouters(r, adminCommonRouter, adminRoleRouter, adminUserRouter) r.GET("/_healthz", func(c *gin.Context) { c.String(http.StatusOK, "ok") }) r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) return r }