71 lines
2.4 KiB
Protocol Buffer
71 lines
2.4 KiB
Protocol Buffer
syntax = "proto3";
|
||
package live.liveadmin.v1;
|
||
option go_package = "v1";
|
||
|
||
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
||
|
||
service Token {
|
||
// Request for a token for upload.
|
||
// `method:"POST" internal:"true"`
|
||
rpc new (NewTokenReq) returns (NewTokenResp);
|
||
}
|
||
|
||
service Upload {
|
||
// `method:"POST" content-type:"multipart/form-data" midware:"cors,guest"`
|
||
rpc file (UploadFileReq) returns (UploadFileResp);
|
||
}
|
||
|
||
message NewTokenReq {
|
||
// 上传到 BFS 的 bucket
|
||
string bucket = 1 [(gogoproto.moretags) = 'form:"bucket" validate:"required"'];
|
||
|
||
// 上传到指定的 BFS 目录(可以用来区分业务)
|
||
string dir = 2 [(gogoproto.moretags) = 'form:"dir"'];
|
||
|
||
// 操作人(mlive通过dashboard授权获取到的操作人)
|
||
string operator = 3 [(gogoproto.moretags) = 'form:"operator" validate:"required"'];
|
||
}
|
||
|
||
message NewTokenResp {
|
||
// 授予的 token
|
||
string token = 1 [(gogoproto.jsontag) = "token"];
|
||
}
|
||
|
||
// The file/data part must use Request.FormFile() to retrieve manually.
|
||
message UploadFileReq {
|
||
// 上传到 BFS 的 bucket
|
||
string bucket = 1 [(gogoproto.moretags) = 'form:"bucket" validate:"required"'];
|
||
|
||
// 上传到指定的 BFS 目录(可以用来区分业务)
|
||
string dir = 2 [(gogoproto.moretags) = 'form:"dir"'];
|
||
|
||
// 上传的到bfs的文件名(存储在bfs的文件名,不传bfs会根据文件的sha1值生成并返回)
|
||
string filename = 3 [(gogoproto.moretags) = 'form:"file_name"'];
|
||
|
||
// 上传的文件的类型(不指定时会自动检测文件类型)
|
||
string contentType = 4 [(gogoproto.moretags) = 'form:"content_type"'];
|
||
|
||
// 图片水印key,添加图片水印需要上传该参数, 新业务需要提前向bfs申请
|
||
string wmKey = 5 [(gogoproto.moretags) = 'form:"wm_key"'];
|
||
|
||
// 文字水印,限制不超过20个字符
|
||
string wmText = 6 [(gogoproto.moretags) = 'form:"wm_text"'];
|
||
|
||
// 水印位置右下角 到原图右下角 水平距离,默认10px
|
||
uint32 wmPaddingX = 7 [(gogoproto.moretags) = 'form:"wm_padding_x"'];
|
||
|
||
// 水印位置右下角 到原图右下角 垂直距离,默认10px
|
||
uint32 wmPaddingY = 8 [(gogoproto.moretags) = 'form:"wm_padding_y"'];
|
||
|
||
// 水印宽度占原图高度的比例(0,1) (只支持按照宽度压缩),默认值: 0.035
|
||
double wmScale = 9 [(gogoproto.moretags) = 'form:"wm_scale"'];
|
||
|
||
// 上传 Token,通过 obtainToken 接口获取
|
||
string token = 10 [(gogoproto.moretags) = 'form:"token" validate:"required"'];
|
||
}
|
||
|
||
message UploadFileResp {
|
||
string url = 1 [(gogoproto.jsontag) = "url"];
|
||
}
|
||
|