Files
go/internal/router/router.go
T
2026-05-02 11:15:36 +08:00

33 lines
946 B
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")
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)
v1.GET("/limit-board/overview", limitBoardApi.GetOverview)
v1.GET("/limit-board/open-lower-groups", limitBoardApi.GetOpenLowerGroups)
}
return r
}