package router import ( "toutoukan/controllers/article" "toutoukan/controllers/goods" "toutoukan/controllers/kills" "toutoukan/controllers/search" "toutoukan/controllers/system" "toutoukan/controllers/test" "toutoukan/controllers/user" "toutoukan/init/ratelimit" "toutoukan/socket" "toutoukan/utill/jwt" "github.com/gin-gonic/gin" ) func SetupRouter() *gin.Engine { r := gin.Default() apiGroup := r.Group("/user") //apiGroup.Use(hystrix.CircuitBreakerMiddleware("user_api")) { apiGroup.POST("/login", user.UserLogin) apiGroup.POST("/test", jwt.JWTAuthMiddleware(), test.Testjwt) apiGroup.POST("/kill", ratelimit.RateLimitMiddleware(), kills.Userkill) apiGroup.POST("/getscore", user.GetScore) apiGroup.POST("/getInfo", user.GetUserInfo) } r.GET("/socket", jwt.JWTAuthMiddleware(), func(c *gin.Context) { socket.WebsocketHandler(c) }) systemGroup := r.Group("/system") { systemGroup.POST("/sendMsg", system.SendMsg) } searchGroup := r.Group("/search") { searchGroup.POST("/usersearch", search.DataSearch) searchGroup.POST("/insert", search.InsertDocument) } articleGroup := r.Group("/article") { articleGroup.POST("/get", article.ArticleListget) articleGroup.POST("/vote", article.VoteArticle) articleGroup.POST("/create", article.CreateArticle) articleGroup.POST("/delete", article.DeleteArticle) } goodsGroup := r.Group("/goods") { goodsGroup.GET("/getgoodslist", goods.GetGoods) } return r }