更新【proto文件】

This commit is contained in:
SocialSisterYi
2021-02-05 18:32:00 +08:00
parent 84eab33d9e
commit c454b3a409
18 changed files with 1919 additions and 1442 deletions

View File

@@ -2,6 +2,294 @@ syntax = "proto3";
package bilibili.app.card.v1; 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;
//右侧文案1UP主昵称
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 { message AdInfo {
// //
int64 creativeId = 1; int64 creativeId = 1;
@@ -112,27 +400,28 @@ message Avatar {
int32 defalutCover = 7; int32 defalutCover = 7;
} }
// //条目基本信息
message Base { message Base {
// //卡片类型
string cardType = 1; string cardType = 1;
// //卡片跳转类型?
string cardGoto = 2; string cardGoto = 2;
// //跳转类型
//av:视频稿件 mid:用户空间
string goto = 3; string goto = 3;
// //目标参数
string param = 4; string param = 4;
// //封面url
string cover = 5; string cover = 5;
// //标题
string title = 6; string title = 6;
// //跳转uri
string uri = 7; string uri = 7;
// //
@@ -144,7 +433,7 @@ message Base {
// //
PlayerArgs playerArgs = 10; PlayerArgs playerArgs = 10;
// //条目排位序号
int64 idx = 11; int64 idx = 11;
// //
@@ -153,7 +442,8 @@ message Base {
// //
Mask mask = 13; Mask mask = 13;
// //来源标识
//recommend:推荐 operation:管理?
string fromType = 14; string fromType = 14;
// //
@@ -165,84 +455,50 @@ message Base {
// //
Button descButton = 17; Button descButton = 17;
// //三点v4
ThreePointV4 threePointV4 = 18; ThreePointV4 threePointV4 = 18;
} }
// //气泡信息
message Bubble { message Bubble {
// //文案
string bubbleContent = 1; string bubbleContent = 1;
// //版本
int32 version = 2; int32 version = 2;
// //起始时间
int64 stime = 3; int64 stime = 3;
} }
// //按钮信息
message Button { message Button {
// //文案
string text = 1; string text = 1;
// //参数
string param = 2; string param = 2;
// //
string uri = 3; string uri = 3;
// //事件
string event = 4; string event = 4;
// //
int32 selected = 5; int32 selected = 5;
// //类型
//2:
int32 type = 6; int32 type = 6;
// //事件v2
string eventV2 = 7; string eventV2 = 7;
// //关系信息
Relation relation = 8; 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 { message CreativeContent {
// //
@@ -288,75 +544,33 @@ message DislikeReason {
string name = 2; 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 { message EntranceItem {
// //跳转类型
string goto = 1; string goto = 1;
// //图标url
string icon = 2; string icon = 2;
// //标题
string title = 3; string title = 3;
// //入口模块id
string moduleId = 4; string moduleId = 4;
// //跳转uri
string uri = 5; string uri = 5;
// //入口id
int64 entranceId = 6; int64 entranceId = 6;
// //气泡信息
Bubble bubble = 7; Bubble bubble = 7;
// //入口类型?
int32 entranceType = 8; int32 entranceType = 8;
} }
//
message HotTopic {
//
Base base = 1;
//
string desc = 2;
//
repeated HotTopicItem items = 3;
}
// //
message HotTopicItem { message HotTopicItem {
// //
@@ -387,111 +601,6 @@ message HotwordEntrance {
string icon = 4; 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 { message LikeButton {
// //
@@ -522,21 +631,6 @@ message Mask {
Button button = 2; Button button = 2;
} }
//
message MiddleCoverV3 {
//
Base base = 1;
//
string desc1 = 2;
//
string desc2 = 3;
//
ReasonStyle coverBadgeStyle = 4;
}
// //
message PlayerArgs { message PlayerArgs {
// //
@@ -570,57 +664,37 @@ message PlayerArgs {
int64 seasonId = 11; 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 { message ReasonStyle {
// //文案
string text = 1; string text = 1;
// //文字颜色
string textColor = 2; string textColor = 2;
// //背景色
string bgColor = 3; string bgColor = 3;
// //边框色
string borderColor = 4; string borderColor = 4;
// //图标url
string iconUrl = 5; string iconUrl = 5;
// //文字颜色-夜间
string textColorNight = 6; string textColorNight = 6;
// //背景色-夜间
string bgColorNight = 7; string bgColorNight = 7;
// //边框色-夜间
string borderColorNight = 8; string borderColorNight = 8;
// //图标url-夜间
string iconNightUrl = 9; string iconNightUrl = 9;
// //背景风格id
//1:无背景 2:有背景
int32 bgStyle = 10; int32 bgStyle = 10;
// //
@@ -642,162 +716,94 @@ message ReasonStyle {
string leftIconType = 16; string leftIconType = 16;
} }
// //关系信息
message Relation { message Relation {
// //关系状态
int32 status = 1; int32 status = 1;
// //是否关注
int32 isFollow = 2; int32 isFollow = 2;
// //是否粉丝
int32 isFollowed = 3; int32 isFollowed = 3;
} }
// //分享面板信息
message SharePlane { message SharePlane {
// //标题
string title = 1; string title = 1;
// //副标贴文案(观看次数)
string shareSubtitle = 2; string shareSubtitle = 2;
// //备注
string desc = 3; string desc = 3;
// //封面url
string cover = 4; string cover = 4;
// //稿件avid
int64 aid = 5; int64 aid = 5;
// //稿件bvid
string bvid = 6; string bvid = 6;
// //允许分享方式
map<string,bool> shareTo = 7; map<string,bool> shareTo = 7;
// //UP主昵称
string author = 8; string author = 8;
// //UP主UID
int64 authorId = 9; int64 authorId = 9;
// //短连接
string shortLink = 10; string shortLink = 10;
// //播放次数文案
string playNumber = 11; string playNumber = 11;
} }
// //小封面推荐内容信息
message SmallCoverRcmdItem { message SmallCoverRcmdItem {
// //标题
string title = 1; string title = 1;
// //封面url
string cover = 2; string cover = 2;
// //跳转uri
string uri = 3; string uri = 3;
// //参数
string param = 4; string param = 4;
// //跳转类型
//av:视频稿件
string goto = 5; string goto = 5;
// //封面右下角标文案(时长)
string coverRightText1 = 6; string coverRightText1 = 6;
// //右侧文案1UP主昵称
string rightDesc1 = 7; string rightDesc1 = 7;
// //右侧文案2播放量 时间)
string rightDesc2 = 8; string rightDesc2 = 8;
// //
string coverGif = 9; string coverGif = 9;
// //右侧文案1图标id
int32 rightIcon1 = 10; int32 rightIcon1 = 10;
// //右侧文案2图标id
int32 rightIcon2 = 11; 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 { message ThreeItemV1Item {
// //条目基本信息
Base base = 1; Base base = 1;
// //
@@ -824,7 +830,7 @@ message ThreePoint {
// //
repeated DislikeReason feedbacks = 2; repeated DislikeReason feedbacks = 2;
// //稍后再看
int32 watchLater = 3; int32 watchLater = 3;
} }
@@ -882,12 +888,12 @@ message ThreePointV3 {
int32 defaultId = 11; int32 defaultId = 11;
} }
// //三点v4
message ThreePointV4 { message ThreePointV4 {
// //分享面板信息
SharePlane sharePlane = 1; SharePlane sharePlane = 1;
// //稍后再看
WatchLater watchLater = 2; WatchLater watchLater = 2;
} }
@@ -945,11 +951,11 @@ message Up {
string cooperation = 8; string cooperation = 8;
} }
// //稍后再看信息
message WatchLater { message WatchLater {
// //稿件avid
int64 aid = 1; int64 aid = 1;
// //稿件bvid
string bvid = 2; string bvid = 2;
} }

View File

@@ -3,27 +3,27 @@ syntax = "proto3";
package bilibili.app.playurl.v1; package bilibili.app.playurl.v1;
// //视频url
service PlayURL { service PlayURL {
//获取播放界面配置 //获取播放界面配置
//https://app.bilibili.com/bilibili.app.playurl.v1.PlayURL/PlayConf //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 //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; int64 qn = 3;
//流类型 //视频流版本
int32 fnver = 4; int32 fnver = 4;
// //视频流功能
int32 fnval = 5; int32 fnval = 5;
//下载模式 //下载模式
@@ -125,7 +125,7 @@ message PlayURLReply {
VideoType type = 13; VideoType type = 13;
} }
//-请求 //获取视频播放业务数据-请求
message PlayViewReq { message PlayViewReq {
//稿件avid //稿件avid
int64 aid = 1; int64 aid = 1;
@@ -166,7 +166,7 @@ message PlayViewReq {
CodeType preferCodecType = 12; CodeType preferCodecType = 12;
} }
//-回复 //获取视频播放业务数据-回复
message PlayViewReply { message PlayViewReply {
//视频流信息 //视频流信息
VideoInfo info = 1; VideoInfo info = 1;
@@ -261,16 +261,16 @@ message CloudConf {
FieldValue fieldValue = 3; FieldValue fieldValue = 3;
} }
// //编码类型
enum CodeType { enum CodeType {
// //默认
NOCODE_VALUE = 0; NOCODE = 0;
// //H.264
CODE264_VALUE = 1; CODE264 = 1;
// //H.265
CODE265_VALUE = 2; CODE265 = 2;
} }
// //
@@ -388,7 +388,7 @@ message DashItem {
} }
//dash视频流 //dash视频流
message DashVideo{ message DashVideo {
//主线流 //主线流
string baseUrl=1; string baseUrl=1;
@@ -415,7 +415,7 @@ message DashVideo{
} }
//杜比音频信息 //杜比音频信息
message DolbyItem{ message DolbyItem {
// //
int32 type=1; int32 type=1;
@@ -424,7 +424,7 @@ message DolbyItem{
} }
//事件 //事件
message Event{ message Event {
//震动 //震动
Shake shake=1; Shake shake=1;
} }
@@ -459,95 +459,95 @@ message FormatDescription {
string superscript = 6; string superscript = 6;
} }
//播放控件用户自定义配置 //禁用功能配置
message PlayAbilityConf{ message PlayAbilityConf {
// //后台播放
bool backgroundPlayDisable=1; bool backgroundPlayDisable=1;
// //镜像反转
bool flipDisable=2; bool flipDisable=2;
// //投屏
bool castDisable=3; bool castDisable=3;
// //反馈
bool feedbackDisable=4; bool feedbackDisable=4;
// //字幕
bool subtitleDisable=5; bool subtitleDisable=5;
// //播放速度
bool playbackRateDisable=6; bool playbackRateDisable=6;
// //定时停止
bool timeUpDisable=7; bool timeUpDisable=7;
// //播放方式
bool playbackModeDisable=8; bool playbackModeDisable=8;
// //画面尺寸
bool scaleModeDisable=9; bool scaleModeDisable=9;
// //
bool likeDisable=10; bool likeDisable=10;
// //
bool dislikeDisable=11; bool dislikeDisable=11;
// //投币
bool coinDisable=12; bool coinDisable=12;
// //充电
bool elecDisable=13; bool elecDisable=13;
// //分享
bool shareDisable=14; bool shareDisable=14;
// //截图
bool screenShotDisable=15; bool screenShotDisable=15;
// //锁定
bool lockScreenDisable=16; bool lockScreenDisable=16;
// //相关推荐
bool recommendDisable=17; bool recommendDisable=17;
// //播放速度
bool playbackSpeedDisable=18; bool playbackSpeedDisable=18;
// //清晰度
bool definitionDisable=19; bool definitionDisable=19;
// //选集
bool selectionsDisable=20; bool selectionsDisable=20;
// //下一集
bool nextDisable=21; bool nextDisable=21;
// //编辑弹幕
bool editDmDisable=22; bool editDmDisable=22;
// //小窗
bool smallWindowDisable=23; bool smallWindowDisable=23;
// //震动
bool shakeDisable=24; bool shakeDisable=24;
// //
bool outerDmDisable=25; bool outerDmDisable=25;
// //
bool innerDmDisable=26; bool innerDmDisable=26;
// //
bool freyaEnterDisable=27; bool freyaEnterDisable=27;
// //杜比音效
bool dolbyDisable=28; bool dolbyDisable=28;
} }
//播放控件稿件配置 //播放控件稿件配置
message PlayArcConf{ message PlayArcConf {
//后台播放 //后台播放
ArcConf backgroundPlayConf=1; ArcConf backgroundPlayConf=1;
@@ -629,7 +629,7 @@ message PlayArcConf{
// //
ArcConf freyaEnterConf=27; ArcConf freyaEnterConf=27;
// //杜比音效
ArcConf dolbyConf=28; ArcConf dolbyConf=28;
} }
@@ -679,7 +679,7 @@ message ResponseDash {
} }
//分段流条目 //分段流条目
message ResponseUrl{ message ResponseUrl {
//分段序号 //分段序号
uint32 order = 1; uint32 order = 1;
@@ -700,19 +700,19 @@ message ResponseUrl{
} }
//分段视频流 //分段视频流
message SegmentVideo{ message SegmentVideo {
//分段视频流列表 //分段视频流列表
repeated ResponseUrl segment=1; repeated ResponseUrl segment=1;
} }
//震动 //震动
message Shake{ message Shake {
// //
string file=1; string file=1;
} }
//视频流信息 //视频流信息
message Stream{ message Stream {
//元数据 //元数据
StreamInfo info=1; StreamInfo info=1;
@@ -727,7 +727,7 @@ message Stream{
} }
//流媒体元数据 //流媒体元数据
message StreamInfo{ message StreamInfo {
//清晰度 qn //清晰度 qn
uint32 quality=1; uint32 quality=1;
@@ -769,7 +769,7 @@ message StreamInfo{
} }
//不满足条件信息 //不满足条件信息
message Limit{ message Limit {
// //
string title=1; string title=1;
@@ -790,7 +790,7 @@ message UpgradeButton {
} }
//互动视频升级提示 //互动视频升级提示
message UpgradeLimit{ message UpgradeLimit {
//错误码 //错误码
int32 code =1; int32 code =1;
@@ -805,7 +805,7 @@ message UpgradeLimit{
} }
//视频url信息 //视频url信息
message VideoInfo{ message VideoInfo {
//视频清晰度 //视频清晰度
uint32 quality=1; uint32 quality=1;

View File

@@ -1,47 +1,48 @@
syntax = "proto3"; syntax = "proto3";
package bilibili.app.show.popular.v1; package bilibili.app.show.v1;
import "bilibili/app/playurl/v1.proto"; import "bilibili/app/playurl/v1.proto";
import "bilibili/app/card/v1.proto"; import "bilibili/app/card/v1.proto";
// //热门
service Popular { service Popular {
// //热门列表
// //https://app.bilibili.com/bilibili.app.show.v1.Popular/Index
rpc index (PopularResultReq) returns (PopularReply); rpc Index (PopularResultReq) returns (PopularReply);
} }
//-请求 //热门列表-请求
message PopularResultReq { message PopularResultReq {
// //排位索引id为上此请求末尾项的idx
int64 idx = 1; int64 idx = 1;
// //登录标识
//1:未登陆用户第一页 2:登陆用户第一页
int32 loginEvent = 2; int32 loginEvent = 2;
// //清晰度
int32 qn = 3; int32 qn = 3;
// //视频流版本
int32 fnver = 4; int32 fnver = 4;
// //视频流功能
int32 fnval = 5; int32 fnval = 5;
// //是否强制使用域名
int32 forceHost = 6; int32 forceHost = 6;
// //是否4K
int32 fourk = 7; int32 fourk = 7;
// //
sfixed32 spmid = 8; sfixed32 spmid = 8;
// //上此请求末尾项的param
sfixed32 lastParam = 9; sfixed32 lastParam = 9;
// //上此请求的ver
sfixed32 ver = 10; sfixed32 ver = 10;
// //
@@ -60,80 +61,80 @@ message PopularResultReq {
bilibili.app.playurl.v1.PlayerArgs playerArgs = 15; bilibili.app.playurl.v1.PlayerArgs playerArgs = 15;
} }
//-回复 //热门列表-回复
message PopularReply { message PopularReply {
// //卡片列表
repeated bilibili.app.card.v1.Card items = 1; repeated bilibili.app.card.v1.Card items = 1;
// //配置信息
Config config = 2; Config config = 2;
// //版本?
string ver = 3; string ver = 3;
} }
// //气泡信息
message Bubble { message Bubble {
// //文案
string bubbleContent = 1; string bubbleContent = 1;
// //版本
int32 version = 2; int32 version = 2;
// //起始时间
int64 stime = 3; int64 stime = 3;
} }
// //配置信息
message Config { message Config {
// //标题
string itemTitle = 1; string itemTitle = 1;
// //底部文案
string bottomText = 2; string bottomText = 2;
// //底部图片url
string bottomTextCover = 3; string bottomTextCover = 3;
// //底部跳转页url
string bottomTextUrl = 4; string bottomTextUrl = 4;
// //顶部按钮信息列表
repeated EntranceShow topItems = 5; repeated EntranceShow topItems = 5;
// //头图url
string headImage = 6; string headImage = 6;
// //当前页按钮信息
repeated EntranceShow pageItems = 7; repeated EntranceShow pageItems = 7;
// //?
int32 hit = 8; int32 hit = 8;
} }
// //按钮信息
message EntranceShow { message EntranceShow {
// //按钮图标url
string icon = 1; string icon = 1;
// //按钮名
string title = 2; string title = 2;
// //入口模块id
string moduleId = 3; string moduleId = 3;
// //跳转uri
string uri = 4; string uri = 4;
// //气泡信息
Bubble bubble = 5; Bubble bubble = 5;
// //入口id
int64 entranceId = 6; int64 entranceId = 6;
// //头图url
string topPhoto = 7; string topPhoto = 7;
// //入口类型?
int32 entranceType = 8; int32 entranceType = 8;
} }

View File

@@ -1,146 +1,153 @@
syntax = "proto3"; syntax = "proto3";
package bilibili.app.show.rank.v1; package bilibili.app.show.v1;
// //排行榜
service Rank { service Rank {
// //全站排行榜
// //https://app.bilibili.com/bilibili.app.show.v1.Rank/RankAll
rpc rankAll (RankAllResultReq) returns (RankListReply); rpc RankAll (RankAllResultReq) returns (RankListReply);
// //分区排行榜
// //https://app.bilibili.com/bilibili.app.show.v1.Rank/RankRegion
rpc rankRegion (RankRegionResultReq) returns (RankListReply); rpc RankRegion (RankRegionResultReq) returns (RankListReply);
} }
//-请求 //全站排行榜-请求
message RankAllResultReq { message RankAllResultReq {
// //必须为"all"
string order = 1; string order = 1;
// //页码
//默认1页
int32 pn = 2; int32 pn = 2;
// //每页项数
//默认100项最大100
int32 ps = 3; int32 ps = 3;
} }
//-请求 //分区排行榜-请求
message RankRegionResultReq { message RankRegionResultReq {
// //一级分区tid二级分区不可用
//0:全站
int32 rid = 1; int32 rid = 1;
// //页码
//默认1页
int32 pn = 2; int32 pn = 2;
// //每页项数
//默认100项最大100
int32 ps = 3; int32 ps = 3;
} }
//-回复 //排行榜信息-回复
message RankListReply { message RankListReply {
// //排行榜列表
repeated Item items = 1; repeated Item items = 1;
} }
// //排行榜列表项
message Item { message Item {
// //标题
string title = 1; string title = 1;
// //封面url
string cover = 2; string cover = 2;
// //参数稿件avid
string param = 3; string param = 3;
// //跳转uri
string uri = 4; string uri = 4;
// //重定向url?
string redirectUrl = 5; string redirectUrl = 5;
// //跳转类型
//av:视频稿件
string goto = 6; string goto = 6;
// //播放数
int32 play = 7; int32 play = 7;
// //弹幕数
int32 danmaku = 8; int32 danmaku = 8;
// //UP主UID
int64 mid = 9; int64 mid = 9;
// //UP主昵称
string name = 10; string name = 10;
// //UP主头像url
string face = 11; string face = 11;
// //评论数
int32 reply = 12; int32 reply = 12;
// //收藏数
int32 favourite = 13; int32 favourite = 13;
// //发布时间
int64 pubDate = 14; int64 pubDate = 14;
// //分区tid
int32 rid = 15; int32 rid = 15;
// //子分区名
string rname = 16; string rname = 16;
// //视频总时长
int64 duration = 17; int64 duration = 17;
// //点赞数
int32 like = 18; int32 like = 18;
// //1P cid
int64 cid = 19; int64 cid = 19;
// //综合评分
int64 pts = 20; int64 pts = 20;
// //合作视频文案
string cooperation = 21; string cooperation = 21;
// //属性位
int32 attribute = 22; int32 attribute = 22;
// //UP主粉丝数
int64 follower = 23; int64 follower = 23;
// //UP主认证信息
OfficialVerify officialVerify = 24; OfficialVerify officialVerify = 24;
// //同一UP收起子项列表
repeated Item children = 25; repeated Item children = 25;
// //关系信息
Relation relation = 26; Relation relation = 26;
} }
// //认证信息
message OfficialVerify { message OfficialVerify {
// //认证类型
//-1:无认证 0:个人认证 1:机构认证
int32 type = 1; int32 type = 1;
// //认证信息
string desc = 2; string desc = 2;
} }
// //关系信息
message Relation { message Relation {
// //关系状态id
int32 status = 1; int32 status = 1;
// //是否关注
int32 isFollow = 2; int32 isFollow = 2;
// //是否粉丝
int32 isFollowed = 3; int32 isFollowed = 3;
} }

View File

@@ -10,46 +10,8 @@ service PlayURL {
rpc PlayView (playViewReq) returns (PlayViewReply); rpc PlayView (playViewReq) returns (PlayViewReply);
} }
enum CodeType{ //获取播放url-请求
NOCODE = 0; message playViewReq {
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{
//目标课程epid //目标课程epid
int64 epid = 1; int64 epid = 1;
@@ -59,10 +21,10 @@ message playViewReq{
//清晰度 //清晰度
int64 qn = 3; int64 qn = 3;
// //视频流版本
int32 fnver = 4; int32 fnver = 4;
//流类型 //视频流功能
int32 fnval = 5; int32 fnval = 5;
//下载模式 //下载模式
@@ -82,7 +44,7 @@ message playViewReq{
// //
string fromSpmid = 10; string fromSpmid = 10;
// //青少年模式
int32 teenagersMode = 11; int32 teenagersMode = 11;
//编码类型 //编码类型
@@ -91,11 +53,111 @@ message playViewReq{
//是否强制请求预览视频 //是否强制请求预览视频
bool isPreview = 13; bool isPreview = 13;
} }
//回复
message PlayViewReply{ //获取播放url-回复
message PlayViewReply {
//视频信息 //视频信息
bilibili.app.playurl.v1.VideoInfo info = 1; bilibili.app.playurl.v1.VideoInfo info = 1;
//播放界面配置 //播放界面配置
PlayAbilityConf PlayConf = 2; 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;
} }

View File

@@ -2,6 +2,181 @@ syntax = "proto3";
package bilibili.community.service.dm.v1; 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{ message DanmakuAIFlag{
// //
@@ -72,128 +247,231 @@ message DanmakuFlagConfig{
int32 recSwitch = 3; int32 recSwitch = 3;
} }
//
message DanmuDefaultPlayerConfig{ message DanmuDefaultPlayerConfig{
//
bool playerDanmakuUseDefaultConfig = 1; bool playerDanmakuUseDefaultConfig = 1;
//
bool playerDanmakuAiRecommendedSwitch = 4; bool playerDanmakuAiRecommendedSwitch = 4;
//
int32 playerDanmakuAiRecommendedLevel = 5; int32 playerDanmakuAiRecommendedLevel = 5;
//
bool playerDanmakuBlocktop = 6; bool playerDanmakuBlocktop = 6;
//
bool playerDanmakuBlockscroll = 7; bool playerDanmakuBlockscroll = 7;
//
bool playerDanmakuBlockbottom = 8; bool playerDanmakuBlockbottom = 8;
//
bool playerDanmakuBlockcolorful = 9; bool playerDanmakuBlockcolorful = 9;
//
bool playerDanmakuBlockrepeat = 10; bool playerDanmakuBlockrepeat = 10;
//
bool playerDanmakuBlockspecial = 11; bool playerDanmakuBlockspecial = 11;
//
float playerDanmakuOpacity = 12; float playerDanmakuOpacity = 12;
//
float playerDanmakuScalingfactor = 13; float playerDanmakuScalingfactor = 13;
//
float playerDanmakuDomain = 14; float playerDanmakuDomain = 14;
//
int32 playerDanmakuSpeed = 15; int32 playerDanmakuSpeed = 15;
//
bool inlinePlayerDanmakuSwitch = 16; bool inlinePlayerDanmakuSwitch = 16;
} }
//
message DanmuPlayerConfig{ message DanmuPlayerConfig{
//
bool playerDanmakuSwitch = 1; bool playerDanmakuSwitch = 1;
//
bool playerDanmakuSwitchSave = 2; bool playerDanmakuSwitchSave = 2;
//
bool playerDanmakuUseDefaultConfig = 3; bool playerDanmakuUseDefaultConfig = 3;
//
bool playerDanmakuAiRecommendedSwitch = 4; bool playerDanmakuAiRecommendedSwitch = 4;
//
int32 playerDanmakuAiRecommendedLevel = 5; int32 playerDanmakuAiRecommendedLevel = 5;
//
bool playerDanmakuBlocktop = 6; bool playerDanmakuBlocktop = 6;
//
bool playerDanmakuBlockscroll = 7; bool playerDanmakuBlockscroll = 7;
//
bool playerDanmakuBlockbottom = 8; bool playerDanmakuBlockbottom = 8;
//
bool playerDanmakuBlockcolorful = 9; bool playerDanmakuBlockcolorful = 9;
//
bool playerDanmakuBlockrepeat = 10; bool playerDanmakuBlockrepeat = 10;
//
bool playerDanmakuBlockspecial = 11; bool playerDanmakuBlockspecial = 11;
//
float playerDanmakuOpacity = 12; float playerDanmakuOpacity = 12;
//
float playerDanmakuScalingfactor = 13; float playerDanmakuScalingfactor = 13;
//
float playerDanmakuDomain = 14; float playerDanmakuDomain = 14;
//
int32 playerDanmakuSpeed = 15; int32 playerDanmakuSpeed = 15;
//
bool playerDanmakuEnableblocklist = 16; bool playerDanmakuEnableblocklist = 16;
//
bool inlinePlayerDanmakuSwitch = 17; bool inlinePlayerDanmakuSwitch = 17;
//
int32 inlinePlayerDanmakuConfig = 18; int32 inlinePlayerDanmakuConfig = 18;
} }
//
message DanmuPlayerDynamicConfig{ message DanmuPlayerDynamicConfig{
//
int32 progress = 1; int32 progress = 1;
//
float playerDanmakuDomain = 2; float playerDanmakuDomain = 2;
} }
//
message DanmuPlayerViewConfig{ message DanmuPlayerViewConfig{
//
DanmuDefaultPlayerConfig danmukuDefaultPlayerConfig = 1; DanmuDefaultPlayerConfig danmukuDefaultPlayerConfig = 1;
//
DanmuPlayerConfig danmukuPlayerConfig = 2; DanmuPlayerConfig danmukuPlayerConfig = 2;
//
repeated DanmuPlayerDynamicConfig danmukuPlayerDynamicConfig = 3; repeated DanmuPlayerDynamicConfig danmukuPlayerDynamicConfig = 3;
} }
//
message InlinePlayerDanmakuSwitch{ message InlinePlayerDanmakuSwitch{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuAiRecommendedLevel{ message PlayerDanmakuAiRecommendedLevel{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuAiRecommendedSwitch{ message PlayerDanmakuAiRecommendedSwitch{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlockbottom{ message PlayerDanmakuBlockbottom{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlockcolorful{ message PlayerDanmakuBlockcolorful{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlockrepeat{ message PlayerDanmakuBlockrepeat{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlockscroll{ message PlayerDanmakuBlockscroll{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlockspecial{ message PlayerDanmakuBlockspecial{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuBlocktop{ message PlayerDanmakuBlocktop{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuDomain{ message PlayerDanmakuDomain{
//
float value = 1; float value = 1;
} }
//
message PlayerDanmakuEnableblocklist{ message PlayerDanmakuEnableblocklist{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuOpacity{ message PlayerDanmakuOpacity{
//
float value = 1; float value = 1;
} }
//
message PlayerDanmakuScalingfactor{ message PlayerDanmakuScalingfactor{
//
float value = 1; float value = 1;
} }
//
message PlayerDanmakuSpeed{ message PlayerDanmakuSpeed{
//
int32 value = 1; int32 value = 1;
} }
//
message PlayerDanmakuSwitch{ message PlayerDanmakuSwitch{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuSwitchSave{ message PlayerDanmakuSwitchSave{
//
bool value = 1; bool value = 1;
} }
//
message PlayerDanmakuUseDefaultConfig{ message PlayerDanmakuUseDefaultConfig{
//
bool value = 1; bool value = 1;
} }
message Response{
int32 code = 1;
string message = 2;
}
//单个字幕信息 //单个字幕信息
message SubtitleItem{ message SubtitleItem{
//字幕id //字幕id
@@ -265,123 +543,4 @@ message VideoSubtitle{
//视频字幕列表 //视频字幕列表
repeated SubtitleItem subtitles = 3; 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;
} }

View File

@@ -18,6 +18,10 @@ service Reply {
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/DialogList //https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/DialogList
rpc DialogList(DialogListReq) returns (DialogListReply); rpc DialogList(DialogListReq) returns (DialogListReply);
//
//
rpc previewList (PreviewListReq) returns (PreviewListReply);
// //
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/SearchItemPreHook //https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/SearchItemPreHook
rpc SearchItemPreHook(SearchItemPreHookReq) returns (SearchItemPreHookReply); rpc SearchItemPreHook(SearchItemPreHookReq) returns (SearchItemPreHookReply);
@@ -27,6 +31,213 @@ service Reply {
rpc SearchItem(SearchItemReq) returns (SearchItemReply); 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{ enum Mode{
// //
@@ -597,178 +808,4 @@ message SearchItem{
message SearchItemReplyExtraInfo{ message SearchItemReplyExtraInfo{
// //
string eventId = 1; 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;
} }

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -1,349 +1,18 @@
//https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView
syntax = "proto3"; syntax = "proto3";
package bilibili.pgc.gateway.player.v2; package bilibili.pgc.gateway.player.v2;
import "google/protobuf/timestamp.proto"; import "google/protobuf/timestamp.proto";
enum CodeType{ //播放url
NOCODE = 0; service PlayURL {
CODE264 = 1; //获取播放url
CODE265 = 2; //https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView
rpc PlayView (PlayViewReq) returns (PlayViewReply);
} }
//不满足条件信息 //获取播放url-请求
message Limit{ message PlayViewReq{
//
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{
//目标剧集epid //目标剧集epid
int64 epid = 1; int64 epid = 1;
@@ -353,10 +22,10 @@ message playViewReq{
//清晰度 //清晰度
int64 qn = 3; int64 qn = 3;
// //视频流版本
int32 fnver = 4; int32 fnver = 4;
//流类型 //视频流功能
int32 fnval = 5; int32 fnval = 5;
//下载模式 //下载模式
@@ -390,20 +59,558 @@ message playViewReq{
// //
bool isNeedViewInfo = 15; bool isNeedViewInfo = 15;
} }
//回复
//获取播放url-回复
message PlayViewReply{ 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;
} }

View File

@@ -6,7 +6,7 @@ import "google/protobuf/any.proto";
//接口回复报错信息 //接口回复报错信息
//grpc-status-details-bin //grpc-status-details-bin
message Status{ message Status {
//业务错误码 //业务错误码
int32 code = 1; int32 code = 1;

View File

@@ -3,6 +3,8 @@ rem 递归编译proto
set lang="python" set lang="python"
set patch=%CD% set patch=%CD%
for /r %patch% %%a in (*.proto) do ( for /r %patch% %%a in (*.proto) do (
protoc.exe -I %patch% --%lang%_out=. %%~fa protoc -I %patch% --%lang%_out=. %%~fa
echo comp %%~fa ok! echo comp %%~fa
) )
echo all done
pause >nul

6
grpc_api/comp_proto.sh Normal file
View File

@@ -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'

View File

@@ -1,6 +1,7 @@
# grpc接口定义protobuf结构体 # grpc接口定义protobuf结构体
- `comp_proto.bat`---win递归批量编译脚本 - `comp_proto.bat`---win递归批量编译脚本
- `conp_proto.sh`---linux递归编译脚本
注: 注:
@@ -10,18 +11,18 @@
## grpc头部 ## grpc头部
- [bilibili.metadata.locale](bilibili/metadata/locale.proto)区域信息 - [bilibili.metadata](bilibili/metadata.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.rpc](bilibili/rpc.proto):响应错误信息 - [bilibili.rpc](bilibili/rpc.proto):响应错误信息
## 接口请求定义 ## 接口请求定义
- [blibili.app.archive.v1](bilibili/app/archive_v1.proto):稿件信息v1模块 - [blibili.app.archive.v1](bilibili/app/archive/v1.proto):稿件信息
- [blibili.app.playurl.v1](bilibili/app/playurl_v1.proto)APP端视频播放v1接口 - [bilibili.app.card.v1](bilibili/app/card/v1.proro)卡片
- [blibili.app.view.v1](bilibili/app/view_v1.proto)视频页v1接口 - [blibili.app.playurl.v1](bilibili/app/playurl/v1.proto)APP端视频播放业务
- [bilibili.pgc.gateway.player.v2](bilibili/pgc/gateway_player_v2.proto)APP端PGC播放v2接口 - [blibili.app.show.v1.Popular](bilibili/app/show/popular/v1.proto):热门内容
- [bilibili.cheese.gateway.player.v1](bilibili/cheese_gateway_player_v1.proto)APP端课程播放v1接口 - [blibili.app.show.v1.Rank](bilibili/app/show/rank/v1.proto):榜单
- [bilibili.main.community.reply.v1](bilibili/main_community_reply_v1.proto)评论区v1接口 - [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):评论区