From c454b3a4092275d8e3c871564fe7a5beb6dcc1e9 Mon Sep 17 00:00:00 2001 From: SocialSisterYi <45892418+SocialSisterYi@users.noreply.github.com> Date: Fri, 5 Feb 2021 18:32:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E3=80=90proto=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- grpc_api/bilibili/app/card/v1.proto | 734 +++++++------- grpc_api/bilibili/app/playurl/v1.proto | 172 ++-- grpc_api/bilibili/app/show/popular/v1.proto | 83 +- grpc_api/bilibili/app/show/rank/v1.proto | 111 ++- .../bilibili/cheese/gateway/player/v1.proto | 152 ++- .../bilibili/community/service/dm/v1.proto | 407 +++++--- .../bilibili/main/community/reply/v1.proto | 385 ++++---- grpc_api/bilibili/metadata.proto | 184 ++++ grpc_api/bilibili/metadata/device.proto | 46 - grpc_api/bilibili/metadata/locale.proto | 30 - grpc_api/bilibili/metadata/metadata.proto | 28 - grpc_api/bilibili/metadata/network.proto | 61 -- grpc_api/bilibili/metadata/restriction.proto | 30 - grpc_api/bilibili/pgc/gateway/player/v2.proto | 899 +++++++++++------- grpc_api/bilibili/rpc.proto | 2 +- grpc_api/comp_proto.bat | 8 +- grpc_api/comp_proto.sh | 6 + grpc_api/readme.md | 23 +- 18 files changed, 1919 insertions(+), 1442 deletions(-) create mode 100644 grpc_api/bilibili/metadata.proto delete mode 100644 grpc_api/bilibili/metadata/device.proto delete mode 100644 grpc_api/bilibili/metadata/locale.proto delete mode 100644 grpc_api/bilibili/metadata/metadata.proto delete mode 100644 grpc_api/bilibili/metadata/network.proto delete mode 100644 grpc_api/bilibili/metadata/restriction.proto create mode 100644 grpc_api/comp_proto.sh diff --git a/grpc_api/bilibili/app/card/v1.proto b/grpc_api/bilibili/app/card/v1.proto index f17e832..cf07c15 100644 --- a/grpc_api/bilibili/app/card/v1.proto +++ b/grpc_api/bilibili/app/card/v1.proto @@ -2,6 +2,294 @@ syntax = "proto3"; package bilibili.app.card.v1; +//卡片信息 +message Card { + oneof item { + //小封面条目 + SmallCoverV5 smallCoverV5 = 1; + + // + LargeCoverV1 largeCoverV1 = 2; + + // + ThreeItemAllV2 threeItemAllV2 = 3; + + // + ThreeItemV1 threeItemV1 = 4; + + // + HotTopic hotTopic = 5; + + // + DynamicHot dynamicHot = 6; + + // + MiddleCoverV3 middleCoverV3 = 7; + + // + LargeCoverV4 largeCoverV4 = 8; + + //热门列表顶部按钮 + PopularTopEntrance popularTopEntrance = 9; + + // + RcmdOneItem rcmdOneItem = 10; + } +} + +//小封面条目 +message SmallCoverV5 { + //条目基本信息 + Base base = 1; + + // + string coverGif = 2; + + // + Up up = 3; + + //封面右下角标文案(时长) + string coverRightText1 = 4; + + //右侧文案1(UP主昵称) + string rightDesc1 = 5; + + //右侧文案2(播放量 时间) + string rightDesc2 = 6; + + //右侧推荐原因标签框 + ReasonStyle rcmdReasonStyle = 7; + + // + HotwordEntrance hotwordEntrance = 8; + + // + ReasonStyle cornerMarkStyle = 9; + + //右侧文案1图标id + int32 rightIcon1 = 10; + + //右侧文案2图标id + int32 rightIcon2 = 11; + + // + ReasonStyle leftCornerMarkStyle = 12; +} + +// +message LargeCoverV1 { + //条目基本信息 + Base base = 1; + + // + string coverGif = 2; + + // + Avatar avatar = 3; + + // + string coverLeftText1 = 4; + + // + string coverLeftText2 = 5; + + // + string coverLeftText3 = 6; + + // + string coverBadge = 7; + + // + string topRcmdReason = 8; + + // + string bottomRcmdReason = 9; + + // + string desc = 10; + + // + int32 officialIcon = 11; + + // + int32 canPlay = 12; + + // + ReasonStyle topRcmdReasonStyle = 13; + + // + ReasonStyle bottomRcmdReasonStyle = 14; + + // + ReasonStyle rcmdReasonStyleV2 = 15; + + // + ReasonStyle leftCoverBadgeStyle = 16; + + // + ReasonStyle rightCoverBadgeStyle = 17; + + // + string coverBadge2 = 18; + + // + LikeButton likeButton = 19; + + // + int32 titleSingleLine = 20; + + // + string coverRightText = 21; +} + +// +message ThreeItemAllV2 { + //条目基本信息 + Base base = 1; + + // + ReasonStyle topRcmdReasonStyle = 2; + + // + repeated TwoItemHV1Item item = 3; +} + +// +message ThreeItemV1 { + //条目基本信息 + Base base = 1; + + // + int32 titleIcon = 2; + + // + string moreUri = 3; + + // + string moreText = 4; + + // + repeated ThreeItemV1Item items = 5; +} + +// +message HotTopic { + //条目基本信息 + Base base = 1; + + // + string desc = 2; + + // + repeated HotTopicItem items = 3; +} + +// +message DynamicHot { + //条目基本信息 + Base base = 1; + + // + string topLeftTitle = 2; + + // + string desc1 = 3; + + // + string desc2 = 4; + + // + string moreUri = 5; + + // + string moreText = 6; + + // + repeated string covers = 7; + + // + string coverRightText = 8; + + // + ReasonStyle topRcmdReasonStyle = 9; +} + +// +message MiddleCoverV3 { + //条目基本信息 + Base base = 1; + + // + string desc1 = 2; + + // + string desc2 = 3; + + // + ReasonStyle coverBadgeStyle = 4; +} + +// +message LargeCoverV4 { + //条目基本信息 + Base base = 1; + + // + string coverLeftText1 = 2; + + // + string coverLeftText2 = 3; + + // + string coverLeftText3 = 4; + + // + string coverBadge = 5; + + // + int32 canPlay = 6; + + // + Up up = 7; + + // + string shortLink = 8; + + // + string shareSubtitle = 9; + + // + string playNumber = 10; + + // + string bvid = 11; + + // + string subParam = 12; +} + +//热门列表顶部按钮 +message PopularTopEntrance { + //条目基本信息 + Base base = 1; + + //按钮项 + repeated EntranceItem items = 2; +} + +//推荐 +message RcmdOneItem { + //条目基本信息 + Base base = 1; + + //标签框信息 + ReasonStyle topRcmdReasonStyle = 2; + + //小封面推荐内容信息 + SmallCoverRcmdItem item = 3; +} + +// message AdInfo { // int64 creativeId = 1; @@ -112,27 +400,28 @@ message Avatar { int32 defalutCover = 7; } -// +//条目基本信息 message Base { - // + //卡片类型 string cardType = 1; - // + //卡片跳转类型? string cardGoto = 2; - // + //跳转类型 + //av:视频稿件 mid:用户空间 string goto = 3; - // + //目标参数 string param = 4; - // + //封面url string cover = 5; - // + //标题 string title = 6; - // + //跳转uri string uri = 7; // @@ -144,7 +433,7 @@ message Base { // PlayerArgs playerArgs = 10; - // + //条目排位序号 int64 idx = 11; // @@ -153,7 +442,8 @@ message Base { // Mask mask = 13; - // + //来源标识 + //recommend:推荐 operation:管理? string fromType = 14; // @@ -165,84 +455,50 @@ message Base { // Button descButton = 17; - // + //三点v4 ThreePointV4 threePointV4 = 18; } -// +//气泡信息 message Bubble { - // + //文案 string bubbleContent = 1; - // + //版本 int32 version = 2; - // + //起始时间 int64 stime = 3; } -// +//按钮信息 message Button { - // + //文案 string text = 1; - // + //参数 string param = 2; // string uri = 3; - // + //事件 string event = 4; // int32 selected = 5; - // + //类型 + //2: int32 type = 6; - // + //事件v2 string eventV2 = 7; - // + //关系信息 Relation relation = 8; } -// -message Card { - oneof itemCase { - // - SmallCoverV5 smallCoverV5 = 1; - - // - LargeCoverV1 largeCoverV1 = 2; - - // - ThreeItemAllV2 threeItemAllV2 = 3; - - // - ThreeItemV1 threeItemV1 = 4; - - // - HotTopic hotTopic = 5; - - // - DynamicHot dynamicHot = 6; - - // - MiddleCoverV3 middleCoverV3 = 7; - - // - LargeCoverV4 largeCoverV4 = 8; - - // - PopularTopEntrance popularTopEntrance = 9; - - // - RcmdOneItem rcmdOneItem = 10; - } -} - // message CreativeContent { // @@ -288,75 +544,33 @@ message DislikeReason { string name = 2; } -// -message DynamicHot { - // - Base base = 1; - - // - string topLeftTitle = 2; - - // - string desc1 = 3; - - // - string desc2 = 4; - - // - string moreUri = 5; - - // - string moreText = 6; - - // - repeated string covers = 7; - - // - string coverRightText = 8; - - // - ReasonStyle topRcmdReasonStyle = 9; -} - -// +//热门列表按钮信息 message EntranceItem { - // + //跳转类型 string goto = 1; - // + //图标url string icon = 2; - // + //标题 string title = 3; - // + //入口模块id string moduleId = 4; - // + //跳转uri string uri = 5; - // + //入口id int64 entranceId = 6; - // + //气泡信息 Bubble bubble = 7; - // + //入口类型? int32 entranceType = 8; } -// -message HotTopic { - // - Base base = 1; - - // - string desc = 2; - - // - repeated HotTopicItem items = 3; -} - // message HotTopicItem { // @@ -387,111 +601,6 @@ message HotwordEntrance { string icon = 4; } -// -message LargeCoverV1 { - // - Base base = 1; - - // - string coverGif = 2; - - // - Avatar avatar = 3; - - // - string coverLeftText1 = 4; - - // - string coverLeftText2 = 5; - - // - string coverLeftText3 = 6; - - // - string coverBadge = 7; - - // - string topRcmdReason = 8; - - // - string bottomRcmdReason = 9; - - // - string desc = 10; - - // - int32 officialIcon = 11; - - // - int32 canPlay = 12; - - // - ReasonStyle topRcmdReasonStyle = 13; - - // - ReasonStyle bottomRcmdReasonStyle = 14; - - // - ReasonStyle rcmdReasonStyleV2 = 15; - - // - ReasonStyle leftCoverBadgeStyle = 16; - - // - ReasonStyle rightCoverBadgeStyle = 17; - - // - string coverBadge2 = 18; - - // - LikeButton likeButton = 19; - - // - int32 titleSingleLine = 20; - - // - string coverRightText = 21; -} - -// -message LargeCoverV4 { - // - Base base = 1; - - // - string coverLeftText1 = 2; - - // - string coverLeftText2 = 3; - - // - string coverLeftText3 = 4; - - // - string coverBadge = 5; - - // - int32 canPlay = 6; - - // - Up up = 7; - - // - string shortLink = 8; - - // - string shareSubtitle = 9; - - // - string playNumber = 10; - - // - string bvid = 11; - - // - string subParam = 12; -} - // message LikeButton { // @@ -522,21 +631,6 @@ message Mask { Button button = 2; } -// -message MiddleCoverV3 { - // - Base base = 1; - - // - string desc1 = 2; - - // - string desc2 = 3; - - // - ReasonStyle coverBadgeStyle = 4; -} - // message PlayerArgs { // @@ -570,57 +664,37 @@ message PlayerArgs { int64 seasonId = 11; } -// -message PopularTopEntrance { - // - Base base = 1; - - // - repeated EntranceItem items = 2; -} - -// -message RcmdOneItem { - // - Base base = 1; - - // - ReasonStyle topRcmdReasonStyle = 2; - - // - SmallCoverRcmdItem item = 3; -} - -// +//标签框信息 message ReasonStyle { - // + //文案 string text = 1; - // + //文字颜色 string textColor = 2; - // + //背景色 string bgColor = 3; - // + //边框色 string borderColor = 4; - // + //图标url string iconUrl = 5; - // + //文字颜色-夜间 string textColorNight = 6; - // + //背景色-夜间 string bgColorNight = 7; - // + //边框色-夜间 string borderColorNight = 8; - // + //图标url-夜间 string iconNightUrl = 9; - // + //背景风格id + //1:无背景 2:有背景 int32 bgStyle = 10; // @@ -642,162 +716,94 @@ message ReasonStyle { string leftIconType = 16; } -// +//关系信息 message Relation { - // + //关系状态 int32 status = 1; - // + //是否关注 int32 isFollow = 2; - // + //是否粉丝 int32 isFollowed = 3; } -// +//分享面板信息 message SharePlane { - // + //标题 string title = 1; - // + //副标贴文案(观看次数) string shareSubtitle = 2; - // + //备注 string desc = 3; - // + //封面url string cover = 4; - // + //稿件avid int64 aid = 5; - // + //稿件bvid string bvid = 6; - // + //允许分享方式 map shareTo = 7; - // + //UP主昵称 string author = 8; - // + //UP主UID int64 authorId = 9; - // + //短连接 string shortLink = 10; - // + //播放次数文案 string playNumber = 11; } -// +//小封面推荐内容信息 message SmallCoverRcmdItem { - // + //标题 string title = 1; - // + //封面url string cover = 2; - // + //跳转uri string uri = 3; - // + //参数 string param = 4; - // + //跳转类型 + //av:视频稿件 string goto = 5; - // + //封面右下角标文案(时长) string coverRightText1 = 6; - // + //右侧文案1(UP主昵称) string rightDesc1 = 7; - // + //右侧文案2(播放量 时间) string rightDesc2 = 8; // string coverGif = 9; - // + //右侧文案1图标id int32 rightIcon1 = 10; - // + //右侧文案2图标id int32 rightIcon2 = 11; } -// -message SmallCoverV5 { - // - Base base = 1; - - // - string coverGif = 2; - - // - Up up = 3; - - // - string coverRightText1 = 4; - - // - string rightDesc1 = 5; - - // - string rightDesc2 = 6; - - // - ReasonStyle rcmdReasonStyle = 7; - - // - HotwordEntrance hotwordEntrance = 8; - - // - ReasonStyle cornerMarkStyle = 9; - - // - int32 rightIcon1 = 10; - - // - int32 rightIcon2 = 11; - - // - ReasonStyle leftCornerMarkStyle = 12; -} - -// -message ThreeItemAllV2 { - // - Base base = 1; - - // - ReasonStyle topRcmdReasonStyle = 2; - - // - repeated TwoItemHV1Item item = 3; -} - -// -message ThreeItemV1 { - // - Base base = 1; - - // - int32 titleIcon = 2; - - // - string moreUri = 3; - - // - string moreText = 4; - - // - repeated ThreeItemV1Item items = 5; -} - // message ThreeItemV1Item { - // + //条目基本信息 Base base = 1; // @@ -824,7 +830,7 @@ message ThreePoint { // repeated DislikeReason feedbacks = 2; - // + //稍后再看 int32 watchLater = 3; } @@ -882,12 +888,12 @@ message ThreePointV3 { int32 defaultId = 11; } -// +//三点v4 message ThreePointV4 { - // + //分享面板信息 SharePlane sharePlane = 1; - // + //稍后再看 WatchLater watchLater = 2; } @@ -945,11 +951,11 @@ message Up { string cooperation = 8; } -// +//稍后再看信息 message WatchLater { - // + //稿件avid int64 aid = 1; - // + //稿件bvid string bvid = 2; } \ No newline at end of file diff --git a/grpc_api/bilibili/app/playurl/v1.proto b/grpc_api/bilibili/app/playurl/v1.proto index 9b8f7a3..29b2150 100644 --- a/grpc_api/bilibili/app/playurl/v1.proto +++ b/grpc_api/bilibili/app/playurl/v1.proto @@ -3,27 +3,27 @@ syntax = "proto3"; package bilibili.app.playurl.v1; -// +//视频url service PlayURL { //获取播放界面配置 //https://app.bilibili.com/bilibili.app.playurl.v1.PlayURL/PlayConf - rpc playConf (PlayConfReq) returns (PlayConfReply); + rpc PlayConf (PlayConfReq) returns (PlayConfReply); // // - rpc playConfEdit (PlayConfEditReq) returns (PlayConfEditReply); + rpc PlayConfEdit (PlayConfEditReq) returns (PlayConfEditReply); - //视频url + //获取视频url // - rpc playURL (PlayURLReq) returns (PlayURLReply); + rpc PlayURL (PlayURLReq) returns (PlayURLReply); - //视频播放业务数据 + //获取视频播放业务数据 //https://app.bilibili.com/bilibili.app.playurl.v1.PlayURL/PlayView - rpc playView (PlayViewReq) returns (PlayViewReply); + rpc PlayView (PlayViewReq) returns (PlayViewReply); // // - rpc project (ProjectReq) returns (ProjectReply); + rpc Project (ProjectReq) returns (ProjectReply); } //获取播放界面配置-请求 @@ -59,10 +59,10 @@ message PlayURLReq { //清晰度 int64 qn = 3; - //流类型 + //视频流版本 int32 fnver = 4; - // + //视频流功能 int32 fnval = 5; //下载模式 @@ -125,7 +125,7 @@ message PlayURLReply { VideoType type = 13; } -//-请求 +//获取视频播放业务数据-请求 message PlayViewReq { //稿件avid int64 aid = 1; @@ -166,7 +166,7 @@ message PlayViewReq { CodeType preferCodecType = 12; } -//-回复 +//获取视频播放业务数据-回复 message PlayViewReply { //视频流信息 VideoInfo info = 1; @@ -261,16 +261,16 @@ message CloudConf { FieldValue fieldValue = 3; } -// +//编码类型 enum CodeType { - // - NOCODE_VALUE = 0; + //默认 + NOCODE = 0; - // - CODE264_VALUE = 1; + //H.264 + CODE264 = 1; - // - CODE265_VALUE = 2; + //H.265 + CODE265 = 2; } // @@ -388,7 +388,7 @@ message DashItem { } //dash视频流 -message DashVideo{ +message DashVideo { //主线流 string baseUrl=1; @@ -415,7 +415,7 @@ message DashVideo{ } //杜比音频信息 -message DolbyItem{ +message DolbyItem { // int32 type=1; @@ -424,7 +424,7 @@ message DolbyItem{ } //事件 -message Event{ +message Event { //震动 Shake shake=1; } @@ -459,95 +459,95 @@ message FormatDescription { string superscript = 6; } -//播放控件用户自定义配置 -message PlayAbilityConf{ - // +//禁用功能配置 +message PlayAbilityConf { + //后台播放 bool backgroundPlayDisable=1; - - // + + //镜像反转 bool flipDisable=2; - - // + + //投屏 bool castDisable=3; - - // + + //反馈 bool feedbackDisable=4; - - // + + //字幕 bool subtitleDisable=5; - - // + + //播放速度 bool playbackRateDisable=6; - - // + + //定时停止 bool timeUpDisable=7; - - // + + //播放方式 bool playbackModeDisable=8; - - // + + //画面尺寸 bool scaleModeDisable=9; - - // + + //赞 bool likeDisable=10; - - // + + //踩 bool dislikeDisable=11; - - // + + //投币 bool coinDisable=12; - - // + + //充电 bool elecDisable=13; - - // + + //分享 bool shareDisable=14; - - // + + //截图 bool screenShotDisable=15; - - // + + //锁定 bool lockScreenDisable=16; - - // + + //相关推荐 bool recommendDisable=17; - - // + + //播放速度 bool playbackSpeedDisable=18; - - // + + //清晰度 bool definitionDisable=19; - - // + + //选集 bool selectionsDisable=20; - - // + + //下一集 bool nextDisable=21; - - // + + //编辑弹幕 bool editDmDisable=22; - - // + + //小窗 bool smallWindowDisable=23; - - // + + //震动 bool shakeDisable=24; - + // bool outerDmDisable=25; - + // bool innerDmDisable=26; - + // bool freyaEnterDisable=27; - - // + + //杜比音效 bool dolbyDisable=28; } //播放控件稿件配置 -message PlayArcConf{ +message PlayArcConf { //后台播放 ArcConf backgroundPlayConf=1; @@ -629,7 +629,7 @@ message PlayArcConf{ // ArcConf freyaEnterConf=27; - // + //杜比音效 ArcConf dolbyConf=28; } @@ -679,7 +679,7 @@ message ResponseDash { } //分段流条目 -message ResponseUrl{ +message ResponseUrl { //分段序号 uint32 order = 1; @@ -700,19 +700,19 @@ message ResponseUrl{ } //分段视频流 -message SegmentVideo{ +message SegmentVideo { //分段视频流列表 repeated ResponseUrl segment=1; } //震动 -message Shake{ +message Shake { // string file=1; } //视频流信息 -message Stream{ +message Stream { //元数据 StreamInfo info=1; @@ -727,7 +727,7 @@ message Stream{ } //流媒体元数据 -message StreamInfo{ +message StreamInfo { //清晰度 qn uint32 quality=1; @@ -769,7 +769,7 @@ message StreamInfo{ } //不满足条件信息 -message Limit{ +message Limit { // string title=1; @@ -790,7 +790,7 @@ message UpgradeButton { } //互动视频升级提示 -message UpgradeLimit{ +message UpgradeLimit { //错误码 int32 code =1; @@ -805,7 +805,7 @@ message UpgradeLimit{ } //视频url信息 -message VideoInfo{ +message VideoInfo { //视频清晰度 uint32 quality=1; diff --git a/grpc_api/bilibili/app/show/popular/v1.proto b/grpc_api/bilibili/app/show/popular/v1.proto index 3a189a9..73d23b5 100644 --- a/grpc_api/bilibili/app/show/popular/v1.proto +++ b/grpc_api/bilibili/app/show/popular/v1.proto @@ -1,47 +1,48 @@ syntax = "proto3"; -package bilibili.app.show.popular.v1; +package bilibili.app.show.v1; import "bilibili/app/playurl/v1.proto"; import "bilibili/app/card/v1.proto"; -// +//热门 service Popular { - // - // - rpc index (PopularResultReq) returns (PopularReply); + //热门列表 + //https://app.bilibili.com/bilibili.app.show.v1.Popular/Index + rpc Index (PopularResultReq) returns (PopularReply); } -//-请求 +//热门列表-请求 message PopularResultReq { - // + //排位索引id,为上此请求末尾项的idx int64 idx = 1; - // + //登录标识 + //1:未登陆用户第一页 2:登陆用户第一页 int32 loginEvent = 2; - // + //清晰度 int32 qn = 3; - // + //视频流版本 int32 fnver = 4; - // + //视频流功能 int32 fnval = 5; - // + //是否强制使用域名 int32 forceHost = 6; - // + //是否4K int32 fourk = 7; // sfixed32 spmid = 8; - // + //上此请求末尾项的param sfixed32 lastParam = 9; - // + //上此请求的ver sfixed32 ver = 10; // @@ -60,80 +61,80 @@ message PopularResultReq { bilibili.app.playurl.v1.PlayerArgs playerArgs = 15; } -//-回复 +//热门列表-回复 message PopularReply { - // + //卡片列表 repeated bilibili.app.card.v1.Card items = 1; - // + //配置信息 Config config = 2; - // + //版本? string ver = 3; } -// +//气泡信息 message Bubble { - // + //文案 string bubbleContent = 1; - // + //版本 int32 version = 2; - // + //起始时间 int64 stime = 3; } -// +//配置信息 message Config { - // + //标题 string itemTitle = 1; - // + //底部文案 string bottomText = 2; - // + //底部图片url string bottomTextCover = 3; - // + //底部跳转页url string bottomTextUrl = 4; - // + //顶部按钮信息列表 repeated EntranceShow topItems = 5; - // + //头图url string headImage = 6; - // + //当前页按钮信息 repeated EntranceShow pageItems = 7; - // + //? int32 hit = 8; } -// +//按钮信息 message EntranceShow { - // + //按钮图标url string icon = 1; - // + //按钮名 string title = 2; - // + //入口模块id string moduleId = 3; - // + //跳转uri string uri = 4; - // + //气泡信息 Bubble bubble = 5; - // + //入口id int64 entranceId = 6; - // + //头图url string topPhoto = 7; - // + //入口类型? int32 entranceType = 8; } \ No newline at end of file diff --git a/grpc_api/bilibili/app/show/rank/v1.proto b/grpc_api/bilibili/app/show/rank/v1.proto index a250336..4ea5e8a 100644 --- a/grpc_api/bilibili/app/show/rank/v1.proto +++ b/grpc_api/bilibili/app/show/rank/v1.proto @@ -1,146 +1,153 @@ syntax = "proto3"; -package bilibili.app.show.rank.v1; +package bilibili.app.show.v1; -// +//排行榜 service Rank { - // - // - rpc rankAll (RankAllResultReq) returns (RankListReply); + //全站排行榜 + //https://app.bilibili.com/bilibili.app.show.v1.Rank/RankAll + rpc RankAll (RankAllResultReq) returns (RankListReply); - // - // - rpc rankRegion (RankRegionResultReq) returns (RankListReply); + //分区排行榜 + //https://app.bilibili.com/bilibili.app.show.v1.Rank/RankRegion + rpc RankRegion (RankRegionResultReq) returns (RankListReply); } -//-请求 +//全站排行榜-请求 message RankAllResultReq { - // + //必须为"all" string order = 1; - // + //页码 + //默认1页 int32 pn = 2; - // + //每页项数 + //默认100项,最大100 int32 ps = 3; } -//-请求 +//分区排行榜-请求 message RankRegionResultReq { - // + //一级分区tid(二级分区不可用) + //0:全站 int32 rid = 1; - // + //页码 + //默认1页 int32 pn = 2; - // + //每页项数 + //默认100项,最大100 int32 ps = 3; } -//-回复 +//排行榜信息-回复 message RankListReply { - // + //排行榜列表 repeated Item items = 1; } -// +//排行榜列表项 message Item { - // + //标题 string title = 1; - // + //封面url string cover = 2; - // + //参数(稿件avid) string param = 3; - // + //跳转uri string uri = 4; - // + //重定向url? string redirectUrl = 5; - // + //跳转类型 + //av:视频稿件 string goto = 6; - // + //播放数 int32 play = 7; - // + //弹幕数 int32 danmaku = 8; - // + //UP主UID int64 mid = 9; - // + //UP主昵称 string name = 10; - // + //UP主头像url string face = 11; - // + //评论数 int32 reply = 12; - // + //收藏数 int32 favourite = 13; - // + //发布时间 int64 pubDate = 14; - // + //分区tid int32 rid = 15; - // + //子分区名 string rname = 16; - // + //视频总时长 int64 duration = 17; - // + //点赞数 int32 like = 18; - // + //1P cid int64 cid = 19; - // + //综合评分 int64 pts = 20; - // + //合作视频文案 string cooperation = 21; - // + //属性位 int32 attribute = 22; - // + //UP主粉丝数 int64 follower = 23; - // + //UP主认证信息 OfficialVerify officialVerify = 24; - // + //同一UP收起子项列表 repeated Item children = 25; - // + //关系信息 Relation relation = 26; } -// +//认证信息 message OfficialVerify { - // + //认证类型 + //-1:无认证 0:个人认证 1:机构认证 int32 type = 1; - // + //认证信息 string desc = 2; } -// +//关系信息 message Relation { - // + //关系状态id int32 status = 1; - // + //是否关注 int32 isFollow = 2; - // + //是否粉丝 int32 isFollowed = 3; } \ No newline at end of file diff --git a/grpc_api/bilibili/cheese/gateway/player/v1.proto b/grpc_api/bilibili/cheese/gateway/player/v1.proto index 2877775..b28cc52 100644 --- a/grpc_api/bilibili/cheese/gateway/player/v1.proto +++ b/grpc_api/bilibili/cheese/gateway/player/v1.proto @@ -10,46 +10,8 @@ service PlayURL { rpc PlayView (playViewReq) returns (PlayViewReply); } -enum CodeType{ - NOCODE = 0; - CODE264 = 1; - CODE265 = 2; -} - -message PlayAbilityConf{ - bool backgroundPlayDisable=1; - bool flipDisable=2; - bool castDisable=3; - bool feedbackDisable=4; - bool subtitleDisable=5; - bool playbackRateDisable=6; - bool timeUpDisable=7; - bool playbackModeDisable=8; - bool scaleModeDisable=9; - bool likeDisable=10; - bool dislikeDisable=11; - bool coinDisable=12; - bool elecDisable=13; - bool shareDisable=14; - bool screenShotDisable=15; - bool lockScreenDisable=16; - bool recommendDisable=17; - bool playbackSpeedDisable=18; - bool definitionDisable=19; - bool selectionsDisable=20; - bool nextDisable=21; - bool editDmDisable=22; - bool smallWindowDisable=23; - bool shakeDisable=24; - bool outerDmDisable=25; - bool innerDmDisable=26; - bool freyaEnterDisable=27; - bool dolbyDisable=28; -} - -//获取播放url -//请求 -message playViewReq{ +//获取播放url-请求 +message playViewReq { //目标课程epid int64 epid = 1; @@ -59,10 +21,10 @@ message playViewReq{ //清晰度 int64 qn = 3; - // + //视频流版本 int32 fnver = 4; - //流类型 + //视频流功能 int32 fnval = 5; //下载模式 @@ -82,7 +44,7 @@ message playViewReq{ // string fromSpmid = 10; - // + //青少年模式 int32 teenagersMode = 11; //编码类型 @@ -91,11 +53,111 @@ message playViewReq{ //是否强制请求预览视频 bool isPreview = 13; } -//回复 -message PlayViewReply{ + +//获取播放url-回复 +message PlayViewReply { //视频信息 bilibili.app.playurl.v1.VideoInfo info = 1; //播放界面配置 PlayAbilityConf PlayConf = 2; +} + +//编码类型 +enum CodeType { + //默认 + NOCODE = 0; + + //H.264 + CODE264 = 1; + + //H.265 + CODE265 = 2; +} + +//禁用功能配置 +message PlayAbilityConf { + //后台播放 + bool backgroundPlayDisable=1; + + //镜像反转 + bool flipDisable=2; + + //投屏 + bool castDisable=3; + + //反馈 + bool feedbackDisable=4; + + //字幕 + bool subtitleDisable=5; + + //播放速度 + bool playbackRateDisable=6; + + //定时停止 + bool timeUpDisable=7; + + //播放方式 + bool playbackModeDisable=8; + + //画面尺寸 + bool scaleModeDisable=9; + + //赞 + bool likeDisable=10; + + //踩 + bool dislikeDisable=11; + + //投币 + bool coinDisable=12; + + //充电 + bool elecDisable=13; + + //分享 + bool shareDisable=14; + + //截图 + bool screenShotDisable=15; + + //锁定 + bool lockScreenDisable=16; + + //相关推荐 + bool recommendDisable=17; + + //播放速度 + bool playbackSpeedDisable=18; + + //清晰度 + bool definitionDisable=19; + + //选集 + bool selectionsDisable=20; + + //下一集 + bool nextDisable=21; + + //编辑弹幕 + bool editDmDisable=22; + + //小窗 + bool smallWindowDisable=23; + + //震动 + bool shakeDisable=24; + + // + bool outerDmDisable=25; + + // + bool innerDmDisable=26; + + // + bool freyaEnterDisable=27; + + //杜比音效 + bool dolbyDisable=28; } \ No newline at end of file diff --git a/grpc_api/bilibili/community/service/dm/v1.proto b/grpc_api/bilibili/community/service/dm/v1.proto index 75e6ff7..a3cf445 100644 --- a/grpc_api/bilibili/community/service/dm/v1.proto +++ b/grpc_api/bilibili/community/service/dm/v1.proto @@ -2,6 +2,181 @@ syntax = "proto3"; package bilibili.community.service.dm.v1; +//弹幕 +service DM { + //修改弹幕配置 + //https://app.bilibili.com/bilibili.community.service.dm.v1.DM/DmPlayerConfig + rpc DmPlayerConfig (DmPlayerConfigReq) returns (Response); + + //获取分段弹幕 + // + rpc DmSegMobile (DmSegMobileReq) returns (DmSegMobileReply); + + //获取弹幕元数据 + //https://app.bilibili.com/bilibili.community.service.dm.v1.DM/DmView + rpc DmView (DmViewReq) returns (DmViewReply); +} + +//修改弹幕配置-请求 +message DmPlayerConfigReq{ + // + int64 ts = 1; + + // + PlayerDanmakuSwitch switch = 2; + + // + PlayerDanmakuSwitchSave switchSave = 3; + + // + PlayerDanmakuUseDefaultConfig useDefaultConfig = 4; + + // + PlayerDanmakuAiRecommendedSwitch aiRecommendedSwitch = 5; + + // + PlayerDanmakuAiRecommendedLevel aiRecommendedLevel = 6; + + // + PlayerDanmakuBlocktop blocktop = 7; + + // + PlayerDanmakuBlockscroll blockscroll = 8; + + // + PlayerDanmakuBlockbottom blockbottom = 9; + + // + PlayerDanmakuBlockcolorful blockcolorful = 10; + + // + PlayerDanmakuBlockrepeat blockrepeat = 11; + + // + PlayerDanmakuBlockspecial blockspecial = 12; + + // + PlayerDanmakuOpacity opacity = 13; + + // + PlayerDanmakuScalingfactor scalingfactor = 14; + + // + PlayerDanmakuDomain domain = 15; + + // + PlayerDanmakuSpeed speed = 16; + + // + PlayerDanmakuEnableblocklist enableblocklist = 17; + + // + InlinePlayerDanmakuSwitch inlinePlayerDanmakuSwitch = 18; +} + +//修改弹幕配置-回复 +message Response{ + // + int32 code = 1; + + // + string message = 2; +} + +//获取分段弹幕-请求 +message DmSegMobileReq{ + //稿件avid/漫画epid + int64 pid = 1; + + //视频cid/漫画cid + int64 oid = 2; + + //弹幕类型 + //1:视频 2:漫画 + int32 type = 3; + + //分段序号 + int64 segmentIndex = 4; + + //是否青少年模式 + int32 teenagersMode = 5; +} + +//获取分段弹幕-回复 +message DmSegMobileReply{ + //弹幕条目 + repeated DanmakuElem elems = 1; + + //是否已关闭弹幕 + //0:未关闭 1:已关闭 + int32 state = 2; + + // + DanmakuAIFlag aiFlag = 3; +} + +//获取弹幕元数据-请求 +message DmViewReq{ + //稿件avid/漫画epid + int64 pid = 1; + + //视频cid/漫画cid + int64 oid = 2; + + //弹幕类型 + //1:视频 2:漫画 + int32 type = 3; + + //页面spm + string spmid = 4; + + //是否冷启 + int32 isHardBoot = 5; +} + +//获取弹幕元数据-回复 +message DmViewReply{ + //是否已关闭弹幕 + //0:未关闭 1:已关闭 + bool closed = 1; + + //智能防挡弹幕蒙版信息 + VideoMask mask = 2; + + //视频字幕信息 + VideoSubtitle subtitle = 3; + + //高级弹幕专包url + repeated string specialDms = 4; + + //云屏蔽配置信息 + DanmakuFlagConfig aiFlag = 5; + + // + DanmuPlayerViewConfig playerConfig = 6; + + // + int32 sendBoxStyle = 7; + + //是否允许 + bool allow = 8; + + // + string checkBox = 9; + + // + string checkBoxShowMsg = 10; + + // + string textPlaceholder = 11; + + //弹幕输入框文案 + string inputPlaceholder = 12; + + // + repeated string reportFilterContent = 13; +} + // message DanmakuAIFlag{ // @@ -72,128 +247,231 @@ message DanmakuFlagConfig{ int32 recSwitch = 3; } +// message DanmuDefaultPlayerConfig{ + // bool playerDanmakuUseDefaultConfig = 1; + + // bool playerDanmakuAiRecommendedSwitch = 4; + + // int32 playerDanmakuAiRecommendedLevel = 5; + + // bool playerDanmakuBlocktop = 6; + + // bool playerDanmakuBlockscroll = 7; + + // bool playerDanmakuBlockbottom = 8; + + // bool playerDanmakuBlockcolorful = 9; + + // bool playerDanmakuBlockrepeat = 10; + + // bool playerDanmakuBlockspecial = 11; + + // float playerDanmakuOpacity = 12; + + // float playerDanmakuScalingfactor = 13; + + // float playerDanmakuDomain = 14; + + // int32 playerDanmakuSpeed = 15; + + // bool inlinePlayerDanmakuSwitch = 16; } +// message DanmuPlayerConfig{ + // bool playerDanmakuSwitch = 1; + + // bool playerDanmakuSwitchSave = 2; + + // bool playerDanmakuUseDefaultConfig = 3; + + // bool playerDanmakuAiRecommendedSwitch = 4; + + // int32 playerDanmakuAiRecommendedLevel = 5; + + // bool playerDanmakuBlocktop = 6; + + // bool playerDanmakuBlockscroll = 7; + + // bool playerDanmakuBlockbottom = 8; + + // bool playerDanmakuBlockcolorful = 9; + + // bool playerDanmakuBlockrepeat = 10; + + // bool playerDanmakuBlockspecial = 11; + + // float playerDanmakuOpacity = 12; + + // float playerDanmakuScalingfactor = 13; + + // float playerDanmakuDomain = 14; + + // int32 playerDanmakuSpeed = 15; + + // bool playerDanmakuEnableblocklist = 16; + + // bool inlinePlayerDanmakuSwitch = 17; + + // int32 inlinePlayerDanmakuConfig = 18; } +// message DanmuPlayerDynamicConfig{ + // int32 progress = 1; + + // float playerDanmakuDomain = 2; } +// message DanmuPlayerViewConfig{ + // DanmuDefaultPlayerConfig danmukuDefaultPlayerConfig = 1; + + // DanmuPlayerConfig danmukuPlayerConfig = 2; + + // repeated DanmuPlayerDynamicConfig danmukuPlayerDynamicConfig = 3; } +// message InlinePlayerDanmakuSwitch{ + // bool value = 1; } +// message PlayerDanmakuAiRecommendedLevel{ + // bool value = 1; } +// message PlayerDanmakuAiRecommendedSwitch{ + // bool value = 1; } +// message PlayerDanmakuBlockbottom{ + // bool value = 1; } +// message PlayerDanmakuBlockcolorful{ + // bool value = 1; } +// message PlayerDanmakuBlockrepeat{ + // bool value = 1; } +// message PlayerDanmakuBlockscroll{ + // bool value = 1; } +// message PlayerDanmakuBlockspecial{ + // bool value = 1; } +// message PlayerDanmakuBlocktop{ + // bool value = 1; } +// message PlayerDanmakuDomain{ + // float value = 1; } +// message PlayerDanmakuEnableblocklist{ + // bool value = 1; } +// message PlayerDanmakuOpacity{ + // float value = 1; } +// message PlayerDanmakuScalingfactor{ + // float value = 1; } +// message PlayerDanmakuSpeed{ + // int32 value = 1; } +// message PlayerDanmakuSwitch{ + // bool value = 1; } +// message PlayerDanmakuSwitchSave{ + // bool value = 1; } +// message PlayerDanmakuUseDefaultConfig{ + // bool value = 1; } -message Response{ - int32 code = 1; - string message = 2; -} - //单个字幕信息 message SubtitleItem{ //字幕id @@ -265,123 +543,4 @@ message VideoSubtitle{ //视频字幕列表 repeated SubtitleItem subtitles = 3; -} - -//修改弹幕配置 -//https://app.bilibili.com/bilibili.community.service.dm.v1.DM/DmPlayerConfig -//请求 -message DmPlayerConfigReq{ - int64 ts = 1; - PlayerDanmakuSwitch switch = 2; - PlayerDanmakuSwitchSave switchSave = 3; - PlayerDanmakuUseDefaultConfig useDefaultConfig = 4; - PlayerDanmakuAiRecommendedSwitch aiRecommendedSwitch = 5; - PlayerDanmakuAiRecommendedLevel aiRecommendedLevel = 6; - PlayerDanmakuBlocktop blocktop = 7; - PlayerDanmakuBlockscroll blockscroll = 8; - PlayerDanmakuBlockbottom blockbottom = 9; - PlayerDanmakuBlockcolorful blockcolorful = 10; - PlayerDanmakuBlockrepeat blockrepeat = 11; - PlayerDanmakuBlockspecial blockspecial = 12; - PlayerDanmakuOpacity opacity = 13; - PlayerDanmakuScalingfactor scalingfactor = 14; - PlayerDanmakuDomain domain = 15; - PlayerDanmakuSpeed speed = 16; - PlayerDanmakuEnableblocklist enableblocklist = 17; - InlinePlayerDanmakuSwitch inlinePlayerDanmakuSwitch = 18; -} - -//获取分段弹幕 -//请求 -message DmSegMobileReq{ - //稿件avid/漫画epid - int64 pid = 1; - - //视频cid/漫画cid - int64 oid = 2; - - //弹幕类型 - //1:视频 2:漫画 - int32 type = 3; - - //分段序号 - int64 segmentIndex = 4; - - //是否青少年模式 - int32 teenagersMode = 5; -} -//回复 -message DmSegMobileReply{ - //弹幕条目 - repeated DanmakuElem elems = 1; - - //是否已关闭弹幕 - //0:未关闭 1:已关闭 - int32 state = 2; - - // - DanmakuAIFlag aiFlag = 3; -} - -//获取弹幕元数据 -//https://app.bilibili.com/bilibili.community.service.dm.v1.DM/DmView -//请求 -message DmViewReq{ - //稿件avid/漫画epid - int64 pid = 1; - - //视频cid/漫画cid - int64 oid = 2; - - //弹幕类型 - //1:视频 2:漫画 - int32 type = 3; - - //页面spm - string spmid = 4; - - //是否冷启 - int32 isHardBoot = 5; -} -//回复 -message DmViewReply{ - //是否已关闭弹幕 - //0:未关闭 1:已关闭 - bool closed = 1; - - //智能防挡弹幕蒙版信息 - VideoMask mask = 2; - - //视频字幕信息 - VideoSubtitle subtitle = 3; - - //高级弹幕专包url - repeated string specialDms = 4; - - //云屏蔽配置信息 - DanmakuFlagConfig aiFlag = 5; - - // - DanmuPlayerViewConfig playerConfig = 6; - - // - int32 sendBoxStyle = 7; - - //是否允许 - bool allow = 8; - - // - string checkBox = 9; - - // - string checkBoxShowMsg = 10; - - // - string textPlaceholder = 11; - - //弹幕输入框文案 - string inputPlaceholder = 12; - - // - repeated string reportFilterContent = 13; } \ No newline at end of file diff --git a/grpc_api/bilibili/main/community/reply/v1.proto b/grpc_api/bilibili/main/community/reply/v1.proto index b449143..360a189 100644 --- a/grpc_api/bilibili/main/community/reply/v1.proto +++ b/grpc_api/bilibili/main/community/reply/v1.proto @@ -18,6 +18,10 @@ service Reply { //https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/DialogList rpc DialogList(DialogListReq) returns (DialogListReply); + // + // + rpc previewList (PreviewListReq) returns (PreviewListReply); + //??? //https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/SearchItemPreHook rpc SearchItemPreHook(SearchItemPreHookReq) returns (SearchItemPreHookReply); @@ -27,6 +31,213 @@ service Reply { rpc SearchItem(SearchItemReq) returns (SearchItemReply); } +//主评论列表-请求 +message MainListReq{ + //目标评论区id + int64 oid = 1; + + //评论区类型 + int64 type = 2; + + //页面游标 + CursorReq cursor = 3; + + // + string extra = 4; + + // + string adExtra = 5; + + // + int64 rpid = 6; +} + +//主评论列表-回复 +message MainListReply{ + //页面游标 + CursorReply cursor = 1; + + //评论列表 + repeated ReplyInfo replies = 2; + + //评论区显示控制 + SubjectControl subjectControl = 3; + + //UP置顶评论 + ReplyInfo upTop = 4; + + //管理员置顶评论 + ReplyInfo adminTop = 5; + + //投票置顶评论 + ReplyInfo voteTop = 6; + + // + Notice notice = 7; + + //抽奖评论 + Lottery lottery = 8; + + // + Activity activity = 9; + + // + UpSelection upSelection = 10; + + // + CM cm = 11; +} + +//二级评论明细-请求 +message DetailListReq{ + //目标评论区id + int64 oid = 1; + + //评论区类型 + int64 type = 2; + + //根评论rpid + int64 root = 3; + + //目标评论rpid + int64 rpid = 4; + + //页面游标 + CursorReq cursor = 5; + + //来源标识 + DetailListScene scene = 6; +} + +//二级评论明细-回复 +message DetailListReply{ + //页面游标 + CursorReply cursor = 1; + + //评论区显示控制 + SubjectControl subjectControl = 2; + + //根评论信息(带二级评论) + ReplyInfo root = 3; + + // + Activity activity = 4; +} + +//对话评论树-请求 +message DialogListReq{ + //目标评论区id + int64 oid = 1; + + //评论区类型 + int64 type = 2; + + //根评论rpid + int64 root = 3; + + //目标评论rpid + int64 rpid = 4; + + //页面游标 + CursorReq cursor = 5; +} + +//对话评论树-回复 +message DialogListReply{ + //页面游标 + CursorReply cursor = 1; + + //评论区显示控制 + SubjectControl subjectControl = 2; + + //评论树列表 + repeated ReplyInfo replies = 3; + + // + Activity activity = 4; +} + +//?-请求 +message PreviewListReq { + // + int64 oid = 1; + + // + int64 type = 2; + + // + CursorReq cursor = 3; +} + +//?-回复 +message PreviewListReply { + // + CursorReply cursor = 1; + + // + repeated ReplyInfo replies = 2; + + // + SubjectControl subjectControl = 3; + + // + ReplyInfo upTop = 4; + + // + ReplyInfo adminTop = 5; + + // + ReplyInfo voteTop = 6; +} + +//?-请求 +message SearchItemPreHookReq{ + //目标评论区id + int64 oid = 1; + + //评论区类型 + int64 type = 2; +} + +//?-回复 +message SearchItemPreHookReply{ + // + string placeholderText = 1; + + // + string backgroundText = 2; + + // + repeated SearchItemType orderedType = 3; +} + +//搜索评论区插入项目-请求 +message SearchItemReq{ + //页面游标 + SearchItemCursorReq cursor = 1; + + //目标评论区id + int64 oid = 2; + + //评论区类型 + int64 type = 3; + + //搜索关键词 + string keyword = 4; +} + +//搜索评论区插入项目-回复 +message SearchItemReply{ + // + SearchItemCursorReply cursor = 1; + + // + repeated SearchItem items = 2; + + // + SearchItemReplyExtraInfo extra = 3; +} + //排序方式 enum Mode{ // @@ -597,178 +808,4 @@ message SearchItem{ message SearchItemReplyExtraInfo{ // string eventId = 1; -} - -//主评论列表 -//请求 -message MainListReq{ - //目标评论区id - int64 oid = 1; - - //评论区类型 - int64 type = 2; - - //页面游标 - CursorReq cursor = 3; - - // - string extra = 4; - - // - string adExtra = 5; - - // - int64 rpid = 6; -} -//回复 -message MainListReply{ - //页面游标 - CursorReply cursor = 1; - - //评论列表 - repeated ReplyInfo replies = 2; - - //评论区显示控制 - SubjectControl subjectControl = 3; - - //UP置顶评论 - ReplyInfo upTop = 4; - - //管理员置顶评论 - ReplyInfo adminTop = 5; - - //投票置顶评论 - ReplyInfo voteTop = 6; - - // - Notice notice = 7; - - //抽奖评论 - Lottery lottery = 8; - - // - Activity activity = 9; - - // - UpSelection upSelection = 10; - - // - CM cm = 11; -} - -//二级评论明细 -//请求 -message DetailListReq{ - //目标评论区id - int64 oid = 1; - - //评论区类型 - int64 type = 2; - - //根评论rpid - int64 root = 3; - - //目标评论rpid - int64 rpid = 4; - - //页面游标 - CursorReq cursor = 5; - - //来源标识 - DetailListScene scene = 6; -} -//回复 -message DetailListReply{ - //页面游标 - CursorReply cursor = 1; - - //评论区显示控制 - SubjectControl subjectControl = 2; - - //根评论信息(带二级评论) - ReplyInfo root = 3; - - // - Activity activity = 4; -} - -//对话评论树 -//请求 -message DialogListReq{ - //目标评论区id - int64 oid = 1; - - //评论区类型 - int64 type = 2; - - //根评论rpid - int64 root = 3; - - //目标评论rpid - int64 rpid = 4; - - //页面游标 - CursorReq cursor = 5; -} -//回复 -message DialogListReply{ - //页面游标 - CursorReply cursor = 1; - - //评论区显示控制 - SubjectControl subjectControl = 2; - - //评论树列表 - repeated ReplyInfo replies = 3; - - // - Activity activity = 4; -} - -//搜索提示信息? -//请求 -message SearchItemPreHookReq{ - //目标评论区id - int64 oid = 1; - - //评论区类型 - int64 type = 2; -} -//回复 -message SearchItemPreHookReply{ - // - string placeholderText = 1; - - // - string backgroundText = 2; - - // - repeated SearchItemType orderedType = 3; -} - -//搜索评论区插入项目 -//请求 -message SearchItemReq{ - //页面游标 - SearchItemCursorReq cursor = 1; - - //目标评论区id - int64 oid = 2; - - //评论区类型 - int64 type = 3; - - //搜索关键词 - string keyword = 4; -} -//回复 -message SearchItemReply{ - // - SearchItemCursorReply cursor = 1; - - // - repeated SearchItem items = 2; - - // - SearchItemReplyExtraInfo extra = 3; } \ No newline at end of file diff --git a/grpc_api/bilibili/metadata.proto b/grpc_api/bilibili/metadata.proto new file mode 100644 index 0000000..2c2dba5 --- /dev/null +++ b/grpc_api/bilibili/metadata.proto @@ -0,0 +1,184 @@ +syntax = "proto3"; + +package bilibili.metadata; + +/**********环境参数1**********/ +//x-bili-device-bin +message Device{ + //产品id + int32 appId = 1; + + //构建id + int32 build = 2; + + //设备buvid + string buvid = 3; + + //包类型 + string mobiApp = 4; + + //平台类型 + string platform = 5; + + //设备类型 + string device = 6; + + //渠道 + string channel = 7; + + //品牌 + string brand = 8; + + //型号 + string model = 9; + + //系统版本 + string osver = 10; + + // + string fpLocal = 11; + + // + string fpRemote = 12; + + //APP版本号 + string versionName = 13; +} + +/**********环境参数2**********/ +//x-bili-metadata-bin +message Metadata{ + //登录Token + string accessKey = 1; + + //包类型 + string mobiApp = 2; + + //设备类型 + string device = 3; + + //构建id + int32 build = 4; + + //渠道 + string channel = 5; + + //设备buvid + string buvid = 6; + + //平台类型 + string platform = 7; +} + +/**********区域标识**********/ +//x-bili-locale-bin +message Locale { + //App设置的locale + LocaleIds c_locale = 1; + + //系统默认的locale + LocaleIds s_locale = 2; + + //sim卡的国家码+运营商码 + string sim_code = 3; + + //时区 + string timezone = 4; +} + +// +message LocaleIds{ + // + string language = 1; + + // + string script = 2; + + // + string region = 3; +} + +/**********网络类型标识**********/ +//x-bili-network-bin +message Network{ + //网络类型 + Type type = 1; + + //免流类型 + TFType tf = 2; + + //运营商 + string oid = 3; +} + +//网络类型 +enum Type{ + //未知 + NT_UNKNOWN = 0; + + //wifi + WIFI = 1; + + //蜂窝网络 + CELLULAR = 2; + + //未连接 + OFFLINE = 3; + + //以太网 + ETHERNET = 5; + + //其他 + OTHERNET = 4; +} + +//免流类型 +enum TFType { + //正常计费 + TF_UNKNOWN = 0; + + //联通卡 + U_CARD = 1; + + //联通包 + U_PKG = 2; + + //移动卡 + C_CARD = 3; + + //移动包 + C_PKG = 4; + + //电信卡 + T_CARD = 5; + + //电信包 + T_PKG = 6; +} + +/**********限制条件**********/ +message Restriction { + //青少年模式开关状态 + bool teenagers_mode = 1; + + //课堂模式开关状态 + bool lessons_mode = 2; + + //模式类型 + ModeType mode = 3; + + //app审核review状态 + bool review = 4; +} + +//模式类型 +enum ModeType{ + //正常 + NORMAL = 0; + + //青少年模式 + TEENAGERS = 1; + + //课堂模式 + LESSONS = 2; +} \ No newline at end of file diff --git a/grpc_api/bilibili/metadata/device.proto b/grpc_api/bilibili/metadata/device.proto deleted file mode 100644 index 4dfaef6..0000000 --- a/grpc_api/bilibili/metadata/device.proto +++ /dev/null @@ -1,46 +0,0 @@ -syntax = "proto3"; - -package bilibili.metadata.device; - -//环境参数1 -//x-bili-device-bin -message Device{ - //产品id - int32 appId = 1; - - //构建id - int32 build = 2; - - //设备buvid - string buvid = 3; - - //包类型 - string mobiApp = 4; - - //平台类型 - string platform = 5; - - //设备类型 - string device = 6; - - //渠道 - string channel = 7; - - //品牌 - string brand = 8; - - //型号 - string model = 9; - - //系统版本 - string osver = 10; - - // - string fpLocal = 11; - - // - string fpRemote = 12; - - //APP版本号 - string versionName = 13; -} \ No newline at end of file diff --git a/grpc_api/bilibili/metadata/locale.proto b/grpc_api/bilibili/metadata/locale.proto deleted file mode 100644 index e8f9bcf..0000000 --- a/grpc_api/bilibili/metadata/locale.proto +++ /dev/null @@ -1,30 +0,0 @@ -syntax = "proto3"; - -package bilibili.metadata.locale; - -message LocaleIds{ - // - string language = 1; - - // - string script = 2; - - // - string region = 3; -} - -//区域标识 -//x-bili-locale-bin -message Locale { - //App设置的locale - LocaleIds c_locale = 1; - - //系统默认的locale - LocaleIds s_locale = 2; - - //sim卡的国家码+运营商码 - string sim_code = 3; - - //时区 - string timezone = 4; -} diff --git a/grpc_api/bilibili/metadata/metadata.proto b/grpc_api/bilibili/metadata/metadata.proto deleted file mode 100644 index b460ae1..0000000 --- a/grpc_api/bilibili/metadata/metadata.proto +++ /dev/null @@ -1,28 +0,0 @@ -syntax = "proto3"; - -package bilibili.metadata; - -//环境参数2 -//x-bili-metadata-bin -message Metadata{ - //登录Token - string accessKey = 1; - - //包类型 - string mobiApp = 2; - - //设备类型 - string device = 3; - - //构建id - int32 build = 4; - - //渠道 - string channel = 5; - - //设备buvid - string buvid = 6; - - //平台类型 - string platform = 7; -} diff --git a/grpc_api/bilibili/metadata/network.proto b/grpc_api/bilibili/metadata/network.proto deleted file mode 100644 index 095d470..0000000 --- a/grpc_api/bilibili/metadata/network.proto +++ /dev/null @@ -1,61 +0,0 @@ -syntax = "proto3"; - -package bilibili.metadata.network; - -//网络类型 -enum Type{ - //未知 - NT_UNKNOWN = 0; - - //wifi - WIFI = 1; - - //蜂窝网络 - CELLULAR = 2; - - //未连接 - OFFLINE = 3; - - //以太网 - ETHERNET = 5; - - //其他 - OTHERNET = 4; -} - -//免流类型 -enum TFType { - //正常计费 - TF_UNKNOWN = 0; - - //联通卡 - U_CARD = 1; - - //联通包 - U_PKG = 2; - - //移动卡 - C_CARD = 3; - - //移动包 - C_PKG = 4; - - //电信卡 - T_CARD = 5; - - //电信包 - T_PKG = 6; -} - -//网络类型标识 -//x-bili-network-bin -message Network{ - //网络类型 - Type type = 1; - - //免流类型 - TFType tf = 2; - - //运营商 - string oid = 3; -} \ No newline at end of file diff --git a/grpc_api/bilibili/metadata/restriction.proto b/grpc_api/bilibili/metadata/restriction.proto deleted file mode 100644 index 37f3e54..0000000 --- a/grpc_api/bilibili/metadata/restriction.proto +++ /dev/null @@ -1,30 +0,0 @@ -syntax = "proto3"; - -package bilibili.metadata.restriction; - -//模式类型 -enum ModeType{ - //正常 - NORMAL = 0; - - //青少年模式 - TEENAGERS = 1; - - //课堂模式 - LESSONS = 2; -} - -//限制条件 -message Restriction { - //青少年模式开关状态 - bool teenagers_mode = 1; - - //课堂模式开关状态 - bool lessons_mode = 2; - - //模式类型 - ModeType mode = 3; - - //app审核review状态 - bool review = 4; -} diff --git a/grpc_api/bilibili/pgc/gateway/player/v2.proto b/grpc_api/bilibili/pgc/gateway/player/v2.proto index 5a4c2a3..ab2a090 100644 --- a/grpc_api/bilibili/pgc/gateway/player/v2.proto +++ b/grpc_api/bilibili/pgc/gateway/player/v2.proto @@ -1,349 +1,18 @@ -//https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView syntax = "proto3"; package bilibili.pgc.gateway.player.v2; import "google/protobuf/timestamp.proto"; -enum CodeType{ - NOCODE = 0; - CODE264 = 1; - CODE265 = 2; +//播放url +service PlayURL { + //获取播放url + //https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView + rpc PlayView (PlayViewReq) returns (PlayViewReply); } -//不满足条件信息 -message Limit{ - // - string title=1; - - // - string uri=2; - - // - string msg=3; -} - -//流媒体元数据 -message streamInfo{ - //清晰度 qn - uint32 quality=1; - - //格式 - string format=2; - - //格式描述 - string description=3; - - //错误码 - uint32 errCode=4; - - //不满足条件信息 - Limit limit=5; - - //是否需要vip - bool needVip=6; - - //是否需要登录 - bool needLogin=7; - - //是否完整 - bool intact=8; - - //是否非全二压 - bool noRexcode=9; - - // - int64 attribute=10; - - //新版格式描述 - string newDescription=11; - - //格式文字 - string displayDesc=12; - - //新版格式描述备注 - string superscript=13; -} - -//dash视频流 -message DashVideo{ - //主线流 - string baseUrl=1; - - //备用流 - repeated string backupUrl=2; - - //带宽 - uint32 bandwidth=3; - - // - uint32 codecid=4; - - //md5 - string md5=5; - - //大小 - uint64 size=6; - - // - uint32 audioId=7; - - //是否非全二压 - bool noRexcode=8; -} - -//分段流条目 -message ResponseUrl{ - //分段序号 - uint32 order = 1; - - //分段时长 - uint64 length = 2; - - //分段大小 - uint64 size = 3; - - //主线流 - string url = 4; - - //备用流 - repeated string backupUrl = 5; - - //md5 - string md5 = 6; -} - -//分段视频流 -message SegmentVideo{ - //分段视频流列表 - repeated ResponseUrl segment=1; -} - -//视频流信息 -message stream{ - //元数据 - streamInfo info=1; - - //dash流 - DashVideo dashvideo=2; - - //分段流 - SegmentVideo segmentvideo=3; -} - -//dash音频流 -message DashAudio{ - //音质id - uint32 id=1; - - //主线流 - string baseUrl=2; - - //备用流 - repeated string backupUrl=3; - - //带宽 - uint32 bandwidth=4; - - // - uint32 codecid=5; - - //md5 - string md5=6; - - //大小 - uint64 size=7; -} - -//杜比音频信息 -message DolbyItem{ - // - int32 type=1; - - //音频流 - DashAudio audio=2; -} - -//视频url信息 -message VideoInfo{ - //视频清晰度 - uint32 quality=1; - - //视频格式 - string format=2; - - //视频时长 - uint64 timelength=3; - - // - uint32 videoCodecid=4; - - //视频流 - repeated stream streamList=5; - - //伴音流 - repeated DashAudio audio=6; - - //杜比伴音流 - DolbyItem dolby=7; -} - -message PlayAbilityConf{ - bool backgroundPlayDisable=1; - bool flipDisable=2; - bool castDisable=3; - bool feedbackDisable=4; - bool subtitleDisable=5; - bool playbackRateDisable=6; - bool timeUpDisable=7; - bool playbackModeDisable=8; - bool scaleModeDisable=9; - bool likeDisable=10; - bool dislikeDisable=11; - bool coinDisable=12; - bool elecDisable=13; - bool shareDisable=14; - bool screenShotDisable=15; - bool lockScreenDisable=16; - bool recommendDisable=17; - bool playbackSpeedDisable=18; - bool definitionDisable=19; - bool selectionsDisable=20; - bool nextDisable=21; - bool editDmDisable=22; - bool smallWindowDisable=23; - bool shakeDisable=24; - bool outerDmDisable=25; - bool innerDmDisable=26; - bool freyaEnterDisable=27; - bool dolbyDisable=28; -} - -message PlayViewBusinessInfo{ - bool isPreview=1; - bool bp=2; - string marlinToken=3; -} - -message Shake{ - string file=1; -} - -message Event{ - Shake shake=1; -} - -message Report{ - string showEventId=1; - string clickEventId=2; - string extends=3; -} - -message BadgeInfo{ - string text=1; - string bgColor=2; - string bgColorNight=3; -} - -message ButtonInfo{ - string text=1; - string textColor=2; - string textColorNight=3; - string bgColor=4; - string bgColorNight=5; - string link=6; - string actionType=7; - BadgeInfo badgeInfo=8; - Report report=9; -} - -message DialogConfig{ - bool isShowCover=1; - bool isOrientationEnable=2; - bool isNestedScrollEnable=3; - bool isForceHalfscreenEnable=4; -} - -message TextInfo{ - string text=1; - string textColor=2; - string textColorNight=3; -} - -message ImageInfo{ - string url=1; -} - -message Dialog{ - int64 code=1; - string msg=2; - string type=3; - string styleType=4; - DialogConfig config=5; - TextInfo title=6; - TextInfo subtitle=7; - ImageInfo image=8; - repeated ButtonInfo button=9; - ButtonInfo bottomDesc=10; - Report report=11; - int32 countDownSec=12; -} - -message Toast{ - string text=1; - ButtonInfo button=2; -} - -message CouponTextInfo{ - string positivePreview=1; - string section=2; -} - -message CouponToast{ - CouponTextInfo textInfo=1; - ButtonInfo button=2; -} - -message Coupon{ - string couponToken=1; - int64 type=2; - string value=3; - string useDesc=4; - string title=5; - string desc=6; - string payButtonText=7; - string payButtonTextLineThrough=8; - string realAmount=9; - google.protobuf.Timestamp expireTime=10; -} - -message PopWin{ - string title=1; - repeated Coupon coupon=2; - repeated ButtonInfo button=3; - string bottomText=4; -} - -message CouponInfo{ - CouponToast toast=1; - PopWin popWin=2; -} - -message EndPage{ - Dialog dialog=1; - bool hide=2; -} - -message ViewInfo{ - Dialog dialog=1; - Toast toast=2; - CouponInfo couponInfo=3; - repeated int64 demandNoPayEpids=4; - EndPage endPage=5; -} - -//请求 -message playViewReq{ +//获取播放url-请求 +message PlayViewReq{ //目标剧集epid int64 epid = 1; @@ -353,10 +22,10 @@ message playViewReq{ //清晰度 int64 qn = 3; - // + //视频流版本 int32 fnver = 4; - //流类型 + //视频流功能 int32 fnval = 5; //下载模式 @@ -390,20 +59,558 @@ message playViewReq{ // bool isNeedViewInfo = 15; } -//回复 + +//获取播放url-回复 message PlayViewReply{ //视频流信息 - VideoInfo info=1; + VideoInfo info = 1; //用户播放界面配置 - PlayAbilityConf PlayConf=2; + PlayAbilityConf PlayConf = 2; // - PlayViewBusinessInfo Business=3; + PlayViewBusinessInfo Business = 3; // - Event event=4; + Event event = 4; // - ViewInfo viewInfo=5; + ViewInfo viewInfo = 5; +} + +//编码类型 +enum CodeType { + //默认 + NOCODE = 0; + + //H.264 + CODE264 = 1; + + //H.265 + CODE265 = 2; +} + +//不满足条件信息 +message Limit { + // + string title = 1; + + // + string uri = 2; + + // + string msg = 3; +} + +//流媒体元数据 +message streamInfo { + //清晰度 qn + uint32 quality = 1; + + //格式 + string format = 2; + + //格式描述 + string description = 3; + + //错误码 + uint32 errCode = 4; + + //不满足条件信息 + Limit limit = 5; + + //是否需要vip + bool needVip = 6; + + //是否需要登录 + bool needLogin = 7; + + //是否完整 + bool intact = 8; + + //是否非全二压 + bool noRexcode = 9; + + // + int64 attribute = 10; + + //新版格式描述 + string newDescription = 11; + + //格式文字 + string displayDesc = 12; + + //新版格式描述备注 + string superscript = 13; +} + +//dash视频流 +message DashVideo { + //主线流 + string baseUrl = 1; + + //备用流 + repeated string backupUrl = 2; + + //带宽 + uint32 bandwidth = 3; + + // + uint32 codecid = 4; + + //md5 + string md5 = 5; + + //大小 + uint64 size = 6; + + // + uint32 audioId = 7; + + //是否非全二压 + bool noRexcode = 8; +} + +//分段流条目 +message ResponseUrl { + //分段序号 + uint32 order = 1; + + //分段时长 + uint64 length = 2; + + //分段大小 + uint64 size = 3; + + //主线流 + string url = 4; + + //备用流 + repeated string backupUrl = 5; + + //md5 + string md5 = 6; +} + +//分段视频流 +message SegmentVideo { + //分段视频流列表 + repeated ResponseUrl segment = 1; +} + +//视频流信息 +message stream { + //元数据 + streamInfo info = 1; + + //dash流 + DashVideo dashvideo = 2; + + //分段流 + SegmentVideo segmentvideo = 3; +} + +//dash音频流 +message DashAudio { + //音质id + uint32 id = 1; + + //主线流 + string baseUrl = 2; + + //备用流 + repeated string backupUrl = 3; + + //带宽 + uint32 bandwidth = 4; + + // + uint32 codecid = 5; + + //md5 + string md5 = 6; + + //大小 + uint64 size = 7; +} + +//杜比音频信息 +message DolbyItem { + // + int32 type = 1; + + //音频流 + DashAudio audio = 2; +} + +//视频url信息 +message VideoInfo { + //视频清晰度 + uint32 quality = 1; + + //视频格式 + string format = 2; + + //视频时长 + uint64 timelength = 3; + + // + uint32 videoCodecid = 4; + + //视频流 + repeated stream streamList = 5; + + //伴音流 + repeated DashAudio audio = 6; + + //杜比伴音流 + DolbyItem dolby = 7; +} + +//禁用功能配置 +message PlayAbilityConf{ + //后台播放 + bool backgroundPlayDisable = 1; + + //镜像反转 + bool flipDisable = 2; + + //投屏 + bool castDisable = 3; + + //反馈 + bool feedbackDisable = 4; + + //字幕 + bool subtitleDisable = 5; + + //播放速度 + bool playbackRateDisable = 6; + + //定时停止 + bool timeUpDisable = 7; + + //播放方式 + bool playbackModeDisable = 8; + + //画面尺寸 + bool scaleModeDisable = 9; + + //赞 + bool likeDisable = 10; + + //踩 + bool dislikeDisable = 11; + + //投币 + bool coinDisable = 12; + + //充电 + bool elecDisable = 13; + + //分享 + bool shareDisable = 14; + + //截图 + bool screenShotDisable = 15; + + //锁定 + bool lockScreenDisable = 16; + + //相关推荐 + bool recommendDisable = 17; + + //播放速度 + bool playbackSpeedDisable = 18; + + //清晰度 + bool definitionDisable = 19; + + //选集 + bool selectionsDisable = 20; + + //下一集 + bool nextDisable = 21; + + //编辑弹幕 + bool editDmDisable = 22; + + //小窗 + bool smallWindowDisable = 23; + + //震动 + bool shakeDisable = 24; + + // + bool outerDmDisable = 25; + + // + bool innerDmDisable = 26; + + // + bool freyaEnterDisable = 27; + + //杜比音效 + bool dolbyDisable = 28; +} + +// +message PlayViewBusinessInfo { + // + bool isPreview = 1; + + // + bool bp = 2; + + // + string marlinToken = 3; +} + +// +message Shake { + // + string file = 1; +} + +// +message Event { + // + Shake shake = 1; +} + +// +message Report { + // + string showEventId = 1; + + // + string clickEventId = 2; + + // + string extends = 3; +} + +// +message BadgeInfo { + // + string text = 1; + + // + string bgColor = 2; + + // + string bgColorNight = 3; +} + +// +message ButtonInfo { + // + string text = 1; + + // + string textColor = 2; + + // + string textColorNight = 3; + + // + string bgColor = 4; + + // + string bgColorNight = 5; + + // + string link = 6; + + // + string actionType = 7; + + // + BadgeInfo badgeInfo = 8; + + // + Report report = 9; +} + +// +message DialogConfig { + // + bool isShowCover = 1; + + // + bool isOrientationEnable = 2; + + // + bool isNestedScrollEnable = 3; + + // + bool isForceHalfscreenEnable = 4; +} + +// +message TextInfo { + // + string text = 1; + + // + string textColor = 2; + + // + string textColorNight = 3; +} + +// +message ImageInfo { + // + string url = 1; +} + +// +message Dialog { + // + int64 code = 1; + + // + string msg = 2; + + // + string type = 3; + + // + string styleType = 4; + + // + DialogConfig config = 5; + + // + TextInfo title = 6; + + // + TextInfo subtitle = 7; + + // + ImageInfo image = 8; + + // + repeated ButtonInfo button = 9; + + // + ButtonInfo bottomDesc = 10; + + // + Report report = 11; + + // + int32 countDownSec = 12; +} + +// +message Toast { + // + string text = 1; + + // + ButtonInfo button = 2; +} + +// +message CouponTextInfo { + // + string positivePreview = 1; + + // + string section = 2; +} + +// +message CouponToast { + // + CouponTextInfo textInfo = 1; + + // + ButtonInfo button = 2; +} + +// +message Coupon { + // + string couponToken = 1; + + // + int64 type = 2; + + // + string value = 3; + + // + string useDesc = 4; + + // + string title = 5; + + // + string desc = 6; + + // + string payButtonText = 7; + + // + string payButtonTextLineThrough = 8; + + // + string realAmount = 9; + + // + google.protobuf.Timestamp expireTime = 10; +} + +// +message PopWin { + // + string title = 1; + + // + repeated Coupon coupon = 2; + + // + repeated ButtonInfo button = 3; + + // + string bottomText = 4; +} + +// +message CouponInfo { + // + CouponToast toast = 1; + + // + PopWin popWin = 2; +} + +// +message EndPage { + // + Dialog dialog = 1; + + // + bool hide = 2; +} + +// +message ViewInfo { + // + Dialog dialog = 1; + + // + Toast toast = 2; + + // + CouponInfo couponInfo = 3; + + // + repeated int64 demandNoPayEpids = 4; + + // + EndPage endPage = 5; } \ No newline at end of file diff --git a/grpc_api/bilibili/rpc.proto b/grpc_api/bilibili/rpc.proto index 9a4124b..b073070 100644 --- a/grpc_api/bilibili/rpc.proto +++ b/grpc_api/bilibili/rpc.proto @@ -6,7 +6,7 @@ import "google/protobuf/any.proto"; //接口回复报错信息 //grpc-status-details-bin -message Status{ +message Status { //业务错误码 int32 code = 1; diff --git a/grpc_api/comp_proto.bat b/grpc_api/comp_proto.bat index 08f43d1..39eea43 100644 --- a/grpc_api/comp_proto.bat +++ b/grpc_api/comp_proto.bat @@ -3,6 +3,8 @@ rem 递归编译proto set lang="python" set patch=%CD% for /r %patch% %%a in (*.proto) do ( - protoc.exe -I %patch% --%lang%_out=. %%~fa - echo comp %%~fa ok! -) \ No newline at end of file + protoc -I %patch% --%lang%_out=. %%~fa + echo comp %%~fa +) +echo all done +pause >nul \ No newline at end of file diff --git a/grpc_api/comp_proto.sh b/grpc_api/comp_proto.sh new file mode 100644 index 0000000..9ad0928 --- /dev/null +++ b/grpc_api/comp_proto.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# 递归编译proto +lang='python' +patch=$(cd $(dirname $0); pwd) +find $patch -name '*.proto' -exec protoc -I $patch --${lang}_out=. {} \; -exec echo comp {} \; +echo 'all Done' \ No newline at end of file diff --git a/grpc_api/readme.md b/grpc_api/readme.md index fb97b19..eb8d35f 100644 --- a/grpc_api/readme.md +++ b/grpc_api/readme.md @@ -1,6 +1,7 @@ # grpc接口定义(protobuf结构体) - `comp_proto.bat`---win递归批量编译脚本 +- `conp_proto.sh`---linux递归编译脚本 注: @@ -10,18 +11,18 @@ ## grpc头部 -- [bilibili.metadata.locale](bilibili/metadata/locale.proto):区域信息 -- [bilibili.metadata.network](bilibili/metadata/network.proto):网络信息 -- [bilibili.metadata](bilibili/metadata/metadata.proto):环境参数 -- [bilibili.metadata.restriction](bilibili/metadata/restriction.proto):限制值 -- [bilibili.metadata.device](bilibili/metadata/device.proto):设备信息 +- [bilibili.metadata](bilibili/metadata.proto):环境参数 - [bilibili.rpc](bilibili/rpc.proto):响应错误信息 ## 接口请求定义 -- [blibili.app.archive.v1](bilibili/app/archive_v1.proto):稿件信息v1模块 -- [blibili.app.playurl.v1](bilibili/app/playurl_v1.proto):APP端视频播放v1接口 -- [blibili.app.view.v1](bilibili/app/view_v1.proto):视频页v1接口 -- [bilibili.pgc.gateway.player.v2](bilibili/pgc/gateway_player_v2.proto):APP端PGC播放v2接口 -- [bilibili.cheese.gateway.player.v1](bilibili/cheese_gateway_player_v1.proto):APP端课程播放v1接口 -- [bilibili.main.community.reply.v1](bilibili/main_community_reply_v1.proto):评论区v1接口 \ No newline at end of file +- [blibili.app.archive.v1](bilibili/app/archive/v1.proto):稿件信息 +- [bilibili.app.card.v1](bilibili/app/card/v1.proro):卡片 +- [blibili.app.playurl.v1](bilibili/app/playurl/v1.proto):APP端视频播放业务 +- [blibili.app.show.v1.Popular](bilibili/app/show/popular/v1.proto):热门内容 +- [blibili.app.show.v1.Rank](bilibili/app/show/rank/v1.proto):榜单 +- [blibili.app.view.v1](bilibili/app/view/v1.proto):稿件详情页 +- [bilibili.cheese.gateway.player.v1](bilibili/cheese/gateway/player/v1.proto):APP端课程播放 +- [bilibili.pgc.gateway.player.v2](bilibili/pgc/gateway/player/v2.proto):APP端PGC播放 +- [bilibili.community.service.dm.v1](bilibili/community/service/dm/v1.proto):弹幕 +- [bilibili.main.community.reply.v1](bilibili/main/community/reply/v1.proto):评论区 \ No newline at end of file