mirror of
https://github.com/SocialSisterYi/bilibili-API-collect.git
synced 2025-02-19 23:40:09 +08:00
1431 lines
29 KiB
Protocol Buffer
1431 lines
29 KiB
Protocol Buffer
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 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);
|
||
}
|
||
|
||
// 空回复
|
||
message NoReply {}
|
||
|
||
// 视频页详情页-请求
|
||
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;
|
||
}
|
||
|
||
// 视频页信息-响应
|
||
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;
|
||
}
|
||
|
||
// 直播预约信息
|
||
message LiveOrderInfo {
|
||
// 预约id
|
||
int64 sid = 1;
|
||
// 预约条文案
|
||
string text = 2;
|
||
// 直播开始时间
|
||
int64 live_plan_start_time = 3;
|
||
// 是否预约
|
||
bool is_follow = 4;
|
||
}
|
||
|
||
// 大型活动合集
|
||
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;
|
||
}
|
||
|
||
// 特殊稿件简介
|
||
message DescV2 {
|
||
// 文本内容
|
||
string text = 1;
|
||
// 文本类型
|
||
DescType type = 2;
|
||
// 点击跳转链接
|
||
string uri = 3;
|
||
// 资源ID
|
||
int64 rid = 4;
|
||
}
|
||
|
||
// 枚举-文本类型
|
||
enum DescType {
|
||
DescTypeUnknown = 0; // 占位
|
||
DescTypeText = 1; // 文本
|
||
DescTypeAt = 2; // @
|
||
}
|
||
|
||
// 活动页资源包
|
||
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;
|
||
}
|
||
|
||
// 相关推荐(运营配置+AI推荐)
|
||
message OperationRelate {
|
||
// 模块标题
|
||
string title = 1;
|
||
// 相关推荐模块内容
|
||
repeated RelateItem relate_item = 2;
|
||
// AI相关推荐
|
||
repeated Relate ai_relate_item = 3;
|
||
}
|
||
|
||
// 相关推荐内容
|
||
message RelateItem {
|
||
// 跳链
|
||
string url = 1;
|
||
// 封面
|
||
string cover = 2;
|
||
}
|
||
|
||
// 预约模块
|
||
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;
|
||
}
|
||
|
||
// 业务类型
|
||
enum BizType {
|
||
BizTypeNone = 0; //
|
||
BizTypeFollowVideo = 1; // 追番追剧
|
||
BizTypeReserveActivity = 2; // 预约活动
|
||
BizTypeJumpLink = 3; // 跳转链接
|
||
BizTypeFavSeason = 4; // 收藏合集
|
||
BizTypeReserveGame = 5; // 预约游戏
|
||
}
|
||
|
||
// 用户装扮信息
|
||
message UserGarb {
|
||
// 点赞动画url
|
||
string urlImageAniCut = 1;
|
||
}
|
||
|
||
// 排行榜
|
||
message Rank {
|
||
// 排行榜icon
|
||
string icon = 1;
|
||
// 排行榜icon 夜间模式
|
||
string icon_night = 2;
|
||
// 排行榜文案
|
||
string text = 3;
|
||
}
|
||
|
||
// 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;
|
||
}
|
||
|
||
// TAB样式
|
||
enum TabStyle {
|
||
UnknownStyle = 0; // 未知样式
|
||
Text = 1; // 文字样式
|
||
Pic = 2; // 图片样式
|
||
}
|
||
|
||
// TAB跳转类型
|
||
enum TabOtype {
|
||
UnknownOtype = 0; // 未知类型
|
||
URL = 1; // url链接
|
||
TopicNA = 2; // native话题活动
|
||
}
|
||
|
||
// 错误代码
|
||
enum ECode {
|
||
DEFAULT = 0; // 正常
|
||
CODE404 = 1; // 稿件被UP主删除
|
||
}
|
||
|
||
// 分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 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;
|
||
}
|
||
|
||
// 分P弹幕信息
|
||
message DM {
|
||
// 分P是否关闭弹幕
|
||
// 0:正常 1:关闭
|
||
bool closed = 1;
|
||
//
|
||
bool real_name = 2;
|
||
// 分P弹幕总数
|
||
int64 count = 3;
|
||
}
|
||
|
||
// 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 OfficialVerify {
|
||
// 认证类型
|
||
// 0:个人认证 1:官方认证
|
||
int32 type = 1;
|
||
//认证名称
|
||
string desc = 2;
|
||
}
|
||
|
||
// 直播信息
|
||
message Live {
|
||
// 主播UID
|
||
int64 mid = 1;
|
||
// 直播间id
|
||
int64 roomid = 2;
|
||
// 直播间url
|
||
string uri = 3;
|
||
//
|
||
string endpage_uri = 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;
|
||
}
|
||
|
||
// 用户操作状态
|
||
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;
|
||
}
|
||
|
||
// 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;
|
||
}
|
||
|
||
// TAG图标信息
|
||
message TIcon {
|
||
// TAG图标url
|
||
string icon = 1;
|
||
}
|
||
|
||
// 剧集信息
|
||
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 UserSeason {
|
||
// 关注状态
|
||
// 0:未关注 1:已关注
|
||
string attention = 1;
|
||
}
|
||
|
||
//
|
||
message SeasonPlayer {
|
||
//
|
||
int64 aid = 1;
|
||
//
|
||
string vid = 2;
|
||
//
|
||
int64 cid = 3;
|
||
//
|
||
string from = 4;
|
||
}
|
||
|
||
// 充电排行信息
|
||
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 History {
|
||
// 播放进度分P cid
|
||
int64 cid = 1;
|
||
// 播放进度时间
|
||
// 0:未观看 -1:已看完 正整数:播放时间进度
|
||
int64 progress = 2;
|
||
}
|
||
|
||
//相关推荐项
|
||
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;
|
||
}
|
||
|
||
// 推荐理由样式
|
||
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 PackInfo {
|
||
// 礼包标题
|
||
string title = 1;
|
||
// 礼包页uri
|
||
string uri = 2;
|
||
}
|
||
|
||
//
|
||
message Notice {
|
||
//
|
||
string title = 1;
|
||
//
|
||
string desc = 2;
|
||
}
|
||
|
||
//
|
||
message Button {
|
||
// 按钮文案
|
||
string title = 1;
|
||
// 跳转uri
|
||
string uri = 2;
|
||
}
|
||
|
||
// 不喜欢原因
|
||
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;
|
||
}
|
||
|
||
// 进度条动画配置
|
||
message PlayerIcon {
|
||
// 拖动动画配置档url
|
||
string url1 = 1;
|
||
// 拖动动画配置档hash
|
||
string hash1 = 2;
|
||
// 松手动画配置档url
|
||
string url2 = 3;
|
||
// 松手动画配置档hash
|
||
string hash2 = 4;
|
||
}
|
||
|
||
// 广告
|
||
message CM {
|
||
// 广告数据(需解包)
|
||
google.protobuf.Any source_content = 1;
|
||
}
|
||
|
||
//
|
||
message AdInfo {
|
||
//
|
||
int64 creative_id = 1;
|
||
//
|
||
int64 creative_type = 2;
|
||
//
|
||
CreativeContent creative_content = 3;
|
||
//
|
||
string ad_cb = 4;
|
||
//
|
||
int32 card_type = 5;
|
||
//
|
||
bytes Extra = 6;
|
||
}
|
||
|
||
//
|
||
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;
|
||
}
|
||
|
||
// 广告配置
|
||
message CMConfig {
|
||
// 广告配置数据(需要二次解包)
|
||
google.protobuf.Any ads_control = 1;
|
||
}
|
||
|
||
//
|
||
message Asset {
|
||
//
|
||
int32 paid = 1;
|
||
//
|
||
int64 price = 2;
|
||
//
|
||
AssetMsg msg = 3;
|
||
//
|
||
AssetMsg preview_msg = 4;
|
||
}
|
||
|
||
//
|
||
message AssetMsg {
|
||
//
|
||
string desc1 = 1;
|
||
//
|
||
string desc2 = 2;
|
||
}
|
||
|
||
// 视频引用的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 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 Label {
|
||
//
|
||
int32 type = 1;
|
||
//
|
||
string uri = 2;
|
||
}
|
||
|
||
//
|
||
enum SeasonType {
|
||
Unknown = 0; //
|
||
Base = 1; //
|
||
Good = 2; //
|
||
}
|
||
|
||
// 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;
|
||
}
|
||
|
||
// 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 Section {
|
||
// 小节id
|
||
int64 id = 1;
|
||
// 小节标题
|
||
string title = 2;
|
||
// 小节类型
|
||
// 0:其他 1:正片
|
||
int64 type = 3;
|
||
// 单话列表
|
||
repeated Episode episodes = 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;
|
||
}
|
||
|
||
//
|
||
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;
|
||
}
|
||
|
||
//
|
||
message Interaction {
|
||
//
|
||
Node history_node = 1;
|
||
//
|
||
int64 graph_version = 2;
|
||
//
|
||
string msg = 3;
|
||
//
|
||
string evaluation = 4;
|
||
//
|
||
int64 mark = 5;
|
||
}
|
||
|
||
// 稿件获得荣誉信息
|
||
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 RelateTab {
|
||
//
|
||
string id = 1;
|
||
//
|
||
string title = 2;
|
||
}
|
||
|
||
//
|
||
message UpAct {
|
||
//
|
||
int64 sid = 1;
|
||
//
|
||
int64 mid = 2;
|
||
//
|
||
string title = 3;
|
||
//
|
||
string statement = 4;
|
||
//
|
||
string image = 5;
|
||
//
|
||
string url = 6;
|
||
//
|
||
string button = 7;
|
||
}
|
||
|
||
//
|
||
message Node {
|
||
//
|
||
int64 node_id = 1;
|
||
//
|
||
string title = 2;
|
||
//
|
||
int64 cid = 3;
|
||
}
|
||
|
||
// 稿件播放中数据-请求
|
||
message ViewProgressReq {
|
||
// 稿件avid
|
||
int64 aid = 1;
|
||
// 视频cid
|
||
int64 cid = 2;
|
||
// UP主mid
|
||
int64 up_mid = 3;
|
||
}
|
||
|
||
// 稿件播放中数据-回复
|
||
message ViewProgressReply {
|
||
// 视频引导信息
|
||
VideoGuide video_guide = 1;
|
||
// Chronos灰度管理
|
||
Chronos chronos = 2;
|
||
}
|
||
|
||
// Chronos灰度管理
|
||
message Chronos {
|
||
// 资源包md5
|
||
string md5 = 1;
|
||
// 资源包
|
||
string file = 2;
|
||
}
|
||
|
||
// 视频引导信息
|
||
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 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;
|
||
}
|
||
|
||
// 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 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; // 原跳转卡
|
||
}
|
||
|
||
// 标准卡
|
||
message StandardCard {
|
||
// 卡片文案
|
||
string title = 1;
|
||
// 按钮文字 未操作
|
||
string button_title = 2;
|
||
// 按钮文字 已操作
|
||
string button_selected_title = 3;
|
||
// 已操作态是否显示
|
||
bool show_selected = 4;
|
||
}
|
||
|
||
// 老运营卡片
|
||
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 CommandDm {
|
||
// 弹幕id
|
||
int64 id = 1;
|
||
// 对象视频cid
|
||
int64 oid = 2;
|
||
// 发送者mid
|
||
string mid = 3;
|
||
// 互动弹幕指令
|
||
string command = 4;
|
||
// 互动弹幕正文
|
||
string content = 5;
|
||
// 出现时间
|
||
int32 progress = 6;
|
||
// 创建时间
|
||
string ctime = 7;
|
||
// 发布时间
|
||
string mtime = 8;
|
||
// 扩展json数据
|
||
string extra = 9;
|
||
// 弹幕id str类型
|
||
string idStr = 10;
|
||
}
|
||
|
||
// 关注按钮卡片
|
||
message Attention {
|
||
// 开始时间
|
||
int32 start_time = 1;
|
||
// 结束时间
|
||
int32 end_time = 2;
|
||
// 位置x坐标
|
||
double pos_x = 3;
|
||
// 位置y坐标
|
||
double pos_y = 4;
|
||
}
|
||
|
||
// 404页信息
|
||
message CustomConfig {
|
||
// 重定向页面url
|
||
string redirect_url = 1;
|
||
}
|
||
|
||
// 免流面板定制
|
||
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;
|
||
}
|
||
|
||
// 免流子面板定制化配置
|
||
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;
|
||
}
|
||
|
||
// 短视频下载-请求
|
||
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;
|
||
}
|
||
|
||
// 短视频下载-响应
|
||
message ShortFormVideoDownloadReply {
|
||
// 是否有下载分享按钮
|
||
bool has_download_url = 1;
|
||
// 下载url
|
||
string download_url = 2;
|
||
// 文件md5
|
||
string md5 = 3;
|
||
// 文件大小(单位为Byte)
|
||
int64 size = 4;
|
||
}
|
||
|
||
// 点击播放器卡片-请求
|
||
message ClickPlayerCardReq {
|
||
// 卡片id
|
||
int64 id = 1;
|
||
// 稿件avid
|
||
int64 aid = 2;
|
||
// 视频cid
|
||
int64 cid = 3;
|
||
//操作
|
||
//0:操作 1:取消操作
|
||
int64 action = 4;
|
||
// 当前页面spm
|
||
string spmid = 5;
|
||
}
|
||
|
||
// 点击大型活动页预约-请求
|
||
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 BizFollowVideoParam {
|
||
//
|
||
int64 season_id = 1;
|
||
}
|
||
|
||
// 预约活动参数
|
||
message BizReserveActivityParam {
|
||
// 活动id
|
||
int64 activity_id = 1;
|
||
// 场景
|
||
string from = 2;
|
||
// 类型
|
||
string type = 3;
|
||
// 资源id
|
||
int64 oid = 4;
|
||
}
|
||
|
||
//
|
||
message BizJumpLinkParam {
|
||
// 链接
|
||
string url = 1;
|
||
}
|
||
|
||
message BizReserveGameParam {
|
||
// 游戏id
|
||
int64 game_id = 1;
|
||
}
|
||
|
||
// 收藏合集参数
|
||
message BizFavSeasonParam {
|
||
// 合集id
|
||
int64 season_id = 1;
|
||
}
|
||
|
||
// 合集详情页-请求
|
||
message SeasonReq {
|
||
// 合集id
|
||
int64 season_id = 1;
|
||
}
|
||
|
||
// 合集详情页-响应
|
||
message SeasonReply {
|
||
// 合集信息
|
||
UgcSeason season = 1;
|
||
}
|
||
|
||
// 播放器卡片曝光-请求
|
||
message ExposePlayerCardReq {
|
||
// 卡片类型
|
||
PlayerCardType card_type = 1;
|
||
// 稿件avid
|
||
int64 aid = 2;
|
||
// 视频cid
|
||
int64 cid = 3;
|
||
// 当前页面spm
|
||
string spmid = 4;
|
||
}
|
||
|
||
// 卡片类型
|
||
enum PlayerCardType {
|
||
PlayerCardTypeNone_VALUE = 0; //
|
||
PlayerCardTypeAttention_VALUE = 1; // 关注卡
|
||
PlayerCardTypeOperation_VALUE = 2; // 运营卡
|
||
PlayerCardTypeContract_VALUE = 3; // 契约卡
|
||
}
|
||
|
||
// 点击签订契约-请求
|
||
message AddContractReq {
|
||
// 稿件avid
|
||
int64 aid = 1;
|
||
// UP主mid
|
||
int64 up_mid = 2;
|
||
// 当前页面spm
|
||
string spmid = 3;
|
||
}
|