104 lines
3.3 KiB
Go
104 lines
3.3 KiB
Go
|
package http
|
||
|
|
||
|
import (
|
||
|
"go-common/app/interface/main/app-view/conf"
|
||
|
"go-common/app/interface/main/app-view/service/report"
|
||
|
"go-common/app/interface/main/app-view/service/view"
|
||
|
"go-common/library/log"
|
||
|
"go-common/library/log/anticheat"
|
||
|
bm "go-common/library/net/http/blademaster"
|
||
|
"go-common/library/net/http/blademaster/middleware/auth"
|
||
|
"go-common/library/net/http/blademaster/middleware/proxy"
|
||
|
"go-common/library/net/http/blademaster/middleware/verify"
|
||
|
"go-common/library/queue/databus"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
viewSvr *view.Service
|
||
|
reportSvr *report.Service
|
||
|
authSvr *auth.Auth
|
||
|
verifySvc *verify.Verify
|
||
|
// databus
|
||
|
userActPub *databus.Databus
|
||
|
dislikePub *databus.Databus
|
||
|
collector *anticheat.AntiCheat
|
||
|
)
|
||
|
|
||
|
type userAct struct {
|
||
|
Client string `json:"client"`
|
||
|
Buvid string `json:"buvid"`
|
||
|
Mid int64 `json:"mid"`
|
||
|
Time int64 `json:"time"`
|
||
|
From string `json:"from"`
|
||
|
Build string `json:"build"`
|
||
|
ItemID string `json:"item_id"`
|
||
|
ItemType string `json:"item_type"`
|
||
|
Action string `json:"action"`
|
||
|
ActionID string `json:"action_id"`
|
||
|
Extra string `json:"extra"`
|
||
|
}
|
||
|
|
||
|
type cmDislike struct {
|
||
|
ID int64 `json:"id"`
|
||
|
Buvid string `json:"buvid"`
|
||
|
Goto string `json:"goto"`
|
||
|
Mid int64 `json:"mid"`
|
||
|
ReasonID int64 `json:"reason_id"`
|
||
|
CMReasonID int64 `json:"cm_reason_id"`
|
||
|
UpperID int64 `json:"upper_id"`
|
||
|
Rid int64 `json:"rid"`
|
||
|
TagID int64 `json:"tag_id"`
|
||
|
ADCB string `json:"ad_cb"`
|
||
|
}
|
||
|
|
||
|
// Init init http
|
||
|
func Init(c *conf.Config) {
|
||
|
initService(c)
|
||
|
collector = anticheat.New(c.InfocCoin)
|
||
|
// init external router
|
||
|
engineOut := bm.DefaultServer(c.BM.Outer)
|
||
|
outerRouter(engineOut)
|
||
|
// init outer server
|
||
|
if err := engineOut.Start(); err != nil {
|
||
|
log.Error("engineOut.Start() error(%v)", err)
|
||
|
panic(err)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func initService(c *conf.Config) {
|
||
|
verifySvc = verify.New(nil)
|
||
|
authSvr = auth.New(nil)
|
||
|
viewSvr = view.New(c)
|
||
|
reportSvr = report.New(c)
|
||
|
// databus
|
||
|
userActPub = databus.New(c.UseractPub)
|
||
|
dislikePub = databus.New(c.DislikePub)
|
||
|
}
|
||
|
|
||
|
func outerRouter(e *bm.Engine) {
|
||
|
e.Ping(ping)
|
||
|
// view
|
||
|
proxyHandler := proxy.NewZoneProxy("sh004", "http://sh001-app.bilibili.com")
|
||
|
view := e.Group("/x/v2/view")
|
||
|
view.GET("", verifySvc.Verify, authSvr.GuestMobile, viewIndex)
|
||
|
view.GET("/page", verifySvc.Verify, authSvr.GuestMobile, viewPage)
|
||
|
view.GET("/video/shot", verifySvc.Verify, videoShot)
|
||
|
view.POST("/share/add", verifySvc.Verify, authSvr.GuestMobile, addShare)
|
||
|
view.POST("/coin/add", proxyHandler, authSvr.UserMobile, addCoin)
|
||
|
view.POST("/fav/add", authSvr.UserMobile, addFav)
|
||
|
view.POST("/ad/dislike", authSvr.GuestMobile, adDislike)
|
||
|
view.GET("/report", verifySvc.Verify, copyWriter)
|
||
|
view.POST("/report/add", authSvr.UserMobile, addReport)
|
||
|
view.POST("/report/upload", verifySvc.Verify, upload)
|
||
|
view.POST("/like", proxyHandler, authSvr.UserMobile, like)
|
||
|
view.POST("/dislike", authSvr.UserMobile, dislike)
|
||
|
view.POST("/vip/playurl", authSvr.UserMobile, vipPlayURL)
|
||
|
view.GET("/follow", authSvr.GuestMobile, follow)
|
||
|
view.GET("/upper/recmd", authSvr.GuestMobile, upperRecmd)
|
||
|
view.POST("/like/triple", authSvr.UserMobile, likeTriple)
|
||
|
// bnj2019
|
||
|
view.GET("/bnj2019", verifySvc.Verify, authSvr.GuestMobile, bnj2019)
|
||
|
view.GET("/bnj2019/list", verifySvc.Verify, authSvr.GuestMobile, bnjList)
|
||
|
view.GET("/bnj2019/item", verifySvc.Verify, authSvr.GuestMobile, bnjItem)
|
||
|
}
|