github.com/99MyCql/duffett@v0.1.0/main.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/gin-gonic/gin"
     5  	ginSwagger "github.com/swaggo/gin-swagger"
     6  	"github.com/swaggo/gin-swagger/swaggerFiles"
     7  
     8  	appData "github.com/99MyCql/duffett/app/data"
     9  	appMonitor "github.com/99MyCql/duffett/app/monitor"
    10  	appOrder "github.com/99MyCql/duffett/app/order"
    11  	appStock "github.com/99MyCql/duffett/app/stock"
    12  	appStrategy "github.com/99MyCql/duffett/app/strategy"
    13  	appUser "github.com/99MyCql/duffett/app/user"
    14  	_ "github.com/99MyCql/duffett/docs"
    15  	"github.com/99MyCql/duffett/middleware"
    16  	"github.com/99MyCql/duffett/pkg"
    17  )
    18  
    19  func init() {
    20  	pkg.InitConfig("conf.yaml")
    21  	pkg.InitLog(pkg.DebugLevel)
    22  	pkg.InitDB()
    23  	pkg.InitJwt()
    24  }
    25  
    26  func main() {
    27  	router := gin.Default()
    28  
    29  	// 注册 swagger
    30  	// url := ginSwagger.URL("http://localhost:8080/swagger/doc.json")
    31  	router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
    32  
    33  	// 配置路由
    34  	v1 := router.Group("/api/v1")
    35  	{
    36  		user := v1.Group("/user")
    37  		{
    38  			user.POST("/login", appUser.Login)
    39  			user.POST("/register", appUser.Register)
    40  			user.GET("/testJwt", middleware.JWTAuth(), appUser.TestJwt)
    41  		}
    42  
    43  		data := v1.Group("/data").Use(middleware.JWTAuth())
    44  		{
    45  			data.POST("/tushare", appData.Tushare)
    46  		}
    47  
    48  		monitor := v1.Group("/monitor")
    49  		{
    50  			monitor.GET("/ws", appMonitor.WS)
    51  		}
    52  
    53  		stock := v1.Group("/stock").Use(middleware.JWTAuth())
    54  		{
    55  			stock.GET("/getMonitoringStocks", appStock.GetMonitoringStocks)
    56  			stock.GET("/getStocks", appStock.GetStocks)
    57  		}
    58  
    59  		order := v1.Group("/order").Use(middleware.JWTAuth())
    60  		{
    61  			order.POST("/getOrders", appOrder.GetOrders)
    62  		}
    63  
    64  		strategy := v1.Group("/strategy").Use(middleware.JWTAuth())
    65  		{
    66  			strategy.GET("/getStrategies", appStrategy.GetStrategies)
    67  			strategy.POST("/create", appStrategy.Create)
    68  			strategy.POST("/update", appStrategy.Update)
    69  			strategy.POST("/delete", appStrategy.Delete)
    70  			strategy.POST("/testExec", appStrategy.TestExec)
    71  		}
    72  	}
    73  
    74  	// 运行
    75  	router.Run(pkg.Conf.Addr)
    76  }