123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363 |
- syntax = "proto3";
- package live.appinterface.v2;
- option go_package = "v2";
- import "github.com/gogo/protobuf/gogoproto/gogo.proto";
- // Index 相关服务
- service Index {
- // 首页大接口
- // `midware:"guest,verify"`
- rpc getAllList (GetAllListReq) returns (GetAllListResp);
- // 换一换接口
- // `midware:"guest,verify"`
- rpc change (ChangeReq) returns (ChangeResp);
- }
- // 接口1: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"'];
- //推荐页码 当前推荐页(用于天马强推),不传默认按1处理
- int64 rec_page = 6 [(gogoproto.moretags) = 'form:"rec_page"'];
- int64 quality = 7 [(gogoproto.moretags) = 'form:"quality"'];
- }
- // GetAllList响应
- message GetAllListResp {
- //刷新重新请求间隔
- int64 interval = 1 [(gogoproto.jsontag) = 'interval'];
- //是否命中天马灰度
- int64 is_sky_horse_gray = 2 [(gogoproto.jsontag) = 'is_sky_horse_gray'];
- //banner类型
- repeated MBanner banner = 3 [(gogoproto.jsontag) = 'banner'];
- //常用标签类型
- repeated MMyTag my_tag = 4 [(gogoproto.jsontag) = 'my_tag'];
- //分区入口类型
- repeated MAreaEntrance area_entrance = 5 [(gogoproto.jsontag) = 'area_entrance'];
- //大航海提示类型
- repeated MSeaPatrol sea_patrol = 6 [(gogoproto.jsontag) = 'sea_patrol'];
- //我的关注类型
- repeated MMyIdol my_idol = 7 [(gogoproto.jsontag) = 'my_idol'];
- //通用房间列表类型
- repeated MRoomBlock room_list = 8 [(gogoproto.jsontag) = 'room_list'];
- //小时榜类型
- repeated MHourRank hour_rank = 9 [(gogoproto.jsontag) = 'hour_rank'];
- //活动卡
- repeated MActivityCard activity_card = 10 [(gogoproto.jsontag) = 'activity_card'];
- }
- // module define begin
- // banner banner位
- message MBanner {
- // 模块信息
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- // 模块列表
- repeated PicItem list = 2 [(gogoproto.jsontag) = 'list'];
- }
- // MyTag 常用标签
- message MMyTag {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- MyTagExtra extra_info = 2 [(gogoproto.jsontag) = 'extra_info'];
- repeated MyTagItem list = 3 [(gogoproto.jsontag) = 'list'];
- }
- // AreaEntrance 分区入口
- message MAreaEntrance {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- repeated PicItem list = 2 [(gogoproto.jsontag) = 'list'];
- }
- // SeaPatrol 大航海提示
- message MSeaPatrol {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- PicItem extra_info = 2 [(gogoproto.jsontag) = 'extra_info'];
- }
- // MyIdol 我的关注
- message MMyIdol {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- MyIdolExtra extra_info = 2 [(gogoproto.jsontag) = 'extra_info'];
- repeated MyIdolItem list = 3 [(gogoproto.jsontag) = 'list'];
- }
- // RoomList 房间列表
- message MRoomBlock {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- repeated CommonRoomItem list = 3 [(gogoproto.jsontag) = 'list'];
- }
- // MHourRank 小时榜
- message MHourRank {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- HourRankExtra extra_info = 2 [(gogoproto.jsontag) = 'extra_info'];
- repeated HourRankItem list = 3 [(gogoproto.jsontag) = 'list'];
- }
- // MActivityCard 活动卡
- message MActivityCard {
- ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
- repeated ActivityCardItem list = 2 [(gogoproto.jsontag) = 'list'];
- }
- // ...
- // ModuleInfo
- message ModuleInfo {
- // 模块id
- int64 id = 1 [(gogoproto.jsontag) = 'id'];
- // 模块跳转链接
- string link = 2 [(gogoproto.jsontag) = 'link'];
- // 模块图标
- string pic = 3 [(gogoproto.jsontag) = 'pic'];
- // 模块标题
- string title = 4 [(gogoproto.jsontag) = 'title'];
- // 模块类型 1: banner 2: 导航栏 3: 运营推荐分区-标准 4: 运营推荐分区-方 5:排行榜(小时榜) 6: 推荐主播-标准 7: 推荐主播-方 8:我的关注(用户相关) 9:一级分区-标准 10:一级分区-方 11: 活动卡片 12:常用标签推荐入口(用户相关) 13:常用标签推荐房间列表(用户相关) 14:大航海提示入口
- int64 type = 5 [(gogoproto.jsontag) = 'type'];
- // 模块排序值
- int64 sort = 6 [(gogoproto.jsontag) = 'sort'];
- // 模块数据源数量,按需、目前只有推荐有,其它模块都是默认值0
- int64 count = 7 [(gogoproto.jsontag) = 'count'];
- }
- // PicItem 比如banner、分区入口、大航海提示等等
- message PicItem {
- //唯一标识id
- int64 id = 1 [(gogoproto.jsontag) = 'id'];
- //跳转url
- string link = 2 [(gogoproto.jsontag) = 'link'];
- //图片url
- string pic = 3 [(gogoproto.jsontag) = 'pic'];
- //标题
- string title = 4 [(gogoproto.jsontag) = 'title'];
- //内容
- string content = 5 [(gogoproto.jsontag) = 'content'];
- }
- // MyTagItem
- message MyTagItem {
- int64 area_v2_id = 1 [(gogoproto.jsontag) = 'area_v2_id'];
- string area_v2_name = 2 [(gogoproto.jsontag) = 'area_v2_name'];
- int64 area_v2_parent_id = 3 [(gogoproto.jsontag) = 'area_v2_parent_id'];
- string area_v2_parent_name = 4 [(gogoproto.jsontag) = 'area_v2_parent_name'];
- string pic = 5 [(gogoproto.jsontag) = 'pic'];
- string link = 6 [(gogoproto.jsontag) = 'link'];
- int64 is_advice = 7 [(gogoproto.jsontag) = 'is_advice'];
- }
- // MyTagExtra
- message MyTagExtra {
- //是否命中常用标签灰度
- int64 is_gray = 1 [(gogoproto.jsontag) = 'is_gray'];
- //offline已下线标签
- repeated OfflineTag offline = 2 [(gogoproto.jsontag) = 'offline'];
- }
- // OfflineTag
- message OfflineTag {
- int64 id = 1 [(gogoproto.jsontag) = 'id'];
- string area_v2_name = 2 [(gogoproto.jsontag) = 'area_v2_name'];
- }
- // MyIdolExtra
- message MyIdolExtra {
- int64 total_count = 1 [(gogoproto.jsontag) = 'total_count'];
- string time_desc = 2 [(gogoproto.jsontag) = 'time_desc'];
- string uname_desc = 3 [(gogoproto.jsontag) = 'uname_desc'];
- string tags_desc = 4 [(gogoproto.jsontag) = 'tags_desc'];
- int64 card_type = 5 [(gogoproto.jsontag) = 'card_type'];
- int64 relation_page = 6 [(gogoproto.jsontag) = 'relation_page'];
- }
- // MyIdolItem
- message MyIdolItem {
- int64 roomid = 1 [(gogoproto.jsontag) = 'roomid'];
- int64 uid = 2 [(gogoproto.jsontag) = 'uid'];
- string uname = 3 [(gogoproto.jsontag) = 'uname'];
- string face = 4 [(gogoproto.jsontag) = 'face'];
- string cover = 5 [(gogoproto.jsontag) = 'cover'];
- string title = 6 [(gogoproto.jsontag) = 'title'];
- int64 area = 7 [(gogoproto.jsontag) = 'area'];
- int64 live_time = 8 [(gogoproto.jsontag) = 'live_time'];
- string area_name = 9 [(gogoproto.jsontag) = 'area_name'];
- int64 area_v2_id = 10 [(gogoproto.jsontag) = 'area_v2_id'];
- string area_v2_name = 11 [(gogoproto.jsontag) = 'area_v2_name'];
- string area_v2_parent_name = 12 [(gogoproto.jsontag) = 'area_v2_parent_name'];
- int64 area_v2_parent_id = 13 [(gogoproto.jsontag) = 'area_v2_parent_id'];
- string live_tag_name = 14 [(gogoproto.jsontag) = 'live_tag_name'];
- int64 online = 15 [(gogoproto.jsontag) = 'online'];
- string play_url = 16 [(gogoproto.jsontag) = 'play_url'];
- string play_url_h265 = 17 [(gogoproto.jsontag) = 'play_url_h265'];
- repeated int64 accept_quality = 18 [(gogoproto.jsontag) = 'accept_quality'];
- int64 current_quality = 19 [(gogoproto.jsontag) = 'current_quality'];
- int64 pk_id = 20 [(gogoproto.jsontag) = 'pk_id'];
- string link = 21 [(gogoproto.jsontag) = 'link'];
- int64 special_attention = 22 [(gogoproto.jsontag) = 'special_attention'];
- int64 broadcast_type = 23 [(gogoproto.jsontag) = 'broadcast_type'];
- string pendent_ru = 24 [(gogoproto.jsontag) = 'pendent_ru'];
- string pendent_ru_color = 25 [(gogoproto.jsontag) = 'pendent_ru_color'];
- string pendent_ru_pic = 26 [(gogoproto.jsontag) = 'pendent_ru_pic'];
- int64 official_verify = 27 [(gogoproto.jsontag) = 'official_verify'];
- }
- // ActivityCardItem
- message ActivityCardItem {
- BannerCardItem card = 1 [(gogoproto.jsontag) = 'card'];
- repeated RoomCardItem room = 2 [(gogoproto.jsontag) = 'room'];
- repeated AvCardItem av = 3 [(gogoproto.jsontag) = 'av'];
- }
- // BannerCardItem
- message BannerCardItem {
- //活动id
- int64 aid = 1 [(gogoproto.jsontag) = 'aid'];
- //活动图片
- string pic = 2 [(gogoproto.jsontag) = 'pic'];
- //活动标题
- string title = 3 [(gogoproto.jsontag) = 'title'];
- //活动文案
- string text = 4 [(gogoproto.jsontag) = 'text'];
- //图片链接
- string pic_link = 5 [(gogoproto.jsontag) = 'pic_link'];
- //围观链接
- string go_link = 6 [(gogoproto.jsontag) = 'go_link'];
- //三种:去围观,预约,已预约
- string button_text = 7 [(gogoproto.jsontag) = 'button_text'];
- //代表卡片所处于的状态 0可以去围观,1用户可以点击去预约,2用户可以点击取消预约
- int64 status = 8 [(gogoproto.jsontag) = 'status'];
- //card,room和av排序值
- int64 sort = 9 [(gogoproto.jsontag) = 'sort'];
- }
- // RoomCardItem
- message RoomCardItem {
- //是否开播
- int64 is_live = 1 [(gogoproto.jsontag) = 'is_live'];
- //房间id
- int64 room_id = 2 [(gogoproto.jsontag) = 'room_id'];
- //房间标题
- string title = 3 [(gogoproto.jsontag) = 'title'];
- //主播名
- string u_name = 4 [(gogoproto.jsontag) = 'u_name'];
- //人气值
- int64 online = 5 [(gogoproto.jsontag) = 'online'];
- //封面
- string cover = 6 [(gogoproto.jsontag) = 'cover'];
- //父一级分区id
- int64 area_v2_parent_id = 7 [(gogoproto.jsontag) = 'area_v2_parent_id'];
- //二级分区id
- int64 area_v2_id = 8 [(gogoproto.jsontag) = 'area_v2_id'];
- //card,room和av排序值
- int64 sort = 9 [(gogoproto.jsontag) = 'sort'];
- }
- // AvCardItem
- message AvCardItem {
- //视频
- int64 avid = 1 [(gogoproto.jsontag) = 'avid'];
- //avid
- string title = 2 [(gogoproto.jsontag) = 'title'];
- //视频标题
- int64 view_count = 3 [(gogoproto.jsontag) = 'view_count'];
- //浏览
- int64 dan_ma_ku = 4 [(gogoproto.jsontag) = 'dan_ma_ku'];
- //弹幕
- int64 duration = 5 [(gogoproto.jsontag) = 'duration'];
- //时长
- string cover = 6 [(gogoproto.jsontag) = 'cover'];
- //card,room和av排序值
- int64 sort = 7 [(gogoproto.jsontag) = 'sort'];
- }
- // CommonRoomItem
- message CommonRoomItem {
- //当前拥有清晰度列表
- repeated int64 accept_quality = 1 [(gogoproto.jsontag) = 'accept_quality'];
- //二级分区id
- int64 area_v2_id = 2 [(gogoproto.jsontag) = 'area_v2_id'];
- //一级分区id
- int64 area_v2_parent_id = 3 [(gogoproto.jsontag) = 'area_v2_parent_id'];
- //二级分区名称
- string area_v2_name = 4 [(gogoproto.jsontag) = 'area_v2_name'];
- //一级分区名称
- string area_v2_parent_name = 5 [(gogoproto.jsontag) = 'area_v2_parent_name'];
- //横竖屏 0:横屏 1:竖屏 -1:异常情况
- int64 broadcast_type = 6 [(gogoproto.jsontag) = 'broadcast_type'];
- //封面,封面现在有3种:关键帧、封面图、秀场封面(正方形的),返回哪个由后端决定
- string cover = 7 [(gogoproto.jsontag) = 'cover'];
- //当前清晰度,清晰度((0)) 0:默认码率, 2:800 3:1500 4:原画
- int64 current_quality = 8 [(gogoproto.jsontag) = 'current_quality'];
- //主播头像
- string face = 9 [(gogoproto.jsontag) = 'face'];
- //跳转链接
- string link = 10 [(gogoproto.jsontag) = 'link'];
- //人气值
- int64 online = 11 [(gogoproto.jsontag) = 'online'];
- //新版角标-右上 默认为空 只能是文字!!!@古月 【5.29显示更新】:服务端还是吐右上(兼容老版),5.29显示在左上
- string pendent_ru = 12 [(gogoproto.jsontag) = 'pendent_ru'];
- //【5.29显示更新】:服务端还是吐右上,5.29客户端显示在左上,对应的背景图片
- string pendent_ru_color = 13 [(gogoproto.jsontag) = 'pendent_ru_color'];
- //新版移动端角标色值-右上
- string pendent_ru_pic = 14 [(gogoproto.jsontag) = 'pendent_ru_pic'];
- //pk_id
- int64 pk_id = 15 [(gogoproto.jsontag) = 'pk_id'];
- //秒开播放串 h264
- string play_url = 16 [(gogoproto.jsontag) = 'play_url'];
- //推荐类型 1:人气 2:营收 3:运营强推 4:天马推荐(暂定)用于客户端打点
- int64 rec_type = 17 [(gogoproto.jsontag) = 'rec_type'];
- //房间id
- int64 roomid = 18 [(gogoproto.jsontag) = 'roomid'];
- //房间标题
- string title = 19 [(gogoproto.jsontag) = 'title'];
- //主播uname
- string uname = 20 [(gogoproto.jsontag) = 'uname'];
- //秒开播放串 h265
- string play_url_h265 = 21 [(gogoproto.jsontag) = 'play_url_h265'];
- }
- // HourRankItem
- message HourRankItem {
- //排名
- int64 rank = 1 [(gogoproto.jsontag) = 'rank'];
- //用户uid
- int64 uid = 2 [(gogoproto.jsontag) = 'uid'];
- //房间id
- int64 roomid = 3 [(gogoproto.jsontag) = 'roomid'];
- //用户昵称
- string uname = 4 [(gogoproto.jsontag) = 'uname'];
- //用户头像
- string face = 5 [(gogoproto.jsontag) = 'face'];
- //直播状态
- int64 live_status = 6 [(gogoproto.jsontag) = 'live_status'];
- //父分区id
- int64 area_v2_parent_id = 7 [(gogoproto.jsontag) = 'area_v2_parent_id'];
- //父分区名称
- string area_v2_parent_name = 8 [(gogoproto.jsontag) = 'area_v2_parent_name'];
- //子分区id
- int64 area_v2_id = 9 [(gogoproto.jsontag) = 'area_v2_id'];
- //子分区名称
- string area_v2_name = 10 [(gogoproto.jsontag) = 'area_v2_name'];
- }
- message HourRankExtra {
- //14:00-15:00榜单
- string sub_title = 1 [(gogoproto.jsontag) = 'sub_title'];
- }
- // 接口2:换一换
- message ChangeReq {
- //模块id
- int64 module_id = 1 [(gogoproto.moretags) = 'form:"module_id" validate:"required"'];
- //关注的room ids
- string attention_room_id = 2 [(gogoproto.moretags) = 'form:"attention_room_id"'];
- //换一换的当前页数
- int64 page = 3 [(gogoproto.moretags) = 'form:"page" validate:"required"'];
- string platform = 4 [(gogoproto.moretags) = 'form:"platform" validate:"required"'];
- int64 build = 5 [(gogoproto.moretags) = 'form:"build" validate:"required"'];
- string device = 6 [(gogoproto.moretags) = 'form:"device" validate:"required"'];
- int64 quality = 7 [(gogoproto.moretags) = 'form:"quality"'];
- }
- // 换一换响应
- message ChangeResp {
- ModuleInfo module_info = 1;
- int64 is_sky_horse_gray = 2 [(gogoproto.jsontag) = 'is_sky_horse_gray'];
- repeated CommonRoomItem list = 3;
- }
|