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,23 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//app/service/live/live-dm/api/grpc/v1:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,62 @@
load(
"@io_bazel_rules_go//proto:def.bzl",
"go_proto_library",
)
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
proto_library(
name = "v1_proto",
srcs = ["api.proto"],
tags = ["automanaged"],
deps = ["@gogo_special_proto//github.com/gogo/protobuf/gogoproto"],
)
go_proto_library(
name = "v1_go_proto",
compilers = ["@io_bazel_rules_go//proto:gogofast_grpc"],
importpath = "go-common/app/service/live/live-dm/api/grpc/v1",
proto = ":v1_proto",
tags = ["automanaged"],
deps = ["@com_github_gogo_protobuf//gogoproto:go_default_library"],
)
go_library(
name = "go_default_library",
srcs = [
"api.bm.go",
"client.go",
],
embed = [":v1_go_proto"],
importpath = "go-common/app/service/live/live-dm/api/grpc/v1",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/binding:go_default_library",
"//library/net/rpc/warden:go_default_library",
"@com_github_gogo_protobuf//gogoproto:go_default_library",
"@com_github_gogo_protobuf//proto:go_default_library",
"@org_golang_google_grpc//:go_default_library",
"@org_golang_x_net//context: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,67 @@
// Code generated by protoc-gen-bm v0.1, DO NOT EDIT.
// source: api/grpc/v1/api.proto
/*
Package v1 is a generated blademaster stub package.
This code was generated with go-common/app/tool/bmgen/protoc-gen-bm v0.1.
It is generated from these files:
api/grpc/v1/api.proto
*/
package v1
import (
"context"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/binding"
)
// to suppressed 'imported but not used warning'
var _ *bm.Context
var _ context.Context
var _ binding.StructValidator
// ============
// DM Interface
// ============
type DM interface {
SendMsg(ctx context.Context, req *SendMsgReq) (resp *SendMsgResp, err error)
GetHistory(ctx context.Context, req *HistoryReq) (resp *HistoryResp, err error)
}
var v1DMSvc DM
// @params SendMsgReq
// @router GET /xlive/live-dm/v1/dM/SendMsg
// @response SendMsgResp
func dMSendMsg(c *bm.Context) {
p := new(SendMsgReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1DMSvc.SendMsg(c, p)
c.JSON(resp, err)
}
// @params HistoryReq
// @router GET /xlive/live-dm/v1/dM/GetHistory
// @response HistoryResp
func dMGetHistory(c *bm.Context) {
p := new(HistoryReq)
if err := c.BindWith(p, binding.Default(c.Request.Method, c.Request.Header.Get("Content-Type"))); err != nil {
return
}
resp, err := v1DMSvc.GetHistory(c, p)
c.JSON(resp, err)
}
// RegisterV1DMService Register the blademaster route with middleware map
// midMap is the middleware map, the key is defined in proto
func RegisterV1DMService(e *bm.Engine, svc DM, midMap map[string]bm.HandlerFunc) {
v1DMSvc = svc
e.GET("/xlive/live-dm/v1/dM/SendMsg", dMSendMsg)
e.GET("/xlive/live-dm/v1/dM/GetHistory", dMGetHistory)
}

View File

@@ -0,0 +1,65 @@
##
`GET http://api.live.bilibili.com/xlive/live-dm/v1/dM/SendMsg`
### 请求参数
```json
{
"uid": 0,
"roomid": 0,
"msg": "",
"rnd": "",
"ip": "",
"fontsize": 0,
"mode": 0,
"platform": "",
"msgtype": 0,
"bubble": 0,
"lancer": {
"buvid": "",
"userAgent": "",
"refer": "",
"cookie": "",
"build": 0
}
}
```
```json
{
"code": 0,
"message": "ok",
"data": {
"islimit": true,
"limitmsg": "",
"code": 0
}
}
```
##
`GET http://api.live.bilibili.com/xlive/live-dm/v1/dM/GetHistory`
### 请求参数
|参数名|必选|类型|描述|
|:---|:---|:---|:---|
|roomid|是|integer||
```json
{
"code": 0,
"message": "ok",
"data": {
"room": [
""
],
"admin": [
""
]
}
}
```

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
syntax = "proto3";
package live.livedm.v1;
option go_package = "v1";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
message SendMsgReq {
int64 uid = 1 [(gogoproto.moretags) = 'form:"uid" validate:"required"'];
int64 roomid = 2 [(gogoproto.moretags) = 'form:"roomid" validate:"required"'];
string msg = 3 [(gogoproto.moretags) = 'form:"msg" validate:"required"'];
string rnd = 4 [(gogoproto.moretags) = 'form:"rnd"'];
string ip = 5 [(gogoproto.moretags) = 'form:"ip"'];
int64 fontsize = 7 [(gogoproto.moretags) = 'form:"fontsize" validate:"gte=0"'];
int64 mode = 8 [(gogoproto.moretags) = 'form:"mode" validate:"gte=0"'];
string platform = 9 [(gogoproto.moretags) = 'form:"platform"'];
int64 msgtype = 10 [(gogoproto.moretags) = 'form:"msgtype" validate:"gte=0"'];
int64 bubble = 11 [(gogoproto.moretags) = 'form:"bubble"'];
lancer lancer = 12 [(gogoproto.moretags) = 'form:"lancer"'];
}
message lancer {
string buvid = 1 [(gogoproto.moretags) = 'form:"buvid"'];
string userAgent = 2 [(gogoproto.moretags) = 'form:"userAgent"'];
string refer = 3 [(gogoproto.moretags) = 'form:"refer"'];
string cookie = 4 [(gogoproto.moretags) = 'form:"cookie"'];
int64 build = 5 [(gogoproto.moretags) = 'form:"build"'];
}
message SendMsgResp {
bool isLimit = 1 [(gogoproto.jsontag) = "islimit"];
string limitMsg = 2 [(gogoproto.jsontag) = "limitmsg"];
int32 code = 3 [(gogoproto.jsontag) = "code"];
}
message HistoryReq {
int64 roomid = 1 [(gogoproto.moretags) = 'form:"roomid" validate:"required"'];
}
message HistoryResp{
repeated string room = 1 [(gogoproto.jsontag) = "room"];
repeated string admin = 2 [(gogoproto.jsontag) = "admin"];
}
message ErrMsg {
string message =1;
}
service DM {
rpc SendMsg(SendMsgReq) returns (SendMsgResp);
rpc GetHistory(HistoryReq) returns (HistoryResp);
}

View File

@@ -0,0 +1,23 @@
package v1
import (
"context"
"go-common/library/net/rpc/warden"
"google.golang.org/grpc"
)
//AppID 弹幕服务discoverID
const AppID = "live.livedm"
//NewClient 弹幕服务client创建
func NewClient(cfg *warden.ClientConfig, opts ...grpc.DialOption) (DMClient, error) {
client := warden.NewClient(cfg, opts...)
conn, err := client.Dial(context.Background(), "discovery://default/"+AppID)
if err != nil {
return nil, err
}
return NewDMClient(conn), nil
}