index.proto 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. syntax = "proto3";
  2. package live.appinterface.v1;
  3. option go_package = "v1";
  4. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  5. // Index 相关服务
  6. service Index {
  7. // 首页大接口
  8. // 首页换一换接口
  9. // `dynamic_resp:"true" midware:"guest"`
  10. rpc getAllList (GetAllListReq) returns (GetAllListResp);
  11. // `midware:"guest"`
  12. rpc change (ChangeReq) returns (ChangeResp);
  13. }
  14. message GetAllListResp {
  15. }
  16. // GetAllList请求
  17. message GetAllListReq {
  18. //平台
  19. string platform = 1 [(gogoproto.moretags) = 'form:"platform" validate:"required"'];
  20. //设备
  21. string device = 2 [(gogoproto.moretags) = 'form:"device" validate:"required"'];
  22. //分辨率
  23. string scale = 3 [(gogoproto.moretags) = 'form:"scale" validate:"required"'];
  24. //版本号
  25. int64 build = 4 [(gogoproto.moretags) = 'form:"build" validate:"required"'];
  26. //关注页码
  27. int64 relation_page = 5 [(gogoproto.moretags) = 'form:"relation_page" validate:"required"'];
  28. //模块id(可选)
  29. int64 module_id = 6 [(gogoproto.moretags) = 'form:"module_id"'];
  30. }
  31. // 换一换
  32. message ChangeReq {
  33. // 模块id
  34. // `mock:"1"`
  35. int64 module_id = 1 [(gogoproto.moretags) = 'form:"module_id" validate:"required"'];
  36. string attention_room_id = 2 [(gogoproto.moretags) = 'form:"attention_room_id" validate:"required"'];
  37. // 平台
  38. string platform = 3 [(gogoproto.moretags) = 'form:"platform"'];
  39. //设备
  40. string device = 4 [(gogoproto.moretags) = 'form:"device"'];
  41. //分辨率
  42. string scale = 5 [(gogoproto.moretags) = 'form:"scale"'];
  43. //版本号
  44. int64 build = 6 [(gogoproto.moretags) = 'form:"build"'];
  45. }
  46. // 换一换响应
  47. message ChangeResp {
  48. // 返回码
  49. message List {
  50. int64 roomid = 1 [(gogoproto.jsontag) = 'roomid'];
  51. string title = 2 [(gogoproto.jsontag) = 'title'];
  52. string uname = 3 [(gogoproto.jsontag) = 'uname'];
  53. int64 online = 4 [(gogoproto.jsontag) = 'online'];
  54. string cover = 5 [(gogoproto.jsontag) = 'cover'];
  55. string link = 6 [(gogoproto.jsontag) = 'link'];
  56. string face = 7 [(gogoproto.jsontag) = 'face'];
  57. int64 area_v2_parent_id = 8 [(gogoproto.jsontag) = 'area_v2_parent_id'];
  58. string area_v2_parent_name = 9 [(gogoproto.jsontag) = 'area_v2_parent_name'];
  59. int64 area_v2_id = 10 [(gogoproto.jsontag) = 'area_v2_id'];
  60. string area_v2_name = 11 [(gogoproto.jsontag) = 'area_v2_name'];
  61. string play_url = 12 [(gogoproto.jsontag) = 'play_url,omitempty'];
  62. string play_url_h265 = 13 [(gogoproto.jsontag) = 'play_url_h265,omitempty'];
  63. int64 current_quality = 14 [(gogoproto.jsontag) = 'current_quality,omitempty'];
  64. int64 broadcast_type = 15 [(gogoproto.jsontag) = 'broadcast_type'];
  65. string pendent_ru = 16 [(gogoproto.jsontag) = 'pendent_ru'];
  66. string pendent_ru_pic = 17 [(gogoproto.jsontag) = 'pendent_ru_pic'];
  67. string pendent_ru_color = 18 [(gogoproto.jsontag) = 'pendent_ru_color'];
  68. int64 rec_type = 19 [(gogoproto.jsontag) = 'rec_type'];
  69. int64 pk_id = 20 [(gogoproto.jsontag) = 'pk_id'];
  70. repeated int64 accept_quality = 21 [(gogoproto.jsontag) = 'accept_quality,omitempty'];
  71. }
  72. message ModuleInfo {
  73. // 模块id
  74. int64 id = 1 [(gogoproto.jsontag) = 'id'];
  75. // 标题
  76. string title = 2 [(gogoproto.jsontag) = 'title'];
  77. // 图标
  78. string pic = 3 [(gogoproto.jsontag) = 'pic'];
  79. // list数据类型 1: banner 2: 导航栏 3: 运营推荐分区-标准 4: 运营推荐分区-方 5:排行榜(小时榜) 6: 推荐主播-标准 7: 推荐主播-方 8:我的关注(用户相关) 9:一级分区-标准 10:一级分区-方 11: 活动卡片 12:常用标签推荐入口(用户相关) 13:常用标签推荐房间列表(用户相关) 14:大航海提示入口
  80. int64 type = 4 [(gogoproto.jsontag) = 'type'];
  81. // 跳转链接
  82. string link = 5 [(gogoproto.jsontag) = 'link'];
  83. // 该模块数据总数
  84. int64 count = 6 [(gogoproto.jsontag) = 'count'];
  85. int64 is_sky_horse_gray = 7 [(gogoproto.jsontag) = 'is_sky_horse_gray'];
  86. }
  87. message ModuleList {
  88. //
  89. ModuleInfo module_info = 1 [(gogoproto.jsontag) = 'module_info'];
  90. // 注意:可能是 PicList{id,pic,link,title},需要根据ModuleInfo里的type判断
  91. repeated List list = 2 [(gogoproto.jsontag) = 'list'];
  92. }
  93. repeated ModuleList module_list = 1 [(gogoproto.jsontag) = 'module_list'];
  94. }