d5c053e59d
2、更新项目结构;
48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
package router
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"level_go/internal/api"
|
|
)
|
|
|
|
func NewRouter(commonApi *api.CommonHandler, stockApi *api.StockHandler, limitBoardApi *api.LimitBoardHandler) *gin.Engine {
|
|
r := gin.Default()
|
|
|
|
// 跨域中间件 (根据需要开启)
|
|
r.Use(func(c *gin.Context) {
|
|
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
|
|
c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
|
|
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type")
|
|
c.Writer.Header().Set("Access-Control-Expose-Headers", "Content-Disposition")
|
|
if c.Request.Method == "OPTIONS" {
|
|
c.AbortWithStatus(204)
|
|
return
|
|
}
|
|
c.Next()
|
|
})
|
|
|
|
v1 := r.Group("/api/v1")
|
|
{
|
|
v1.GET("/common/trade-calendar", commonApi.GetTradeCalendar)
|
|
v1.POST("/stock/analyze", stockApi.Analyze)
|
|
v1.GET("/stock/kline/:code", stockApi.GetKlineData)
|
|
|
|
limitBoard := v1.Group("/limit-board")
|
|
{
|
|
limitBoard.GET("/overview", limitBoardApi.GetOverview)
|
|
limitBoard.GET("/open-lower-groups", limitBoardApi.GetOpenLowerGroups)
|
|
limitBoard.GET("/open-threshold", limitBoardApi.GetOpenThresholdGroups)
|
|
limitBoard.GET("/open-threshold-groups", limitBoardApi.GetOpenThresholdGroups)
|
|
limitBoard.GET("/second-board-profit", limitBoardApi.ListSecondBoardProfit)
|
|
limitBoard.GET("/break-next-performance", limitBoardApi.GetBreakNextPerformance)
|
|
}
|
|
|
|
download := v1.Group("/download")
|
|
{
|
|
download.GET("/limit-board/second-board-profit-csv", limitBoardApi.DownloadSecondBoardProfitCSV)
|
|
download.GET("/limit-board/break-next-performance-csv", limitBoardApi.DownloadBreakNextPerformanceCSV)
|
|
}
|
|
}
|
|
return r
|
|
}
|