Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"client.go",
"rec.go",
],
importpath = "go-common/app/service/live/third_api/skyhorse",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/xstr:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,15 @@
package skyhorse
import "go-common/library/net/http/blademaster"
type Client struct {
conf *blademaster.ClientConfig
}
func (c *Client) getConf() *blademaster.ClientConfig {
return c.conf
}
func New(c *blademaster.ClientConfig) *Client {
return &Client{conf: c}
}

View File

@@ -0,0 +1,70 @@
package skyhorse
import (
"context"
"net/url"
"strconv"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/xstr"
)
const (
_skyHorseURLAddr = "http://data.bilibili.co/recommand"
_skyHorseCnt = 6
_skyHorseFrom = "29004"
)
type SkyHorseItem struct {
Tid int `json:"tid"`
Id int `json:"id"`
GotoType string `json:"goto_type"`
Source string `json:"source"`
TrackId string `json:"track_id"`
AvFeature string `json:"av_feature"`
RcmdReason string `json:"rcmd_reason"`
}
type skyHorseRecResp struct {
Code int `json:"code"`
Error string `json:"error"`
Data []*SkyHorseItem `json:"data"`
}
func (c *Client) GetSkyHorseRec(ctx context.Context, mid int64, buvid string, build int64, plat string,
duplicateItem []int64, strongLen int, timeout int) (skyHorseRec *skyHorseRecResp, err error) {
cli := bm.NewClient(c.getConf())
param := url.Values{}
requestCnt := _skyHorseCnt - strongLen
if requestCnt <= 0 {
requestCnt = 6
}
param.Set("cmd", "live")
param.Set("from", _skyHorseFrom)
param.Set("request_cnt", strconv.Itoa(requestCnt))
param.Set("mid", strconv.FormatInt(mid, 10))
param.Set("buvid", buvid)
param.Set("build", strconv.FormatInt(build, 10))
param.Set("plat", plat)
param.Set("timeout", strconv.Itoa(timeout))
param.Set("duplicates", xstr.JoinInts(duplicateItem))
skyHorseRec = &skyHorseRecResp{}
err = cli.Get(ctx, _skyHorseURLAddr, "", param, skyHorseRec)
if err != nil {
log.Error("[GetSkyHorseRec]error:%+v=", err)
return
}
if skyHorseRec.Code != ecode.OK.Code() {
err = ecode.Int(skyHorseRec.Code)
log.Error("[getSkyHorseRoomList]getSkyHorseList error:%+v,code:%d,msg:%s", err, skyHorseRec.Code, skyHorseRec.Error)
}
return
}