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.
474 lines
15 KiB
474 lines
15 KiB
syntax="proto3"; |
|
|
|
package live.webucenter.v1; |
|
option go_package ="v1"; |
|
|
|
import "github.com/gogo/protobuf/gogoproto/gogo.proto"; |
|
|
|
// History 相关服务 |
|
service history { |
|
// 根据uid查询直播关键历史记录 |
|
// `midware:"auth"` |
|
rpc get_history_by_uid (GetHistoryReq) returns (GetHistoryResp); |
|
// 删除直播历史记录 |
|
// `method:"POST" midware:"auth"` |
|
rpc del_history (DelHistoryReq) returns (DelHistoryResp); |
|
|
|
} |
|
|
|
service Capsule{ |
|
// `midware:"auth"` |
|
rpc get_detail(CapsuleGetDetailReq) returns (CapsuleGetDetailResp); |
|
// `method:"POST" midware:"auth"` |
|
rpc open_capsule(CapsuleOpenCapsuleReq) returns (CapsuleOpenCapsuleResp); |
|
// `midware:"guest"` |
|
rpc get_capsule_info (CapsuleGetCapsuleInfoReq) returns (CapsuleGetCapsuleInfoResp); |
|
// `method:"POST" midware:"auth"` |
|
rpc open_capsule_by_type (CapsuleOpenCapsuleByTypeReq) returns (CapsuleOpenCapsuleByTypeResp); |
|
} |
|
|
|
// 历史记录请求参数定义 |
|
message GetHistoryReq { |
|
|
|
} |
|
|
|
// 获取接口返回响应 |
|
message GetHistoryResp { |
|
string title = 1 [(gogoproto.jsontag) = 'title']; |
|
int32 count = 4 [(gogoproto.jsontag) = 'count']; |
|
repeated List list = 5 [(gogoproto.jsontag) = 'list']; |
|
message List { |
|
int64 roomid = 1 [(gogoproto.jsontag) = 'roomid']; |
|
int32 uid = 2 [(gogoproto.jsontag) = 'uid']; |
|
string uname =3; |
|
string user_cover = 4 [(gogoproto.jsontag) = 'user_cover']; |
|
string title = 5 [(gogoproto.jsontag) = 'title']; |
|
string face = 6 [(gogoproto.jsontag) = 'face']; |
|
string tags = 7 [(gogoproto.jsontag) = 'tags']; |
|
int32 live_status = 9 [(gogoproto.jsontag) = 'live_status']; |
|
int32 fans_num = 10 [(gogoproto.jsontag) = 'fans_num']; |
|
int32 is_attention = 12 [(gogoproto.jsontag) = 'is_attention']; |
|
int32 area_v2_id = 13; |
|
string area_v2_name = 14 [(gogoproto.jsontag) = 'area_v2_name']; |
|
string area_v2_parent_name = 15 [(gogoproto.jsontag) = 'area_v2_parent_name']; |
|
int32 area_v2_parent_id = 16; |
|
} |
|
|
|
} |
|
|
|
// 删除历史记录参数定义 |
|
message DelHistoryReq { |
|
|
|
} |
|
|
|
|
|
// 删除直播历史记录响应 |
|
message DelHistoryResp { |
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
service AnchorTask { |
|
|
|
// (主播侧)-我的主播奖励(登录态) |
|
// `midware:"auth"` |
|
rpc myReward (AnchorTaskMyRewardReq) returns (AnchorTaskMyRewardResp); |
|
|
|
// (主播侧)-奖励使用记录(登录态) |
|
// `midware:"auth"` |
|
rpc useRecord (AnchorTaskUseRecordReq) returns (AnchorTaskUseRecordResp); |
|
|
|
// (主播侧)-使用奖励(登录态) |
|
// `method:"POST" midware:"auth"` |
|
rpc useReward (AnchorTaskUseRewardReq) returns (AnchorTaskUseRewardResp); |
|
|
|
// (主播侧)-奖励和任务红点(登录态) |
|
// `midware:"auth"` |
|
rpc isViewed (AnchorTaskIsViewedReq) returns (AnchorTaskIsViewedResp); |
|
|
|
// (主播侧)-添加主播奖励(内部接口) |
|
// `method:"POST" internal:"true"` |
|
rpc addReward (AnchorTaskAddRewardReq) returns (AnchorTaskAddRewardResp); |
|
} |
|
|
|
message AnchorTaskAddRewardReq { |
|
// 奖励id, 1:任意门 |
|
int64 reward_id = 4 [(gogoproto.moretags) = "form:\"reward_id\" validate:\"required\""]; |
|
// 房间号 |
|
int64 roomid = 8 [(gogoproto.moretags) = "form:\"roomid\" validate:\"required\""]; |
|
// 来源,1:主播任务,2:小时榜 |
|
int64 source = 9 [(gogoproto.moretags) = "form:\"source\" validate:\"required\""]; |
|
// 主播uid |
|
int64 uid = 10 [(gogoproto.moretags) = "form:\"uid\" validate:\"required\""]; |
|
// 流水单号 |
|
string order_id = 11 [(gogoproto.moretags) = "form:\"order_id\" validate:\"required\""]; |
|
} |
|
|
|
message AnchorTaskAddRewardResp { |
|
int64 result = 1 [(gogoproto.jsontag) = 'result']; |
|
} |
|
|
|
|
|
message AnchorTaskMyRewardReq { |
|
// 页数 |
|
int64 page = 1 [(gogoproto.moretags) = "form:\"page\""]; |
|
} |
|
|
|
message AnchorTaskMyRewardResp { |
|
// |
|
repeated RewardObj data = 1 [(gogoproto.jsontag) = 'data']; |
|
// |
|
Page page = 2 [(gogoproto.jsontag) = 'page']; |
|
// 过期奖励数量 |
|
int64 expire_count = 3 [(gogoproto.jsontag) = 'expire_count']; |
|
|
|
message RewardObj { |
|
// id |
|
int64 id = 1 [(gogoproto.jsontag) = 'id']; |
|
// 奖励类型 1:ss推荐卡 2:s推荐卡、任意门 |
|
int64 reward_type = 2 [(gogoproto.jsontag) = 'reward_type']; |
|
// 1:未使用,3:已使用,5:已过期 |
|
int64 status = 3 [(gogoproto.jsontag) = 'status']; |
|
// 奖励id |
|
int64 reward_id = 4 [(gogoproto.jsontag) = 'reward_id']; |
|
// 奖励名称 |
|
string name = 5 [(gogoproto.jsontag) = 'name']; |
|
// 奖励图标 |
|
string icon = 6 [(gogoproto.jsontag) = 'icon']; |
|
// 获得时间datetime |
|
string achieve_time = 7 [(gogoproto.jsontag) = 'achieve_time']; |
|
// 过期时间datetime |
|
string expire_time = 8 [(gogoproto.jsontag) = 'expire_time']; |
|
// 来源,1:主播任务,2:小时榜 |
|
int64 source = 9 [(gogoproto.jsontag) = 'source']; |
|
// 奖励简介 |
|
string reward_intro = 10 [(gogoproto.jsontag) = 'reward_intro']; |
|
} |
|
|
|
message Page { |
|
// 当前页码 |
|
int64 page = 1 [(gogoproto.jsontag) = 'page']; |
|
// 每页大小 |
|
int64 page_size = 2 [(gogoproto.jsontag) = 'page_size']; |
|
// 总页数 |
|
int64 total_page = 3 [(gogoproto.jsontag) = 'total_page']; |
|
// 总记录数 |
|
int64 total_count = 4 [(gogoproto.jsontag) = 'total_count']; |
|
} |
|
} |
|
|
|
|
|
|
|
message AnchorTaskUseRecordReq { |
|
// 页数 |
|
int64 page = 1 [(gogoproto.moretags) = "form:\"page\""]; |
|
} |
|
|
|
message AnchorTaskUseRecordResp { |
|
|
|
message RewardObj { |
|
// id |
|
int64 id = 1 [(gogoproto.jsontag) = 'id']; |
|
// 奖励id |
|
int64 reward_id = 2 [(gogoproto.jsontag) = 'reward_id']; |
|
// 1:未使用,3:已使用,5:已过期 |
|
int64 status = 3 [(gogoproto.jsontag) = 'status']; |
|
// 奖励名称 |
|
string name = 4 [(gogoproto.jsontag) = 'name']; |
|
// 奖励图标 |
|
string icon = 5 [(gogoproto.jsontag) = 'icon']; |
|
// 获得时间datetime |
|
string achieve_time = 6 [(gogoproto.jsontag) = 'achieve_time']; |
|
// 过期时间datetime |
|
string expire_time = 7 [(gogoproto.jsontag) = 'expire_time']; |
|
// 来源,1:主播任务,2:小时榜 |
|
int64 source = 8 [(gogoproto.jsontag) = 'source']; |
|
// 奖励简介 |
|
string reward_intro = 9 [(gogoproto.jsontag) = 'reward_intro']; |
|
// 获得时间datetime |
|
string use_time = 10 [(gogoproto.jsontag) = 'use_time']; |
|
} |
|
|
|
message Page { |
|
// 当前页码 |
|
int64 page = 1 [(gogoproto.jsontag) = 'page']; |
|
// 每页大小 |
|
int64 page_size = 2 [(gogoproto.jsontag) = 'page_size']; |
|
// 总页数 |
|
int64 total_page = 3 [(gogoproto.jsontag) = 'total_page']; |
|
// 总记录数 |
|
int64 total_count = 4 [(gogoproto.jsontag) = 'total_count']; |
|
} |
|
|
|
// |
|
repeated RewardObj data = 1 [(gogoproto.jsontag) = 'data']; |
|
// |
|
Page page = 2 [(gogoproto.jsontag) = 'page']; |
|
} |
|
|
|
|
|
|
|
message AnchorTaskUseRewardReq { |
|
// 奖励列表id |
|
int64 id = 1 [(gogoproto.moretags) = "form:\"id\" validate:\"required\""]; |
|
// 使用平台 |
|
string platform = 2 [(gogoproto.moretags) = "form:\"platform\""]; |
|
} |
|
|
|
message AnchorTaskUseRewardResp { |
|
|
|
int64 result = 1 [(gogoproto.jsontag) = 'result']; |
|
} |
|
|
|
|
|
message AnchorTaskIsViewedReq { |
|
|
|
} |
|
|
|
message AnchorTaskIsViewedResp { |
|
|
|
// 是否展示任务红点 |
|
int64 task_should_notice = 1 [(gogoproto.jsontag) = 'task_should_notice']; |
|
// 是否展示奖励入口 |
|
int64 show_reward_entry = 5 [(gogoproto.jsontag) = 'show_reward_entry']; |
|
// 是否展示奖励红点 |
|
int64 reward_should_notice = 2 [(gogoproto.jsontag) = 'reward_should_notice']; |
|
// 任务状态, 0:没有,1:领取, 5:完成 |
|
int64 task_status = 3 [(gogoproto.jsontag) = 'task_status']; |
|
// 是否在首页黑名单中 |
|
int64 is_blacked = 4 [(gogoproto.jsontag) = 'is_blacked']; |
|
// 点击跳转h5链接 |
|
string url = 6 [(gogoproto.jsontag) = 'url']; |
|
} |
|
|
|
|
|
|
|
message CapsuleGetDetailReq { |
|
// 来源 h5 web room |
|
string from = 2 [(gogoproto.moretags) = 'form:"from"']; |
|
} |
|
|
|
message Usage { |
|
// 用法描述 |
|
string text = 1 [(gogoproto.jsontag) = "text"]; |
|
// 跳转链接 |
|
string url = 2 [(gogoproto.jsontag) = "url"]; |
|
} |
|
|
|
message Progress { |
|
// 当前进度 |
|
int64 now = 1 [(gogoproto.jsontag) = "now"]; |
|
// 最大进度 |
|
int64 max = 2 [(gogoproto.jsontag) = "max"]; |
|
} |
|
|
|
message CapsuleGetDetailResp { |
|
// 普通扭蛋信息 |
|
CapsuleInfo normal = 1 [(gogoproto.jsontag) = "normal"]; |
|
// 梦幻扭蛋信息,若梦幻扭蛋status=false,则无coin、change、process、gift、list字段 |
|
CapsuleInfo colorful = 2 [(gogoproto.jsontag) = "colorful"]; |
|
|
|
message Gift { |
|
// 礼物名称 |
|
string name = 2 [(gogoproto.jsontag) = "name"]; |
|
// 礼物图片 |
|
string image = 3 [(gogoproto.jsontag) = "image"]; |
|
// 用法 |
|
Usage usage = 4 [(gogoproto.jsontag) = "usage"]; |
|
// web礼物图片 |
|
string web_image = 5 [(gogoproto.jsontag) = "web_image"]; |
|
// mobile礼物图片 |
|
string mobile_image = 6 [(gogoproto.jsontag) = "mobile_image"]; |
|
} |
|
|
|
message List { |
|
// 数量 |
|
int64 num = 1 [(gogoproto.jsontag) = "num"]; |
|
// 礼物名称 |
|
string gift = 2 [(gogoproto.jsontag) = "gift"]; |
|
// 时间 |
|
string date = 3 [(gogoproto.jsontag) = "date"]; |
|
// 用户名 |
|
string name = 4 [(gogoproto.jsontag) = "name"]; |
|
} |
|
|
|
message CapsuleInfo { |
|
// |
|
bool status = 1 [(gogoproto.jsontag) = "status"]; |
|
// 扭蛋数量 |
|
int64 coin = 2 [(gogoproto.jsontag) = "coin"]; |
|
// 变化值 |
|
int64 change = 3 [(gogoproto.jsontag) = "change"]; |
|
// 进度 |
|
Progress progress = 4 [(gogoproto.jsontag) = "progress"]; |
|
// 规则 |
|
string rule = 5 [(gogoproto.jsontag) = "rule"]; |
|
// 奖品列表 |
|
repeated Gift gift = 6 [(gogoproto.jsontag) = "gift"]; |
|
// 历史获奖列表 |
|
repeated List list = 7 [(gogoproto.jsontag) = "list"]; |
|
} |
|
} |
|
|
|
|
|
|
|
message CapsuleOpenCapsuleReq { |
|
// 扭蛋类型 |
|
string type = 2 [(gogoproto.moretags) = 'form:"type" validate:"required"']; |
|
// 扭的个数 |
|
int64 count = 3 [(gogoproto.moretags) = 'form:"count" validate:"required"']; |
|
|
|
string platform = 4 [(gogoproto.moretags) = 'form:"platform"']; |
|
} |
|
|
|
message CapsuleOpenCapsuleResp { |
|
// 扭蛋币扣除状态 |
|
bool status = 1 [(gogoproto.jsontag) = "status"]; |
|
// 奖品文案 |
|
repeated string text = 2 [(gogoproto.jsontag) = "text"]; |
|
// 是否包含实物奖品 |
|
bool isEntity = 3 [(gogoproto.jsontag) = "isEntity"]; |
|
// 用户扭蛋币拥有状态 |
|
Info info = 4 [(gogoproto.jsontag) = "info"]; |
|
// 头衔? 恒为空字符串, 忽略之 |
|
string showTitle = 5 [(gogoproto.jsontag) = "showTitle"]; |
|
// 奖品列表 |
|
repeated Award awards = 6 [(gogoproto.jsontag) = "awards"]; |
|
|
|
message CapsuleInfo { |
|
// 拥有的币 |
|
int64 coin = 1 [(gogoproto.jsontag) = "coin"]; |
|
// 变化值 |
|
int64 change = 2 [(gogoproto.jsontag) = "change"]; |
|
// 进度 |
|
Progress progress = 3 [(gogoproto.jsontag) = "progress"]; |
|
} |
|
|
|
message Info { |
|
// 普通扭蛋币 |
|
CapsuleInfo normal = 1 [(gogoproto.jsontag) = "normal"]; |
|
// 梦幻扭蛋币 |
|
CapsuleInfo colorful = 2 [(gogoproto.jsontag) = "colorful"]; |
|
} |
|
|
|
message Award { |
|
// 奖品名字 |
|
string name = 2 [(gogoproto.jsontag) = "name"]; |
|
// 奖品数量 |
|
int64 num = 3 [(gogoproto.jsontag) = "num"]; |
|
// 奖品 X 数量 |
|
string text = 4 [(gogoproto.jsontag) = "text"]; |
|
// 奖品图片 |
|
string img = 5 [(gogoproto.jsontag) = "img"]; |
|
// 奖品用法说明 |
|
Usage usage = 6 [(gogoproto.jsontag) = "usage"]; |
|
// web礼物图片 |
|
string web_image = 7 [(gogoproto.jsontag) = "web_image"]; |
|
// mobile礼物图片 |
|
string mobile_image = 8 [(gogoproto.jsontag) = "mobile_image"]; |
|
} |
|
} |
|
|
|
|
|
message CapsuleGetCapsuleInfoReq { |
|
// 扭蛋类型 |
|
string type = 2 [(gogoproto.moretags) = 'form:"type" validate:"required"']; |
|
// 来源 h5 web room |
|
string from = 3 [(gogoproto.moretags) = 'form:"from" validate:"required"']; |
|
} |
|
|
|
message CapsuleGetCapsuleInfoResp { |
|
message GiftList { |
|
// 礼物id |
|
int64 id = 1 [(gogoproto.jsontag) = "id"]; |
|
// 礼物名称 |
|
string name = 2 [(gogoproto.jsontag) = "name"]; |
|
// 礼物数量 |
|
int64 num = 3 [(gogoproto.jsontag) = "num"]; |
|
// 礼物图片 |
|
string web_url = 5 [(gogoproto.jsontag) = "web_url"]; |
|
// 礼物图片 |
|
string mobile_url = 6 [(gogoproto.jsontag) = "mobile_url"]; |
|
// 用法 |
|
Usage usage = 7 [(gogoproto.jsontag) = "usage"]; |
|
// 奖品类型 2 头衔 |
|
int64 type = 8 [(gogoproto.jsontag) = "type"]; |
|
// 过期时间 |
|
string expire = 9 [(gogoproto.jsontag) = "expire"]; |
|
} |
|
|
|
message GiftFilter { |
|
// 礼物id |
|
int64 id = 1 [(gogoproto.jsontag) = "id"]; |
|
// 礼物名称 |
|
string name = 2 [(gogoproto.jsontag) = "name"]; |
|
// 礼物图片 |
|
string web_url = 3 [(gogoproto.jsontag) = "web_url"]; |
|
// 礼物图片 |
|
string mobile_url = 4 [(gogoproto.jsontag) = "mobile_url"]; |
|
// 用法 |
|
Usage usage = 5 [(gogoproto.jsontag) = "usage"]; |
|
} |
|
|
|
// 扭蛋数量 |
|
int64 coin = 1 [(gogoproto.jsontag) = "coin"]; |
|
// 规则 |
|
string rule = 2 [(gogoproto.jsontag) = "rule"]; |
|
// 奖品列表,包含数量 |
|
repeated GiftList gift_list = 3 [(gogoproto.jsontag) = "gift_list"]; |
|
// 奖品列表,不包含数量,同一类别只有一条 |
|
repeated GiftFilter gift_filter = 4 [(gogoproto.jsontag) = "gift_filter"]; |
|
} |
|
|
|
|
|
|
|
message CapsuleOpenCapsuleByTypeReq { |
|
// 扭蛋类型 |
|
string type = 2 [(gogoproto.moretags) = 'form:"type" validate:"required"']; |
|
// 扭的个数 |
|
int64 count = 3 [(gogoproto.moretags) = 'form:"count" validate:"required"']; |
|
|
|
string platform = 4 [(gogoproto.moretags) = 'form:"platform"']; |
|
} |
|
|
|
message CapsuleOpenCapsuleByTypeResp { |
|
message CapsuleInfo { |
|
// 拥有的币 |
|
int64 coin = 1 [(gogoproto.jsontag) = "coin"]; |
|
} |
|
message Award { |
|
// 奖品id |
|
int64 id = 1 [(gogoproto.jsontag) = "id"]; |
|
// 奖品名字 |
|
string name = 2 [(gogoproto.jsontag) = "name"]; |
|
// 奖品数量 |
|
int64 num = 3 [(gogoproto.jsontag) = "num"]; |
|
// 奖品 X 数量 |
|
string text = 4 [(gogoproto.jsontag) = "text"]; |
|
// 礼物图片 |
|
string web_url = 5 [(gogoproto.jsontag) = "web_url"]; |
|
// 礼物图片 |
|
string mobile_url = 6 [(gogoproto.jsontag) = "mobile_url"]; |
|
// 奖品用法说明 |
|
Usage usage = 7 [(gogoproto.jsontag) = "usage"]; |
|
// 奖品类型 2 头衔 |
|
int64 type = 8 [(gogoproto.jsontag) = "type"]; |
|
// 过期时间 |
|
string expire = 9 [(gogoproto.jsontag) = "expire"]; |
|
} |
|
|
|
// 扭蛋币扣除状态 |
|
bool status = 1 [(gogoproto.jsontag) = "status"]; |
|
// 是否包含实物奖品 |
|
bool isEntity = 2 [(gogoproto.jsontag) = "isEntity"]; |
|
// 用户扭蛋币拥有状态 |
|
CapsuleInfo info = 3 [(gogoproto.jsontag) = "info"]; |
|
// 奖品列表 |
|
repeated Award awards = 4 [(gogoproto.jsontag) = "awards"]; |
|
// 奖品列表 |
|
repeated string text = 5 [(gogoproto.jsontag) = "text"]; |
|
} |
|
|
|
|