106 lines
4.4 KiB
Protocol Buffer
106 lines
4.4 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package live.appinterface.v1;
|
||
|
||
option go_package = "v1";
|
||
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
|
||
|
||
// Index 相关服务
|
||
service Index {
|
||
// 首页大接口
|
||
// 首页换一换接口
|
||
// `dynamic_resp:"true" midware:"guest"`
|
||
rpc getAllList (GetAllListReq) returns (GetAllListResp);
|
||
// `midware:"guest"`
|
||
rpc change (ChangeReq) returns (ChangeResp);
|
||
}
|
||
|
||
message GetAllListResp {
|
||
|
||
}
|
||
|
||
// GetAllList请求
|
||
message GetAllListReq {
|
||
//平台
|
||
string platform = 1 [(gogoproto.moretags) = 'form:"platform" validate:"required"'];
|
||
//设备
|
||
string device = 2 [(gogoproto.moretags) = 'form:"device" validate:"required"'];
|
||
//分辨率
|
||
string scale = 3 [(gogoproto.moretags) = 'form:"scale" validate:"required"'];
|
||
//版本号
|
||
int64 build = 4 [(gogoproto.moretags) = 'form:"build" validate:"required"'];
|
||
//关注页码
|
||
int64 relation_page = 5 [(gogoproto.moretags) = 'form:"relation_page" validate:"required"'];
|
||
//模块id(可选)
|
||
int64 module_id = 6 [(gogoproto.moretags) = 'form:"module_id"'];
|
||
}
|
||
|
||
// 换一换
|
||
message ChangeReq {
|
||
// 模块id
|
||
// `mock:"1"`
|
||
int64 module_id = 1 [(gogoproto.moretags) = 'form:"module_id" validate:"required"'];
|
||
|
||
string attention_room_id = 2 [(gogoproto.moretags) = 'form:"attention_room_id" validate:"required"'];
|
||
// 平台
|
||
string platform = 3 [(gogoproto.moretags) = 'form:"platform"'];
|
||
//设备
|
||
string device = 4 [(gogoproto.moretags) = 'form:"device"'];
|
||
//分辨率
|
||
string scale = 5 [(gogoproto.moretags) = 'form:"scale"'];
|
||
//版本号
|
||
int64 build = 6 [(gogoproto.moretags) = 'form:"build"'];
|
||
}
|
||
|
||
// 换一换响应
|
||
message ChangeResp {
|
||
// 返回码
|
||
message List {
|
||
int64 roomid = 1 [(gogoproto.jsontag) = 'roomid'];
|
||
string title = 2 [(gogoproto.jsontag) = 'title'];
|
||
string uname = 3 [(gogoproto.jsontag) = 'uname'];
|
||
int64 online = 4 [(gogoproto.jsontag) = 'online'];
|
||
string cover = 5 [(gogoproto.jsontag) = 'cover'];
|
||
string link = 6 [(gogoproto.jsontag) = 'link'];
|
||
string face = 7 [(gogoproto.jsontag) = 'face'];
|
||
int64 area_v2_parent_id = 8 [(gogoproto.jsontag) = 'area_v2_parent_id'];
|
||
string area_v2_parent_name = 9 [(gogoproto.jsontag) = 'area_v2_parent_name'];
|
||
int64 area_v2_id = 10 [(gogoproto.jsontag) = 'area_v2_id'];
|
||
string area_v2_name = 11 [(gogoproto.jsontag) = 'area_v2_name'];
|
||
string play_url = 12 [(gogoproto.jsontag) = 'play_url,omitempty'];
|
||
string play_url_h265 = 13 [(gogoproto.jsontag) = 'play_url_h265,omitempty'];
|
||
int64 current_quality = 14 [(gogoproto.jsontag) = 'current_quality,omitempty'];
|
||
int64 broadcast_type = 15 [(gogoproto.jsontag) = 'broadcast_type'];
|
||
string pendent_ru = 16 [(gogoproto.jsontag) = 'pendent_ru'];
|
||
string pendent_ru_pic = 17 [(gogoproto.jsontag) = 'pendent_ru_pic'];
|
||
string pendent_ru_color = 18 [(gogoproto.jsontag) = 'pendent_ru_color'];
|
||
int64 rec_type = 19 [(gogoproto.jsontag) = 'rec_type'];
|
||
int64 pk_id = 20 [(gogoproto.jsontag) = 'pk_id'];
|
||
repeated int64 accept_quality = 21 [(gogoproto.jsontag) = 'accept_quality,omitempty'];
|
||
}
|
||
|
||
message ModuleInfo {
|
||
// 模块id
|
||
int64 id = 1 [(gogoproto.jsontag) = 'id'];
|
||
// 标题
|
||
string title = 2 [(gogoproto.jsontag) = 'title'];
|
||
// 图标
|
||
string pic = 3 [(gogoproto.jsontag) = 'pic'];
|
||
// list数据类型 1: banner 2: 导航栏 3: 运营推荐分区-标准 4: 运营推荐分区-方 5:排行榜(小时榜) 6: 推荐主播-标准 7: 推荐主播-方 8:我的关注(用户相关) 9:一级分区-标准 10:一级分区-方 11: 活动卡片 12:常用标签推荐入口(用户相关) 13:常用标签推荐房间列表(用户相关) 14:大航海提示入口
|
||
int64 type = 4 [(gogoproto.jsontag) = 'type'];
|
||
// 跳转链接
|
||
string link = 5 [(gogoproto.jsontag) = 'link'];
|
||
// 该模块数据总数
|
||
int64 count = 6 [(gogoproto.jsontag) = 'count'];
|
||
int64 is_sky_horse_gray = 7 [(gogoproto.jsontag) = 'is_sky_horse_gray'];
|
||
}
|
||
|
||
message ModuleList {
|
||
//
|
||
ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
|
||
// 注意:可能是 PicList{id,pic,link,title},需要根据ModuleInfo里的type判断
|
||
repeated List list = 2 [(gogoproto.jsontag) = 'list'];
|
||
}
|
||
|
||
repeated ModuleList module_list = 1 [(gogoproto.jsontag) = 'module_list'];
|
||
} |