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.
103 lines
3.3 KiB
103 lines
3.3 KiB
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) |
|
}
|
|
|