bilibili-API-collect/grpc_api/bilibili/app/view/v1/view.proto
2022-06-20 01:03:57 +08:00

2338 lines
43 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package bilibili.app.view.v1;
import "google/protobuf/any.proto";
import "bilibili/app/archive/middleware/v1/preload.proto";
import "bilibili/app/archive/v1/archive.proto";
service View {
// 视频页详情页
rpc View (ViewReq) returns (ViewReply);
//
rpc ViewTag(ViewTagReq) returns (ViewTagReply);
//
rpc ViewMaterial(ViewMaterialReq) returns (ViewMaterialReply);
// 视频播放过程中的数据
rpc ViewProgress (ViewProgressReq) returns (ViewProgressReply);
// 短视频下载
rpc ShortFormVideoDownload (ShortFormVideoDownloadReq) returns (ShortFormVideoDownloadReply);
// 点击播放器卡片事件
rpc ClickPlayerCard (ClickPlayerCardReq) returns (NoReply);
// 点击大型活动页预约
rpc ClickActivitySeason (ClickActivitySeasonReq) returns (NoReply);
// 合集详情页
rpc Season (SeasonReq) returns (SeasonReply);
// 播放器卡片曝光
rpc ExposePlayerCard (ExposePlayerCardReq) returns (NoReply);
// 点击签订契约
rpc AddContract (AddContractReq) returns (NoReply);
//
rpc ChronosPkg(ChronosPkgReq) returns (Chronos);
//
rpc CacheView(CacheViewReq) returns (CacheViewReply);
//
rpc ContinuousPlay(ContinuousPlayReq) returns (ContinuousPlayReply);
//
rpc RelatesFeed(RelatesFeedReq) returns (RelatesFeedReply);
//
rpc PremiereArchive(PremiereArchiveReq) returns (PremiereArchiveReply);
//
rpc Reserve(ReserveReq) returns (ReserveReply);
//
rpc PlayerRelates(PlayerRelatesReq) returns (PlayerRelatesReply);
}
// 活动页资源包
message ActivityResource {
// mod资源池名称
string mod_pool_name = 1;
// mod资源名称
string mod_resource_name = 2;
// 背景色
string bg_color = 3;
// 选中背景色
string selected_bg_color = 4;
// 文字颜色
string text_color = 5;
// 浅字色
string light_text_color = 6;
// 深字色
string dark_text_color = 7;
// 分割线色
string divider_color = 8;
}
// 大型活动合集
message ActivitySeason {
// 稿件信息
bilibili.app.archive.v1.Arc arc = 1;
// 分P信息
repeated ViewPage pages = 2;
//("OnwerExt"为源码中拼写错误)
OnwerExt owner_ext = 3;
// 稿件用户操作状态
ReqUser req_user = 4;
// 充电排行
ElecRank elec_rank = 5;
// 历史观看进度
History history = 6;
// 稿件bvid
string bvid = 7;
// 获得荣誉信息
Honor honor = 8;
// 联合投稿成员列表
repeated Staff staff = 9;
// UGC视频合集信息
UgcSeason ugc_season = 10;
// 播放页定制tab
Tab tab = 11;
// 排行榜
Rank rank = 12;
// 预约模块
Order order = 13;
// 是否支持点踩
bool support_dislike = 14;
// 相关推荐(运营配置+AI推荐)
OperationRelate operation_relate = 15;
// 活动页资源包
ActivityResource activity_resource = 16;
// 短链接
string short_link = 17;
// 标签
Label label = 18;
// 不感兴趣原因
Dislike dislike = 19;
// 播放图标动画配置档
PlayerIcon player_icon = 20;
// 分享副标题(已观看xxx次)
string share_subtitle = 21;
// 广告配置
CMConfig cm_config = 22;
// 免流面板定制
TFPanelCustomized tf_panel_customized = 23;
// 争议信息
string argue_msg = 24;
// 错误码
// DEFAULT:正常 CODE404:视频被UP主删除
ECode ecode = 25;
// 404页信息
CustomConfig custom_config = 26;
// 评论样式
string badge_url = 27;
// 稿件简介v2
repeated DescV2 desc_v2 = 28;
//
Config config = 29;
//
Online online = 30;
}
// 点击签订契约-请求
message AddContractReq {
// 稿件avid
int64 aid = 1;
// UP主mid
int64 up_mid = 2;
// 当前页面spm
string spmid = 3;
}
//
message AdInfo {
//
int64 creative_id = 1;
//
int64 creative_type = 2;
//
CreativeContent creative_content = 3;
//
string ad_cb = 4;
//
int32 card_type = 5;
}
//
message Asset {
//
int32 paid = 1;
//
int64 price = 2;
//
AssetMsg msg = 3;
//
AssetMsg preview_msg = 4;
}
//
message AssetMsg {
//
string desc1 = 1;
//
string desc2 = 2;
}
// 关注按钮卡片
message Attention {
// 开始时间
int32 start_time = 1;
// 结束时间
int32 end_time = 2;
// 位置x坐标
double pos_x = 3;
// 位置y坐标
double pos_y = 4;
}
// 音频稿件信息
message Audio {
// 音频标题
string title = 1;
// 音频封面url
string cover_url = 2;
// 音频auid
int64 song_id = 3;
// 音频播放量
int64 play_count = 4;
// 音频评论数
int64 reply_count = 5;
// 音频作者UID
int64 upper_id = 6;
// 进入按钮文案
string entrance = 7;
//
int64 song_attr = 8;
}
//
message BadgeStyle {
//
string text = 1;
//
string text_color = 2;
//
string text_color_night = 3;
//
string bg_color = 4;
//
string bg_color_night = 5;
//
string border_color = 6;
//
string border_color_night = 7;
//
int32 bg_style = 8;
}
// 视频引用的bgm音频
message Bgm {
// 音频auid
int64 sid = 1;
// 音频作者mid
int64 mid = 2;
// 音频标题
string title = 3;
// 音频作者昵称
string author = 4;
// bgm页面url
string jumpUrl = 5;
// 音频封面url
string cover = 6;
}
// 收藏合集参数
message BizFavSeasonParam {
// 合集id
int64 season_id = 1;
}
//
message BizFollowVideoParam {
//
int64 season_id = 1;
}
//
message BizJumpLinkParam {
// 链接
string url = 1;
}
// 预约活动参数
message BizReserveActivityParam {
// 活动id
int64 activity_id = 1;
// 场景
string from = 2;
// 类型
string type = 3;
// 资源id
int64 oid = 4;
//
int64 reserve_id = 5;
}
//
message BizReserveGameParam {
// 游戏id
int64 game_id = 1;
}
// 业务类型
enum BizType {
BizTypeNone = 0; //
BizTypeFollowVideo = 1; // 追番追剧
BizTypeReserveActivity = 2; // 预约活动
BizTypeJumpLink = 3; // 跳转链接
BizTypeFavSeason = 4; // 收藏合集
BizTypeReserveGame = 5; // 预约游戏
}
//
message Button {
// 按钮文案
string title = 1;
// 跳转uri
string uri = 2;
}
//
message ButtonStyle {
//
string text = 1;
//
string text_color = 2;
//
string text_color_night = 3;
//
string bg_color = 4;
//
string bg_color_night = 5;
//
string jump_link = 6;
}
//
message BuzzwordConfig {
//
string name = 1;
//
string schema = 2;
//
int32 source = 3;
//
int64 start = 4;
//
int64 end = 5;
//
bool follow_control = 6;
//
int64 id = 7;
//
int64 buzzword_id = 8;
//
int32 schema_type = 9;
//
string picture = 10;
}
//
message CacheViewReply {
//
bilibili.app.archive.v1.Arc arc = 1;
//
repeated ViewPage pages = 2;
//
OnwerExt owner_ext = 3;
//
ReqUser req_user = 4;
//
Season season = 5;
//
ElecRank elec_rank = 6;
//
History history = 7;
//
Dislike dislike = 8;
//
PlayerIcon player_icon = 9;
//
string bvid = 10;
//
string short_link = 11;
//
string share_subtitle = 12;
//
TFPanelCustomized tf_panel_customized = 13;
//
Online online = 14;
}
//
message CacheViewReq {
//
int64 aid = 1;
//
string bvid = 2;
//
string from = 3;
//
string trackid = 4;
//
string ad_extra = 5;
//
string spmid = 6;
//
string from_spmid = 7;
}
//
enum Category {
CategoryUnknown = 0; //
CategorySeason = 1; //
}
// Chronos灰度管理
message Chronos {
// 资源包md5
string md5 = 1;
// 资源包
string file = 2;
//
string sign = 3;
}
//
message ChronosPkgReq {
//
string service_key = 1;
//
string engine_version = 2;
//
string message_protocol = 3;
}
// 点击大型活动页预约-请求
message ClickActivitySeasonReq {
// 预约类型
BizType order_type = 1;
// 当前页面spm
string spmid = 2;
// 业务参数
oneof order_param {
// 预约活动参数
BizReserveActivityParam reserve = 3;
// 收藏合集参数
BizFavSeasonParam fav_season = 4;
}
// 操作
// 0:操作 1:取消操作
int64 action = 5;
}
// 点击播放器卡片-请求
message ClickPlayerCardReq {
// 卡片id
int64 id = 1;
// 稿件avid
int64 aid = 2;
// 视频cid
int64 cid = 3;
//操作
//0:操作 1:取消操作
int64 action = 4;
// 当前页面spm
string spmid = 5;
}
// 广告
message CM {
// 广告数据(需解包)
google.protobuf.Any source_content = 1;
}
// 广告配置
message CMConfig {
// 广告配置数据(需要二次解包)
google.protobuf.Any ads_control = 1;
}
//
message CmIpad {
//
CM cm = 1;
//
bilibili.app.archive.v1.Author author = 2;
//
bilibili.app.archive.v1.Stat stat = 3;
//
int64 duration = 4;
//
int64 aid = 5;
}
// 互动弹幕条目信息
message CommandDm {
// 弹幕id
int64 id = 1;
// 对象视频cid
int64 oid = 2;
// 发送者mid
int64 mid = 3;
// 互动弹幕指令
string command = 4;
// 互动弹幕正文
string content = 5;
// 出现时间
int32 progress = 6;
// 创建时间
string ctime = 7;
// 发布时间
string mtime = 8;
// 扩展json数据
string extra = 9;
// 弹幕id str类型
string id_str = 10;
}
//
message Config {
// 下方推荐项标题
string relates_title = 1;
//
int32 relates_style = 2;
//
int32 relate_gif_exp = 3;
//
int32 end_page_half = 4;
//
int32 end_page_full = 5;
// 退出是否自动小窗
bool auto_swindow = 6;
//
bool popup_info = 7;
//
string abtest_small_window = 8;
//
int32 rec_three_point_style = 9;
//
bool is_absolute_time = 10;
//
bool new_swindow = 11;
//
bool relates_biserial = 12;
//
ListenerConfig listener_conf = 13;
//
string relates_feed_style = 14;
//
bool relates_feed_popup = 15;
//
bool relates_has_next = 16;
//
int32 local_play = 17;
//
bool play_story = 18;
//
bool arc_play_story = 19;
//
string story_icon = 20;
}
//
message ContinuousPlayReply {
//
repeated Relate relates = 1;
}
//
message ContinuousPlayReq {
//
int64 aid = 1;
//
string from = 2;
//
string trackid = 3;
//
string spmid = 4;
//
string from_spmid = 5;
//
int32 autoplay = 6;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 7;
//
int64 device_type = 8;
//
string session_id = 9;
//
int64 display_id = 10;
}
// 契约卡
message ContractCard {
// 需要触发的播放进度百分比
float display_progress = 1;
// 触发位置的前后误差(单位ms)
int64 display_accuracy = 2;
// 展示持续时间(单位ms)
int64 display_duration = 3;
// 弹出模式
// 0: 原有模式 1: 半屏弹出 2: 全屏、半屏均弹出
int32 show_mode = 4;
// 提示页面
// 0: 原有页面 1: 6.23版本新页面
int32 page_type = 5;
// UP主信息
UpperInfos upper = 6;
//
int32 is_follow_display = 7;
//
ContractText text = 8;
//
int64 follow_display_end_duration = 9;
//
int32 is_play_display = 10;
//
int32 is_interact_display = 11;
//
bool play_display_switch = 12;
}
//
message ContractText {
//
string title = 1;
//
string subtitle = 2;
//
string inline_title = 3;
}
//
message CreativeContent {
//
string title = 1;
//
string description = 2;
//
string button_title = 3;
//
int64 video_id = 4;
//
string username = 5;
//
string image_url = 6;
//
string image_md5 = 7;
//
string log_url = 8;
//
string log_md5 = 9;
//
string url = 10;
//
string click_url = 11;
//
string show_url = 12;
}
// 404页信息
message CustomConfig {
// 重定向页面url
string redirect_url = 1;
}
// 枚举-文本类型
enum DescType {
DescTypeUnknown = 0; // 占位
DescTypeText = 1; // 文本
DescTypeAt = 2; // @
}
// 特殊稿件简介
message DescV2 {
// 文本内容
string text = 1;
// 文本类型
DescType type = 2;
// 点击跳转链接
string uri = 3;
// 资源ID
int64 rid = 4;
}
// 不喜欢原因
message Dislike {
// 标题
string title = 1;
//
string subtitle = 2;
// 原因项列表
repeated DislikeReasons reasons = 3;
}
// 不喜欢原因项
message DislikeReasons {
// 类型
// 1:全部类型 3:TAG 4:UP主
int64 id = 1;
// 相关UP主mid
int64 mid = 2;
// 相关分区tid
int32 rid = 3;
// 相关TAG id
int64 tag_id = 4;
// 相关名称
string name = 5;
}
// 分P弹幕信息
message DM {
// 分P是否关闭弹幕
// 0:正常 1:关闭
bool closed = 1;
//
bool real_name = 2;
// 分P弹幕总数
int64 count = 3;
}
// 错误代码
enum ECode {
DEFAULT = 0; // 正常
CODE404 = 1; // 稿件被UP主删除
}
// 充电排行信息
message ElecRank {
// 充电排行列表
repeated ElecRankItem list = 1;
// 充电用户数
int64 count = 2;
}
// 充电用户信息
message ElecRankItem {
// 用户头像url
string avatar = 1;
// 用户昵称
string nickname = 2;
// 充电留言
string message = 3;
// 用户mid
int64 mid = 4;
}
// 视频合集单话信息
message Episode {
// 合集单话id
int64 id = 1;
// 稿件avid
int64 aid = 2;
// 视频1P cid
int64 cid = 3;
// 稿件标题
string title = 4;
// 稿件封面url
string cover = 5;
// 投稿时间显示文案
string coverRightText = 6;
// 视频分P信息
bilibili.app.archive.v1.Page page = 7;
// 视频状态数
bilibili.app.archive.v1.Stat stat = 8;
// 稿件bvid
string bvid = 9;
// 稿件UP主信息
bilibili.app.archive.v1.Author author = 10;
//
string author_desc = 11;
//
BadgeStyle badge_style = 12;
//
bool need_pay = 13;
//
bool episode_pay = 14;
//
bool free_watch = 15;
}
// 播放器卡片曝光-请求
message ExposePlayerCardReq {
// 卡片类型
PlayerCardType card_type = 1;
// 稿件avid
int64 aid = 2;
// 视频cid
int64 cid = 3;
// 当前页面spm
string spmid = 4;
}
//
message FeedViewItem {
//
ViewReply view = 1;
//
string goto = 2;
//
string uri = 3;
//
string track_id = 4;
}
//
message FeedViewReply {
//
repeated FeedViewItem list = 1;
//
bool has_next = 2;
}
//
message FeedViewReq {
//
int64 aid = 1;
//
string bvid = 2;
//
string from = 3;
//
string spmid = 4;
//
string from_spmid = 5;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 6;
//
int64 display_id = 7;
//
string session_id = 8;
//
string page_version = 9;
//
string from_track_id = 10;
}
//
message GoodsInfo {
//
string goods_id = 1;
//
int32 category = 2;
//
int64 goods_price = 3;
//
PayState pay_state = 4;
//
string goods_name = 5;
//
string price_fmt = 6;
}
// 稿件观看进度
message History {
// 播放进度分P cid
int64 cid = 1;
// 播放进度时间
// 0:未观看 -1:已看完 正整数:播放时间进度
int64 progress = 2;
}
// 稿件获得荣誉信息
message Honor {
// 荣誉栏图标url
string icon = 1;
// 荣誉栏图标url 夜间模式
string icon_night = 2;
// 荣誉文案
string text = 3;
// 荣誉副文案
string text_extra = 4;
// 标题颜色
string text_color = 5;
// 标题颜色 夜间模式
string text_color_night = 6;
// 背景颜色
string bg_color = 7;
// 背景颜色 夜间模式
string bg_color_night = 8;
// 跳转uri
string url = 9;
// 跳转角标文案
string url_text = 10;
}
//
message IconData {
//
string meta_json = 1;
//
string sprits_img = 2;
}
//
message Interaction {
//
Node history_node = 1;
//
int64 graph_version = 2;
//
string msg = 3;
//
string evaluation = 4;
//
int64 mark = 5;
}
//
message Label {
//
int32 type = 1;
//
string uri = 2;
//
string icon = 3;
//
string icon_night = 4;
//
int64 icon_width = 5;
//
int64 icon_height = 6;
//
string lottie = 7;
//
string lottie_night = 8;
}
//
message LikeCustom {
//
bool like_switch = 1;
//
int64 full_to_half_progress = 2;
//
int64 non_full_progress = 3;
//
int64 update_count = 4;
}
//
message ListenerConfig {
//
int64 jump_style = 1;
//
ListenerGuideBar guide_bar = 2;
}
//
message ListenerGuideBar {
//
int64 show_strategy = 1;
//
string icon = 2;
//
string text = 3;
//
string btn_text = 4;
//
int64 show_time = 5;
//
int64 background_time = 6;
}
// 直播信息
message Live {
// 主播UID
int64 mid = 1;
// 直播间id
int64 roomid = 2;
// 直播间url
string uri = 3;
//
string endpage_uri = 4;
}
// 直播预约信息
message LiveOrderInfo {
// 预约id
int64 sid = 1;
// 预约条文案
string text = 2;
// 直播开始时间
int64 live_plan_start_time = 3;
// 是否预约
bool is_follow = 4;
}
//
message MaterialLeft {
//
string icon = 1;
//
string text = 2;
//
string url = 3;
//
string left_type = 4;
//
string param = 5;
//
string operational_type = 6;
//
string static_icon = 7;
}
//
message MaterialRes {
//
int64 id = 1;
//
string icon = 2;
//
string url = 3;
//
int32 typ = 4;
//
string name = 5;
//
string bg_color = 6;
//
string bg_pic = 7;
//
int32 jump_type = 8;
}
//
enum MaterialSource {
Default = 0;
BiJian = 1;
}
//
message Node {
//
int64 node_id = 1;
//
string title = 2;
//
int64 cid = 3;
}
// 空回复
message NoReply {
}
//
message Notice {
//
string title = 1;
//
string desc = 2;
}
// 认证信息
message OfficialVerify {
// 认证类型
// 0:个人认证 1:官方认证
int32 type = 1;
//认证名称
string desc = 2;
}
//
message Online {
//
bool online_show = 1;
//
string player_online_logo = 2;
}
// UP主扩展信息 ("OnwerExt"为源码中拼写错误)
message OnwerExt {
// 认证信息
OfficialVerify official_verify = 1;
// 直播信息
Live live = 2;
// 会员信息
Vip vip = 3;
//
repeated int64 assists = 4;
// 粉丝数
int64 fans = 5;
// 总投稿数
string arc_count = 6;
}
// 老运营卡片
message OperationCard {
// 开始时间(单位为秒)
int32 start_time = 1;
// 结束时间(单位为秒)
int32 end_time = 2;
// 图标
string icon = 3;
// 标题
string title = 4;
// 按钮文案
string button_text = 5;
// 跳转链接
string url = 6;
// 内容描述
string content = 7;
}
// 内嵌操作按钮卡片
message OperationCardNew {
// 卡片id
int64 id = 1;
// 开始时间
int32 from = 2;
// 结束时间
int32 to = 3;
// 用户操作态
// true已操作 false未操作
bool status = 4;
// 卡片类型
OperationCardType card_type = 5;
// 卡片渲染
oneof render {
// 标准卡
StandardCard standard = 6;
// 老运营卡片(原B剪跳转卡)
OperationCard skip = 7;
}
//
BizType biz_type = 8;
//
oneof param {
// 追番追剧参数
BizFollowVideoParam follow = 9;
// 预约活动参数
BizReserveActivityParam reserve = 10;
// 跳转参数
BizJumpLinkParam jump = 11;
// 预约游戏参数
BizReserveGameParam game = 12;
}
}
// 卡片样式
enum OperationCardType {
CardTypeNone = 0; //
CardTypeStandard = 1; // 标准卡
CardTypeSkip = 2; // 原跳转卡
}
// 相关推荐(运营配置+AI推荐)
message OperationRelate {
// 模块标题
string title = 1;
// 相关推荐模块内容
repeated RelateItem relate_item = 2;
// AI相关推荐
repeated Relate ai_relate_item = 3;
}
// 预约模块
message Order {
// 用户操作态
bool status = 1;
// 模块标题
string title = 2;
// 按钮文字 未操作
string button_title = 3;
// 按钮文字 已操作
string button_selected_title = 4;
// 合集播放数
int64 season_stat_view = 5;
// 合集弹幕数
int64 season_stat_danmaku = 6;
// 预约类型(点击时透传,直播开始前预约活动,直播开始后收藏合集)
BizType order_type = 7;
// 预约业务参数
oneof order_param {
// 预约活动参数
BizReserveActivityParam reserve = 8;
// 收藏合集参数
BizFavSeasonParam fav_season = 9;
}
// 合集简介
string intro = 10;
}
// 游戏礼包信息
message PackInfo {
// 礼包标题
string title = 1;
// 礼包页uri
string uri = 2;
}
//
enum PayState {
PayStateUnknown = 0; //
PayStateActive = 1; //
}
// 卡片类型
enum PlayerCardType {
PlayerCardTypeNone_VALUE = 0; //
PlayerCardTypeAttention_VALUE = 1; // 关注卡
PlayerCardTypeOperation_VALUE = 2; // 运营卡
PlayerCardTypeContract_VALUE = 3; // 契约卡
}
// 进度条动画配置
message PlayerIcon {
// 拖动动画配置档url
string url1 = 1;
// 拖动动画配置档hash
string hash1 = 2;
// 松手动画配置档url
string url2 = 3;
// 松手动画配置档hash
string hash2 = 4;
//
string drag_left_png = 5;
//
string middle_png = 6;
//
string drag_right_png = 7;
//
IconData drag_data = 8;
//
IconData nodrag_data = 9;
}
//
message PlayerRelatesReply {
//
repeated Relate list = 1;
}
//
message PlayerRelatesReq {
//
int64 aid = 1;
//
string bvid = 2;
//
string from = 3;
//
string spmid = 4;
//
string from_spmid = 5;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 6;
//
string session_id = 7;
//
string from_track_id = 8;
}
//
message PointMaterial {
//
string url = 1;
//
int32 material_source = 2;
}
//
message PowerIconStyle {
//
string icon_url = 1;
//
string icon_night_url = 2;
//
int64 icon_width = 3;
//
int64 icon_height = 4;
}
//
message Premiere {
//
PremiereState premiere_state = 1;
//
int64 start_time = 2;
//
int64 service_time = 3;
//
int64 room_id = 4;
}
//
message PremiereArchiveReply {
//
Premiere premiere = 1;
//
bool risk_status = 2;
//
string risk_reason = 3;
}
//
message PremiereArchiveReq {
//
int64 aid = 1;
}
//
message PremiereReserve {
//
int64 reserve_id = 1;
//
int64 count = 2;
//
bool is_follow = 3;
}
//
message PremiereResource {
//
Premiere premiere = 1;
//
PremiereReserve reserve = 2;
//
PremiereText text = 3;
}
//
enum PremiereState {
premiere_none = 0; //
premiere_before = 1; //
premiere_in = 2; //
premiere_after = 3; //
}
//
message PremiereText {
//
string title = 1;
//
string subtitle = 2;
//
string online_text = 3;
//
string online_icon = 4;
//
string online_icon_dark = 5;
//
string intro_title = 6;
//
string intro_icon = 7;
//
string guidance_pulldown = 8;
//
string guidance_entry = 9;
//
string intro_icon_night = 10;
}
//
message PullClientAction {
//
string type = 1;
//
bool pull_action = 2;
//
string params = 3;
}
// 排行榜
message Rank {
// 排行榜icon
string icon = 1;
// 排行榜icon 夜间模式
string icon_night = 2;
// 排行榜文案
string text = 3;
}
// 推荐理由样式
message ReasonStyle {
//
string text = 1;
// 日间模式文字
string text_color = 2;
//
string bg_color = 3;
//
string border_color = 4;
// 夜间模式文字
string text_color_night = 5;
//
string bg_color_night = 6;
//
string border_color_night = 7;
// 1:填充 2:描边 3:填充 + 描边 4:背景不填充 + 背景不描边
int32 bg_style = 8;
//
int32 selected = 9;
}
//
message RecDislike {
//
string title = 1;
//
string sub_title = 2;
//
string closed_sub_title = 3;
//
string paste_text = 4;
//
string closed_paste_text = 5;
//
repeated DislikeReasons dislike_reason = 6;
//
string toast = 7;
//
string closed_toast = 8;
}
//
message RecThreePoint {
//
RecDislike dislike = 1;
//
RecDislike feedback = 2;
//
bool watch_later = 3;
}
//相关推荐项
message Relate {
//
int64 aid = 1;
// 封面url
string pic = 2;
// 标题
string title = 3;
// UP主信息
bilibili.app.archive.v1.Author author = 4;
// 稿件状态数
bilibili.app.archive.v1.Stat stat = 5;
// 时长
int64 duration = 6;
// 跳转类型
// special:pgc视频 av:稿件视频 cm:广告 game:游戏
string goto = 7;
// 参数如av号等
string param = 8;
// 跳转uri
string uri = 9;
//
string jump_url = 10;
// 评分
double rating = 11;
//
string reserve = 12;
// 来源标识
// operation:管理员添加
string from = 13;
// 备注
string desc = 14;
//
string rcmd_reason = 15;
// 标志文字
string badge = 16;
// 1P cid
int64 cid = 17;
//
int32 season_type = 18;
//
int32 rating_count = 19;
// 标签文案
string tag_name = 20;
// 游戏礼包信息
PackInfo pack_info = 21;
//
Notice notice = 22;
// 按钮信息
Button button = 23;
// spm追踪id
string trackid = 24;
// 游戏卡片新样式
int32 new_card = 25;
// 推荐理由样式
ReasonStyle rcmd_reason_style = 26;
//
string cover_gif = 27;
// 广告
CM cm = 28;
// 游戏卡字段
// 0:下载 1:预约(跳过详情) 2:预约 3:测试 4:测试+预约 5:跳过详情页
int64 reserve_status = 29;
//
string rcmd_reason_extra = 30;
//
RecThreePoint rec_three_point = 31;
//
string unique_id = 32;
//
int64 material_id = 33;
//
int64 from_source_type = 34;
//
string from_source_id = 35;
//
bilibili.app.archive.v1.Dimension dimension = 36;
//
string cover = 37;
//
ReasonStyle badge_style = 38;
//
PowerIconStyle power_icon_style = 39;
//
string reserve_status_text = 40;
}
// 相关推荐内容
message RelateItem {
// 跳链
string url = 1;
// 封面
string cover = 2;
}
//
message RelatesFeedReply {
//
repeated Relate list = 1;
//
bool has_next = 2;
}
//
message RelatesFeedReq {
//
int64 aid = 1;
//
string bvid = 2;
//
string from = 3;
//
string spmid = 4;
//
string from_spmid = 5;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 6;
//
int64 relates_page = 7;
//
string session_id = 8;
//
int32 autoplay = 9;
//
string from_track_id = 10;
//
string biz_extra = 11;
//
int64 device_type = 12;
//
string ad_extra = 13;
}
//
message RelateTab {
//
string id = 1;
//
string title = 2;
}
// 用户操作状态
message ReqUser {
// 用户是否关注UP
int32 attention = 1;
// UP是否关注用户
int32 guest_attention = 2;
// 是否收藏
int32 favorite = 3;
// 是否点赞
int32 like = 4;
// 是否点踩
int32 dislike = 5;
// 是否投币
int32 coin = 6;
// 关注等级
int32 attention_level = 7;
// 是否收藏合集
int32 fav_season = 8;
}
//
message ReserveReply {
//
int64 reserve_id = 1;
}
//
message ReserveReq {
//
int64 reserve_id = 1;
//
int64 reserve_action = 2;
//
int64 up_id = 3;
}
//
message Restriction {
//
bool is_teenagers = 1;
//
bool is_lessons = 2;
//
bool is_review = 3;
//
bool disable_rcmd = 4;
}
// 剧集信息
message Season {
//
string allow_download = 1;
// 剧集ssid
int64 season_id = 2;
// 是否重定向跳转
int32 is_jump = 3;
// 剧集标题
string title = 4;
// 剧集封面url
string cover = 5;
// 剧集是否完结
int32 is_finish = 6;
// 最新一话epid
int64 newest_ep_id = 7;
// 最新一话标题
string newest_ep_index = 8;
// 总集数
int64 total_count = 9;
// 更新星期日
int32 weekday = 10;
// 用户追番标志
UserSeason user_season = 11;
//
SeasonPlayer player = 12;
// 单集页面url
string ogv_playurl = 13;
}
//
message SeasonPlayer {
//
int64 aid = 1;
//
string vid = 2;
//
int64 cid = 3;
//
string from = 4;
}
// 合集详情页-响应
message SeasonReply {
// 合集信息
UgcSeason season = 1;
}
// 合集详情页-请求
message SeasonReq {
// 合集id
int64 season_id = 1;
}
//
enum SeasonType {
Unknown = 0; //
Base = 1; //
Good = 2; //
}
// 视频合集小节信息
message Section {
// 小节id
int64 id = 1;
// 小节标题
string title = 2;
// 小节类型
// 0:其他 1:正片
int64 type = 3;
// 单话列表
repeated Episode episodes = 4;
}
// 短视频下载-响应
message ShortFormVideoDownloadReply {
// 是否有下载分享按钮
bool has_download_url = 1;
// 下载url
string download_url = 2;
// 文件md5
string md5 = 3;
// 文件大小(单位为Byte)
int64 size = 4;
//
string backup_download_url = 5;
}
// 短视频下载-请求
message ShortFormVideoDownloadReq {
// 稿件avid
int64 aid = 1;
// 视频cid
int64 cid = 2;
// 用户mid
int64 mid = 3;
// 设备buvid
string buvid = 4;
// 移动端包类型
string mobi_app = 5;
// 移动端版本号
int64 build = 6;
// 运行设备
string device = 7;
// 平台
string platform = 8;
// 当前页面spm
string spmid = 9;
//
Restriction restriction = 10;
//
string tf_isp = 11;
}
//
message SpecialCell {
//
string icon = 1;
//
string icon_night = 2;
//
string text = 3;
//
string text_color = 4;
//
string text_color_night = 5;
//
string jump_url = 6;
//
string cell_type = 7;
//
string cell_bgcolor = 8;
//
string cell_bgcolor_night = 9;
//
string param = 10;
//
string page_title = 11;
//
string jump_type = 12;
//
string end_icon = 13;
//
string end_icon_night = 14;
//
int64 notes_count = 15;
}
// 合作成员信息
message Staff {
// 成员mid
int64 mid = 1;
// 成员角色
string title = 2;
// 成员头像url
string face = 3;
// 成员昵称
string name = 4;
// 成员官方信息
OfficialVerify official_verify = 5;
// 成员会员信息
Vip vip = 6;
// 是否关注该成员
int32 attention = 7;
//
int32 label_style = 8;
}
// 标准卡
message StandardCard {
// 卡片文案
string title = 1;
// 按钮文字 未操作
string button_title = 2;
// 按钮文字 已操作
string button_selected_title = 3;
// 已操作态是否显示
bool show_selected = 4;
}
// 免流子面板定制化配置
message subTFPanel {
// 右侧按钮素材
string right_btn_img = 1;
// 右侧按钮文案
string right_btn_text = 2;
// 右侧按钮字体颜色
string right_btn_text_color = 3;
// 右侧按钮跳转链接
string right_btn_link = 4;
// 中心主文案内容
string main_label = 5;
// 运营商
string operator = 6;
}
// TAB
message Tab {
// 背景图片
string background = 1;
// 跳转类型
TabOtype otype = 2;
// 类型id
int64 oid = 3;
// 跳转url
string uri = 4;
// 样式
TabStyle style = 5;
// 文字
string text = 6;
// 未选中态字色
string text_color = 7;
// 选中态字色
string text_color_selected = 8;
// 图片
string pic = 9;
// 后台配置自增
int64 id = 10;
//
google.protobuf.Any ad_tab_info = 11;
}
// TAB跳转类型
enum TabOtype {
UnknownOtype = 0; // 未知类型
URL = 1; // url链接
TopicNA = 2; // native话题活动
}
// TAB样式
enum TabStyle {
UnknownStyle = 0; // 未知样式
Text = 1; // 文字样式
Pic = 2; // 图片样式
}
// TAG信息
message Tag {
// TAD id
int64 id = 1;
// TAG名
string name = 2;
//
int64 likes = 3;
//
int64 hates = 4;
//
int32 liked = 5;
//
int32 hated = 6;
// TAG页面uri
string uri = 7;
// TAG类型
// common:普通 new:话题 act:活动
string tag_type = 8;
}
// 免流面板定制
message TFPanelCustomized {
// 右侧按钮素材
string right_btn_img = 1;
// 右侧按钮文案
string right_btn_text = 2;
// 右侧按钮字体颜色
string right_btn_text_color = 3;
// 右侧按钮跳转链接
string right_btn_link = 4;
// 中心主文案内容
string main_label = 5;
// 运营商(cm ct cu)
string operator = 6;
// 子面板定制化配置
map<string, subTFPanel> sub_panel = 7;
}
// TAG图标信息
message TIcon {
// TAG图标url
string icon = 1;
}
// UGC视频合集信息
message UgcSeason {
// 合集id
int64 id = 1;
// 合集标题
string title = 2;
// 合集封面url
string cover = 3;
// 合集简介
string intro = 4;
// 小节列表
repeated Section sections = 5;
// 合集状态数
UgcSeasonStat stat = 6;
// 标签字色
string label_text = 7;
// 标签背景色
string label_text_color = 8;
// 标签夜间字色
string label_bg_color = 9;
// 标签夜间背景色
string label_text_night_color = 10;
// 右侧描述文案
string label_bg_night_color = 11;
// 按钮文案
string descRight = 12;
// 分集总数
int64 ep_count = 13;
// 合集类型
SeasonType season_type = 14;
//
bool show_continual_button = 15;
//
int64 ep_num = 16;
//
bool season_pay = 17;
//
GoodsInfo goods_info = 18;
//
ButtonStyle pay_button = 19;
//
string label_text_new = 20;
}
// ugc视频合集状态数
message UgcSeasonStat {
// 合集id
int64 season_id = 1;
// 观看数
int32 view = 2;
// 弹幕数
int32 danmaku = 3;
// 评论数
int32 reply = 4;
// 收藏数
int32 fav = 5;
// 投币数
int32 coin = 6;
// 分享数
int32 share = 7;
// 当前排名
int32 now_rank = 8;
// 历史最高排名
int32 his_rank = 9;
// 总计点赞
int32 like = 10;
}
//
message UpAct {
//
int64 sid = 1;
//
int64 mid = 2;
//
string title = 3;
//
string statement = 4;
//
string image = 5;
//
string url = 6;
//
string button = 7;
}
//
message UpLikeImg {
//
string pre_img = 1;
//
string suc_img = 2;
//
string content = 3;
//
int64 type = 4;
}
// UP主信息
message UpperInfos {
// 粉丝数
int64 fans_count = 1;
// 近半年投稿数
int64 arc_count_last_half_year = 2;
// 成为UP主时间
int64 first_up_dates = 3;
// 总播放量
int64 total_play_count = 4;
}
// 用户装扮信息
message UserGarb {
// 点赞动画url
string url_image_ani_cut = 1;
//
string like_toast = 2;
}
// 用户追番标志
message UserSeason {
// 关注状态
// 0:未关注 1:已关注
string attention = 1;
}
// 视频引导信息
message VideoGuide {
// 关注按钮卡片
repeated Attention attention = 1;
// 互动弹幕
repeated CommandDm commandDms = 2;
// 运营卡片
repeated OperationCard operation_card = 3;
// 运营卡片新版
repeated OperationCardNew operation_card_new = 4;
// 契约卡
ContractCard contract_card = 5;
}
//
message VideoPoint {
//
int32 type = 1;
//
int64 from = 2;
//
int64 to = 3;
//
string content = 4;
//
string cover = 5;
//
string logo_url = 6;
}
//
message VideoShot {
//
string pv_data = 1;
//
int32 img_x_len = 2;
//
int32 img_y_len = 3;
//
int32 img_x_size = 4;
//
int32 img_y_size = 5;
//
repeated string image = 6;
}
//
message ViewMaterial {
//
int64 oid = 1;
//
int64 mid = 2;
//
string title = 3;
//
string author = 4;
//
string jump_url = 5;
}
//
message ViewMaterialReply {
//
repeated MaterialRes material_res = 1;
//
MaterialLeft material_left = 2;
}
//
message ViewMaterialReq {
//
int64 aid = 1;
//
string bvid = 2;
//
int64 cid = 3;
}
// 分P信息
message ViewPage {
// 分P基本信息
bilibili.app.archive.v1.Page page = 1;
// 分P对应的音频稿件
Audio audio = 2;
// 分P弹幕信息
DM dm =3;
// 下载文案
string download_title = 4;
// 分P完整标题(视频标题+分P标题)
string download_subtitle = 5;
}
// 稿件播放中数据-回复
message ViewProgressReply {
// 视频引导信息
VideoGuide video_guide = 1;
// Chronos灰度管理
Chronos chronos = 2;
// 视频快照
VideoShot arc_shot = 3;
//
repeated VideoPoint points = 4;
//
PointMaterial point_material = 5;
//
bool point_permanent = 6;
// 名词解释列表
repeated BuzzwordConfig buzzword_periods = 7;
}
// 稿件播放中数据-请求
message ViewProgressReq {
// 稿件avid
int64 aid = 1;
// 视频cid
int64 cid = 2;
// UP主mid
int64 up_mid = 3;
//
string engine_version = 4;
//
string message_protocol = 5;
//
string service_key = 6;
}
// 视频页信息-响应
message ViewReply {
// 稿件信息
bilibili.app.archive.v1.Arc arc = 1;
// 分P信息
repeated ViewPage pages = 2;
// UP主扩展信息 ("OnwerExt"为源码中拼写错误)
OnwerExt owner_ext = 3;
// 稿件用户操作状态
ReqUser req_user = 4;
// 稿件TAG
repeated Tag tag = 5;
// TAG对应的图标
map<string, TIcon> t_icon = 6;
// 稿件映射的PGC剧集信息
Season season = 7;
// 充电排行
ElecRank elec_rank = 8;
// 历史观看进度
History history = 9;
// 视频相关推荐列表
repeated Relate relates = 10;
// 不感兴趣原因
Dislike dislike = 11;
// 播放图标动画配置档
PlayerIcon player_icon = 12;
//
string vip_active = 13;
// 稿件bvid
string bvid = 14;
// 获得荣誉信息
Honor honor = 15;
// 相关推荐顶部tab
repeated RelateTab relate_tab = 16;
// 参与的活动页面url
string activity_url = 17;
// 稿件引用bgm列表
repeated Bgm bgm = 18;
// 联合投稿成员列表
repeated Staff staff = 19;
// 争议信息
string argue_msg = 20;
// 短链接
string short_link = 21;
// 播放实验
// 1:相关推荐自动播放
int32 play_param = 22;
// 标签
Label label = 23;
// UGC视频合集信息
UgcSeason ugc_season = 24;
// 配置信息
Config config = 25;
// 分享副标题(已观看xxx次)
string share_subtitle = 26;
// 互动视频信息
Interaction interaction = 27;
// 错误码
// DEFAULT:正常 CODE404:视频被UP主删除
ECode ecode = 28;
// 404页信息
CustomConfig custom_config = 29;
// 广告
repeated CM cms = 30;
// 广告配置
CMConfig cm_config = 31;
// 播放页定制tab
Tab tab = 32;
// 排行榜
Rank rank = 33;
// 免流面板定制
TFPanelCustomized tf_panel_customized = 34;
// UP主发起活动
UpAct up_act = 35;
// 用户装扮
UserGarb user_garb = 36;
// 大型活动合集
ActivitySeason activity_season = 37;
// 评论样式
string badge_url = 38;
// 直播预约信息
LiveOrderInfo live_order_info = 39;
// 稿件简介v2
repeated DescV2 desc_v2 = 40;
//
CmIpad cm_ipad = 41;
//
repeated ViewMaterial sticker = 42;
//
UpLikeImg up_like_img = 43;
//
LikeCustom like_custom = 44;
//
repeated Tag desc_tag = 45;
//
SpecialCell special_cell = 46;
//
Online online = 47;
//
google.protobuf.Any cm_under_player = 48;
//
repeated ViewMaterial video_source = 49;
//
repeated SpecialCell special_cell_new = 50;
//
PremiereResource premiere = 51;
//
bool refresh_special_cell = 52;
//
MaterialLeft material_left = 53;
//
int64 notes_count = 54;
//
PullClientAction pull_action = 55;
}
// 视频页详情页-请求
message ViewReq {
// 稿件avid(av/bv任选其一)
int64 aid = 1;
// 稿件bvid(av/bv任选其一)
string bvid = 2;
// 来源
string from = 3;
// AI trackid
string trackid = 4;
// 广告扩展数据
string ad_extra = 5;
// 清晰度(旧版)
int32 qn = 6;
// 流版本(旧版)
int32 fnver = 7;
// 流类型(旧版)
int32 fnval = 8;
// 是否强制使用域名(旧版)
int32 force_host = 9;
// 是否允许4K(旧版)
int32 fourk = 10;
// 当前页面spm
string spmid = 11;
// 上一页面spm
string from_spmid = 12;
//
int32 autoplay = 13;
// 视频秒开参数
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 14;
//
string page_version = 15;
//
string biz_extra = 16;
//
int64 device_type = 17;
//
int64 relates_page = 18;
//
string session_id = 19;
//
int32 in_feed_play = 20;
//
string play_mode = 21;
}
//
message ViewTagReply {
//
repeated SpecialCell special_cell_new = 1;
//
MaterialLeft material_left = 2;
}
//
message ViewTagReq {
//
int64 aid = 1;
//
string bvid = 2;
//
int64 cid = 3;
//
string spmid = 4;
}
// 会员信息
message Vip {
//会员类型
int32 type = 1;
//到期时间
int64 due_date = 2;
//
string due_remark = 3;
//
int32 access_status = 4;
//会员状态
int32 vip_status = 5;
//
string vip_status_warn = 6;
//
int32 theme_type = 7;
//
VipLabel label = 8;
}
// 会员类型标签
message VipLabel {
//
string path = 1;
//
string text = 2;
//
string label_theme = 3;
}