You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
86 lines
2.6 KiB
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"practice_Go/internal/controller/channel"
|
|
"practice_Go/internal/controller/clubPage"
|
|
"practice_Go/internal/controller/live"
|
|
"practice_Go/internal/controller/reservation"
|
|
"practice_Go/internal/controller/subscription"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"practice_Go/internal/controller/mainPage"
|
|
|
|
"github.com/gogf/gf/v2/os/gcmd"
|
|
)
|
|
|
|
/*自定义的允许跨域请求中间件*/
|
|
func MiddlewareCORS(r *ghttp.Request) {
|
|
/* 没有起到应起到的作用,还是所有的都可以访问
|
|
//自定义授权跨域的Origin
|
|
corsOptions := r.Response.DefaultCORSOptions()
|
|
corsOptions.AllowDomain = []string{"localhost"} //数组中的为允许访问的
|
|
if !r.Response.CORSAllowedOrigin(corsOptions) {
|
|
r.Response.WriteStatus(http.StatusForbidden)
|
|
return
|
|
}
|
|
r.Response.CORS(corsOptions)
|
|
r.Middleware.Next()*/
|
|
//默认的跨域设置
|
|
r.Response.CORSDefault()
|
|
r.Middleware.Next()
|
|
}
|
|
|
|
var (
|
|
Main = gcmd.Command{
|
|
Name: "main",
|
|
Usage: "main",
|
|
Brief: "start http server",
|
|
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
|
|
s := g.Server()
|
|
s.Group("/", func(group *ghttp.RouterGroup) {
|
|
group.Middleware(ghttp.MiddlewareHandlerResponse)
|
|
group.Bind(
|
|
channel.NewV1(),
|
|
subscription.NewV1(),
|
|
live.NewV1(),
|
|
reservation.NewV1(),
|
|
)
|
|
})
|
|
|
|
// 定义一个路由组,路径为/mainpage
|
|
s.Group("/mainpage", func(group *ghttp.RouterGroup) {
|
|
// 添加中间件,用于处理响应
|
|
//group.Middleware(ghttp.MiddlewareHandlerResponse)
|
|
group.Middleware(MiddlewareCORS)
|
|
// 绑定路由,将mainPage.NewMainPage()绑定到该路由组
|
|
//group.Bind(
|
|
// mainPage.NewMainPage(),
|
|
//)
|
|
group.GET("/get-shows", mainPage.NewMainPage().GetShows)
|
|
group.GET("/get-videos", mainPage.NewMainPage().GetVideos)
|
|
})
|
|
|
|
// 定义一个路由组,路径为/clubpage
|
|
s.Group("/clubpage", func(group *ghttp.RouterGroup) {
|
|
// 添加中间件,用于处理响应
|
|
//group.Middleware(ghttp.MiddlewareHandlerResponse)
|
|
group.Middleware(MiddlewareCORS)
|
|
// 绑定路由,将mainPage.NewMainPage()绑定到该路由组
|
|
//group.Bind(
|
|
// clubPage.NewClubPage(),
|
|
//)
|
|
group.GET("/get-clubs", clubPage.NewClubPage().GetClub)
|
|
group.GET("/get-club-shows", clubPage.NewClubPage().GetClubShows)
|
|
})
|
|
|
|
//开启静态资源
|
|
s.SetServerRoot("resource/public")
|
|
s.SetOpenApiPath("/api.json") //启用OpenAPIv3,并设置OpenAPI文档的路径
|
|
s.SetSwaggerPath("/swagger") //启用内置的Swagger接口文档UI,并设置Swagger文档的路径
|
|
s.Run()
|
|
return nil
|
|
},
|
|
}
|
|
)
|