package routers import ( "mtp2_if/controllers/cptrade" "mtp2_if/logger" "time" "github.com/gin-gonic/gin" _ "mtp2_if/docs" ginSwagger "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" ) // InitRouter 初始化路由器的方法 func InitRouter() *gin.Engine { r := gin.New() // 设置日志中间件 r.Use(ginLoggerMiddleware()) // 设置奔溃中间件 r.Use(ginRecoveryMiddleware()) // Swagger r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) // 路由分组 apiR := r.Group("/api") // ************************ 产能预售 ************************ cpTradeR := apiR.Group("CPTrade") // cpTradeR.Use(token.Auth()) cpTradeR.Use() { // 查询产能预售申请表 cpTradeR.GET("/QueryPreasleApply", cptrade.QueryPreasleApply) } return r } func ginLoggerMiddleware() gin.HandlerFunc { return func(c *gin.Context) { start := time.Now() c.Next() end := time.Now() latency := end.Sub(start) path := c.Request.URL.RequestURI() clientip := c.ClientIP() method := c.Request.Method statuscode := c.Writer.Status() logger.GetLogger().Infof("|%3d|%13v|%15s|%s %s", statuscode, latency, clientip, method, path) } } func ginRecoveryMiddleware() gin.HandlerFunc { return gin.RecoveryWithWriter(logger.GetLogWriter()) }