123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package http
- import (
- "net/url"
- "strconv"
- "go-common/app/interface/main/tv/conf"
- appsrv "go-common/app/interface/main/tv/service/app"
- auditsrv "go-common/app/interface/main/tv/service/audit"
- "go-common/app/interface/main/tv/service/favorite"
- gobsrv "go-common/app/interface/main/tv/service/goblin"
- hissrv "go-common/app/interface/main/tv/service/history"
- "go-common/app/interface/main/tv/service/pgc"
- secsrv "go-common/app/interface/main/tv/service/search"
- "go-common/app/interface/main/tv/service/thirdp"
- "go-common/app/interface/main/tv/service/tvvip"
- viewsrv "go-common/app/interface/main/tv/service/view"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/http/blademaster/middleware/auth"
- "go-common/library/net/http/blademaster/middleware/verify"
- )
- var (
- favSvc *favorite.Service
- tvSvc *appsrv.Service
- viewSvc *viewsrv.Service
- auditSvc *auditsrv.Service
- gobSvc *gobsrv.Service
- secSvc *secsrv.Service
- thirdpSvc *thirdp.Service
- tvVipSvc *tvvip.Service
- authSvc *auth.Auth
- vfySvc *verify.Verify
- hisSvc *hissrv.Service
- pgcSvc *pgc.Service
- signCfg *conf.AuditSign
- )
- // Init init http sever instance.
- func Init(c *conf.Config) {
- signCfg = c.Cfg.AuditSign
- initService(c)
- // init outer router
- engineOut := bm.NewServer(c.HTTPServer)
- engineOut.Use(bm.Recovery(), bm.Trace(), bm.Logger(), bm.Mobile())
- outerRouter(engineOut)
- if err := engineOut.Start(); err != nil {
- log.Error("engineOut.Start error(%v)", err)
- panic(err)
- }
- }
- func parseInt(value string) int64 {
- intval, err := strconv.ParseInt(value, 10, 64)
- if err != nil {
- intval = 0
- }
- return intval
- }
- func takeBuild(req url.Values) {
- buildStr := req.Get("build")
- if buildStr != "" {
- if tvSvc.TVAppInfo.Build != buildStr {
- tvSvc.TVAppInfo.Build = buildStr
- }
- }
- platStr := req.Get("platform")
- if platStr != "" {
- if tvSvc.TVAppInfo.Platform != platStr {
- tvSvc.TVAppInfo.Platform = buildStr
- }
- }
- mobiStr := req.Get("mobi_app")
- if mobiStr != "" {
- if tvSvc.TVAppInfo.MobiApp != mobiStr {
- tvSvc.TVAppInfo.MobiApp = mobiStr
- }
- }
- }
- func outerRouter(e *bm.Engine) {
- e.Ping(ping)
- tv := e.Group("/x/tv", bm.CORS(), bm.CSRF())
- e.GET("/x/tv/vip/order/guest_create", authSvc.User, createGuestOrder)
- {
- app := tv.Group("", authSvc.Guest) // the public group
- {
- // app pages
- app.GET("/homepage", homepage)
- app.GET("/zonepage", zonePage)
- app.GET("/zone_index", zoneIdx)
- app.GET("/media_detail", mediaDetail)
- app.GET("/modpage", modpage)
- // app functions
- app.GET("/upgrade", upgrade)
- app.GET("/splash", splash)
- app.GET("/recommend", recommend)
- app.GET("/suggest", searchSug)
- app.GET("/hotword", hotword)
- app.GET("/history", history)
- // dangbei page
- app.GET("/dangbei", dbeiPage)
- // video audit status check
- app.GET("/loadep", loadEP)
- app.GET("/labels", labels)
- }
- aud := e.Group("/x/tv/audit", bm.CSRF()) // license owner audit related functions
- {
- aud.POST("", audit)
- aud.POST("/transcode", vfySvc.Verify, transcode)
- aud.POST("/apply/pgc", vfySvc.Verify, applyPGC)
- }
- pgc := e.Group("/x/tv/pgc", bm.CSRF(), authSvc.Guest)
- {
- pgc.GET("/view", mDetailV2)
- }
- ugc := e.Group("/x/tv/ugc", bm.CSRF(), authSvc.Guest) // the APIs dedicated for ugc
- {
- ugc.GET("/view", view)
- ugc.GET("/load_video", loadVideo)
- ugc.GET("/playurl", ugcPlayurl)
- }
- search := e.Group("/x/tv/search", bm.CSRF(), authSvc.Guest) // the APIs for search
- {
- search.GET("/types", searchTypes)
- search.GET("", searchResult)
- wild := search.Group("/wild")
- {
- wild.GET("", searchAll) // 综合搜索
- wild.GET("user", userSearch) // 按用户搜索
- wild.GET("pgc", pgcSearch) // pgc番剧影视
- }
- }
- fav := e.Group("/x/tv/favorites", bm.CSRF(), authSvc.Guest)
- {
- fav.GET("", favorites)
- fav.POST("/act", favAct)
- }
- mango := e.Group("/x/tv/mango", bm.CSRF())
- {
- mango.GET("/recom", mangoRecom)
- }
- third := e.Group("/x/tv/third", bm.CSRF())
- {
- third.GET("/pgc/season", mangoSnPage)
- third.GET("/pgc/ep", mangoEpPage)
- third.GET("/ugc/archive", mangoArcPage)
- third.GET("/ugc/video", mangoVideoPage)
- }
- idx := e.Group("/x/tv/index", bm.CSRF(), authSvc.Guest)
- {
- idx.GET("/pgc", pgcIdx)
- idx.GET("/ugc", ugcIdx)
- }
- tv.GET("/region", region) // all region info
- vip := e.Group("/x/tv/vip", bm.CSRF())
- {
- vip.GET("/user/info", authSvc.UserMobile, vipInfo)
- vip.GET("/user/yst_info", ystVipInfo)
- vip.GET("/panel/user", authSvc.UserMobile, panelInfo)
- vip.GET("/panel/guest", authSvc.Guest, guestPanelInfo)
- vip.POST("/order/qr", authSvc.UserMobile, createQr)
- vip.POST("/order/guest_qr", authSvc.Guest, createGuestQr)
- vip.GET("/order/create", authSvc.Guest, createOrder)
- vip.GET("/token/info", authSvc.UserMobile, tokenStatus)
- vip.POST("/callback/pay", payCallback)
- vip.POST("/callback/wx_contract", wxContractCallback)
- }
- }
- }
- // ping check db server ok.
- func ping(c *bm.Context) {}
- func initService(c *conf.Config) {
- tvSvc = appsrv.New(c)
- viewSvc = viewsrv.New(c)
- favSvc = favorite.New(c)
- auditSvc = auditsrv.New(c)
- gobSvc = gobsrv.New(c)
- secSvc = secsrv.New(c)
- authSvc = auth.New(c.Auth)
- vfySvc = verify.New(c.Verify)
- hisSvc = hissrv.New(c)
- thirdpSvc = thirdp.New(c)
- pgcSvc = pgc.New(c)
- tvVipSvc = tvvip.New(c)
- }
|