* fix: viewunite grpc protos from 7.41.0+ * fix typo * fix: OgvSeasons * fix: Relates * fix: pgcanymodel Stat * fix: playshared.proto * update: playerunite * fix mistake in playunite proto
2010 lines
30 KiB
Protocol Buffer
2010 lines
30 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package bilibili.app.viewunite.common;
|
|
|
|
import "bilibili/dagw/component/avatar/v1/avatar.proto";
|
|
import "bilibili/pagination/pagination.proto";
|
|
import "google/protobuf/any.proto";
|
|
|
|
//
|
|
message Activity {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string link = 3;
|
|
//
|
|
string cover = 4;
|
|
//
|
|
int32 type = 5;
|
|
//
|
|
string ab = 6;
|
|
//
|
|
string show_name = 7;
|
|
//
|
|
string picurl = 8;
|
|
//
|
|
string picurl_selected = 9;
|
|
//
|
|
string h5_link = 10;
|
|
//
|
|
string jump_mode = 11;
|
|
//
|
|
repeated Item items = 12;
|
|
}
|
|
|
|
//
|
|
message ActivityEntrance {
|
|
//
|
|
string activity_cover = 1;
|
|
//
|
|
string activity_title = 2;
|
|
//
|
|
string word_tag = 3;
|
|
//
|
|
string activity_subtitle = 4;
|
|
//
|
|
string activity_link = 5;
|
|
//
|
|
int32 activity_type = 6;
|
|
//
|
|
int32 reserve_id = 7;
|
|
//
|
|
int32 status = 8;
|
|
//
|
|
repeated User upper_list = 9;
|
|
//
|
|
map<string, string> report = 10;
|
|
}
|
|
|
|
//
|
|
message ActivityEntranceModule {
|
|
//
|
|
repeated ActivityEntrance activity_entrance = 1;
|
|
}
|
|
|
|
//
|
|
message ActivityReserve {
|
|
//
|
|
string title = 1;
|
|
//
|
|
StatInfo vt = 2;
|
|
//
|
|
StatInfo danmaku = 3;
|
|
//
|
|
ReserveButton button = 4;
|
|
}
|
|
|
|
//
|
|
message ActivityResource {
|
|
//
|
|
string mod_pool_name = 1;
|
|
//
|
|
string mod_resource_name = 2;
|
|
}
|
|
|
|
//
|
|
message ActivityTab {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
int32 type = 3;
|
|
//
|
|
string show_name = 4;
|
|
//
|
|
string picurl = 5;
|
|
//
|
|
string picurl_selected = 6;
|
|
//
|
|
string h5_link = 7;
|
|
//
|
|
string link = 8;
|
|
//
|
|
int32 link_type = 9;
|
|
//
|
|
int64 biz_key = 10;
|
|
//
|
|
string desc = 11;
|
|
//
|
|
string act_ext = 12;
|
|
//
|
|
map<string, string> report = 13;
|
|
}
|
|
|
|
//
|
|
message AggEpCard {
|
|
//
|
|
string title = 1;
|
|
//
|
|
string cover = 2;
|
|
//
|
|
string icon = 3;
|
|
//
|
|
int32 num = 4;
|
|
//
|
|
string jump_url = 5;
|
|
}
|
|
|
|
//
|
|
message AggEps {
|
|
//
|
|
repeated AggEpCard agg_ep_cards = 1;
|
|
//
|
|
int32 place_index = 2;
|
|
}
|
|
|
|
//
|
|
message AttentionRecommend {}
|
|
|
|
//
|
|
enum AttentionRelationStatus {
|
|
//
|
|
ARS_NONE = 0;
|
|
//
|
|
ARS_N0RELATION = 1;
|
|
//
|
|
ARS_FOLLOWHIM = 2;
|
|
//
|
|
ARS_FOLLOWME = 3;
|
|
//
|
|
ARS_BUDDY = 4;
|
|
//
|
|
ARS_SPECIAL = 5;
|
|
//
|
|
ARS_CANCELBLOCK = 6;
|
|
}
|
|
|
|
//
|
|
message Audio {
|
|
//
|
|
map<int64, AudioInfo> audio_info = 1;
|
|
}
|
|
|
|
//
|
|
message AudioInfo {
|
|
//
|
|
string title = 1;
|
|
//
|
|
string cover_url = 2;
|
|
//
|
|
int64 song_id = 3;
|
|
//
|
|
int64 play_count = 4;
|
|
//
|
|
int64 reply_count = 5;
|
|
//
|
|
int64 upper_id = 6;
|
|
//
|
|
string entrance = 7;
|
|
//
|
|
int64 song_attr = 8;
|
|
}
|
|
|
|
//
|
|
message BadgeInfo {
|
|
//
|
|
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;
|
|
//
|
|
string img = 9;
|
|
//
|
|
int32 type = 10;
|
|
}
|
|
|
|
//
|
|
message Banner {
|
|
//
|
|
string title = 1;
|
|
//
|
|
repeated RelateItem relate_item = 2;
|
|
}
|
|
|
|
//
|
|
message BizFavParam {
|
|
//
|
|
int64 season_id = 1;
|
|
}
|
|
|
|
//
|
|
message BizReserveActivityParam {
|
|
//
|
|
int64 activity_id = 1;
|
|
//
|
|
string from = 2;
|
|
//
|
|
string type = 3;
|
|
//
|
|
int64 oid = 4;
|
|
//
|
|
int64 reserve_id = 5;
|
|
}
|
|
|
|
//
|
|
message Button {
|
|
//
|
|
string title = 1;
|
|
//
|
|
string left_strikethrough_text = 2;
|
|
//
|
|
string type = 3;
|
|
//
|
|
string link = 4;
|
|
//
|
|
BadgeInfo badge_info = 5;
|
|
//
|
|
string sub_title = 6;
|
|
}
|
|
|
|
//
|
|
message CardBasicInfo {
|
|
//
|
|
string title = 1;
|
|
//
|
|
string desc = 2;
|
|
//
|
|
string cover = 3;
|
|
//
|
|
string uri = 4;
|
|
//
|
|
string track_id = 5;
|
|
//
|
|
string unique_id = 6;
|
|
//
|
|
int64 from_source_type = 7;
|
|
//
|
|
string from_source_id = 8;
|
|
//
|
|
int64 material_id = 9;
|
|
//
|
|
string cover_gif = 10;
|
|
//
|
|
Owner author = 11;
|
|
//
|
|
int64 id = 12;
|
|
//
|
|
string from = 13;
|
|
//
|
|
string from_spmid_suffix = 14;
|
|
//
|
|
string report_flow_data = 15;
|
|
}
|
|
|
|
//
|
|
message CardStyle {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
string name = 2;
|
|
}
|
|
|
|
//
|
|
message Celebrity {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
string name = 2;
|
|
//
|
|
string role = 3;
|
|
//
|
|
string avatar = 4;
|
|
//
|
|
string short_desc = 5;
|
|
//
|
|
string desc = 6;
|
|
//
|
|
string character_avatar = 7;
|
|
//
|
|
string link = 8;
|
|
//
|
|
int64 mid = 9;
|
|
//
|
|
int32 is_follow = 10;
|
|
//
|
|
string occupation_name = 11;
|
|
//
|
|
int32 occupation_type = 12;
|
|
//
|
|
int32 relate_attr = 13;
|
|
//
|
|
string small_avatar = 14;
|
|
//
|
|
map<string, string> report = 15;
|
|
}
|
|
|
|
//
|
|
message CharacterGroup {
|
|
//
|
|
string title = 1;
|
|
//
|
|
repeated Celebrity characters = 2;
|
|
}
|
|
|
|
//
|
|
message Characters {
|
|
//
|
|
repeated CharacterGroup groups = 1;
|
|
}
|
|
|
|
//
|
|
message CoinExtend {
|
|
//
|
|
string coin_app_zip_icon = 1;
|
|
//
|
|
string coin_app_icon_1 = 2;
|
|
//
|
|
string coin_app_icon_2 = 3;
|
|
//
|
|
string coin_app_icon_3 = 4;
|
|
//
|
|
string coin_app_icon_4 = 5;
|
|
}
|
|
|
|
//
|
|
message CombinationEp {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
int32 section_id = 2;
|
|
//
|
|
string title = 3;
|
|
//
|
|
int32 can_ord_desc = 4;
|
|
//
|
|
string more = 5;
|
|
//
|
|
repeated int32 episode_ids = 6;
|
|
//
|
|
repeated ViewEpisode episodes = 7;
|
|
//
|
|
string split_text = 8;
|
|
//
|
|
Style module_style = 9;
|
|
//
|
|
repeated SerialSeason serial_season = 10;
|
|
//
|
|
SectionData section_data = 11;
|
|
}
|
|
|
|
//
|
|
message Covenanter {}
|
|
|
|
//
|
|
message DeliveryData {
|
|
//
|
|
string title = 1;
|
|
//
|
|
Style module_style = 2;
|
|
//
|
|
string more = 3;
|
|
//
|
|
oneof data {
|
|
//
|
|
Activity activity = 4;
|
|
//
|
|
Characters characters = 5;
|
|
//
|
|
TheatreHotTopic theatre_hot_topic = 6;
|
|
//
|
|
AggEps agg_eps = 7;
|
|
}
|
|
//
|
|
int32 id = 8;
|
|
//
|
|
map<string, string> report = 9;
|
|
}
|
|
|
|
//
|
|
message Desc {
|
|
//
|
|
string info = 1;
|
|
//
|
|
string title = 2;
|
|
}
|
|
|
|
enum DescType {
|
|
//
|
|
DescTypeUnknown = 0;
|
|
//
|
|
DescTypeText = 1;
|
|
//
|
|
DescTypeAt = 2;
|
|
}
|
|
|
|
//
|
|
message DescV2 {
|
|
//
|
|
string text = 1;
|
|
//
|
|
int32 type = 2;
|
|
//
|
|
string uri = 3;
|
|
//
|
|
int64 rid = 4;
|
|
}
|
|
|
|
//
|
|
message Dimension {
|
|
//
|
|
int64 width = 1;
|
|
//
|
|
int64 height = 2;
|
|
//
|
|
int64 rotate = 3;
|
|
}
|
|
|
|
//
|
|
message DislikeReasons {
|
|
//
|
|
int64 id = 1;
|
|
//
|
|
int64 mid = 2;
|
|
//
|
|
int32 rid = 3;
|
|
//
|
|
int64 tag_id = 4;
|
|
//
|
|
string name = 5;
|
|
}
|
|
|
|
//
|
|
message FollowLayer {
|
|
//
|
|
Staff staff = 1;
|
|
//
|
|
Desc desc = 2;
|
|
//
|
|
map<string, string> report = 3;
|
|
}
|
|
|
|
//
|
|
message Headline {
|
|
//
|
|
Label label = 1;
|
|
//
|
|
string content = 2;
|
|
}
|
|
|
|
//
|
|
message HistoryNode {
|
|
//
|
|
int64 node_id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
int64 cid = 3;
|
|
}
|
|
|
|
// 荣誉 Banner
|
|
message Honor {
|
|
//
|
|
string icon = 1;
|
|
//
|
|
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;
|
|
//
|
|
string url = 9;
|
|
//
|
|
string url_text = 10;
|
|
//
|
|
HonorType type = 11;
|
|
//
|
|
HonorJumpType honor_jump_type = 12;
|
|
//
|
|
map<string, string> report = 13;
|
|
}
|
|
|
|
// 荣誉 Banner 跳转类型
|
|
enum HonorJumpType {
|
|
//
|
|
HONOR_JUMP_TYPE_UNKNOWN = 0;
|
|
//
|
|
HONOR_OPEN_URL = 1;
|
|
//
|
|
HONOR_HALF_SCREEN = 2;
|
|
}
|
|
|
|
// 荣誉类型
|
|
enum HonorType {
|
|
//
|
|
HONOR_NONE = 0;
|
|
//
|
|
PLAYLET = 1;
|
|
// 视频存在争议
|
|
ARGUE = 2;
|
|
//
|
|
NOTICE = 3;
|
|
//
|
|
GUIDANCE = 4;
|
|
// 哔哩哔哩榜
|
|
HONOR_BILI_RANK = 5;
|
|
// 周榜
|
|
HONOR_WEEKLY_RANK = 6;
|
|
// 日榜
|
|
HONOR_DAILY_RANK = 7;
|
|
//
|
|
HONOR_CHANNEL = 8;
|
|
// 音乐榜?
|
|
HONOR_MUSIC = 9;
|
|
//
|
|
HONOR_REPLY = 10;
|
|
}
|
|
|
|
//
|
|
message IconFont {
|
|
//
|
|
string name = 1;
|
|
//
|
|
string text = 2;
|
|
}
|
|
|
|
//
|
|
message Interaction {
|
|
//
|
|
int64 ep_id = 1;
|
|
//
|
|
HistoryNode history_node = 2;
|
|
//
|
|
int64 graph_version = 3;
|
|
//
|
|
string msg = 4;
|
|
//
|
|
bool is_interaction = 5;
|
|
}
|
|
|
|
//
|
|
message Item {
|
|
//
|
|
string link = 1;
|
|
//
|
|
string cover = 2;
|
|
}
|
|
|
|
//
|
|
message KingPos {
|
|
//
|
|
bool disable = 1;
|
|
//
|
|
string icon = 2;
|
|
//
|
|
KingPositionType type = 3;
|
|
//
|
|
string disable_toast = 4;
|
|
//
|
|
string checked_post = 5;
|
|
//
|
|
oneof extend {
|
|
//
|
|
LikeExtend like = 6;
|
|
//
|
|
CoinExtend coin = 7;
|
|
}
|
|
}
|
|
|
|
//
|
|
message KingPosition {
|
|
//
|
|
repeated KingPos king_pos = 1;
|
|
//
|
|
repeated KingPos extenf = 2;
|
|
}
|
|
|
|
//
|
|
enum KingPositionType {
|
|
//
|
|
KING_POS_UNSPECIFIED = 0;
|
|
//
|
|
LIKE = 1;
|
|
//
|
|
DISLIKE = 2;
|
|
//
|
|
COIN = 3;
|
|
//
|
|
FAV = 4;
|
|
//
|
|
SHARE = 5;
|
|
//
|
|
CACHE = 6;
|
|
//
|
|
DANMAKU = 7;
|
|
}
|
|
|
|
//
|
|
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 LikeComment {
|
|
//
|
|
string reply = 1;
|
|
//
|
|
string title = 2;
|
|
}
|
|
|
|
//
|
|
message LikeExtend {
|
|
//
|
|
UpLikeImg triple_like = 1;
|
|
//
|
|
string like_animation = 2;
|
|
//
|
|
PlayerAnimation player_animation = 3;
|
|
//
|
|
ActivityResource resource = 4;
|
|
}
|
|
|
|
//
|
|
message Live {
|
|
//
|
|
int64 mid = 1;
|
|
//
|
|
int64 room_id = 2;
|
|
//
|
|
string uri = 3;
|
|
//
|
|
string endpage_uri = 4;
|
|
}
|
|
|
|
// 直播预约信息
|
|
message LiveOrder {
|
|
//
|
|
int64 sid = 1;
|
|
//
|
|
string text = 2;
|
|
//
|
|
int64 live_plan_start_time = 3;
|
|
//
|
|
bool is_follow = 4;
|
|
//
|
|
int64 follow_count = 5;
|
|
}
|
|
|
|
//
|
|
message Mine {
|
|
//
|
|
double amount = 1;
|
|
//
|
|
int32 rank = 2;
|
|
//
|
|
string msg = 3;
|
|
}
|
|
|
|
//
|
|
message Module {
|
|
//
|
|
ModuleType type = 1;
|
|
//
|
|
oneof data {
|
|
//
|
|
OgvIntroduction ogv_introduction = 2;
|
|
//
|
|
UgcIntroduction ugc_introduction = 3;
|
|
//
|
|
KingPosition king_position = 4;
|
|
//
|
|
Headline head_line = 5;
|
|
//
|
|
OgvTitle ogv_title = 6;
|
|
//
|
|
Honor honor = 7;
|
|
//
|
|
UserList list = 8;
|
|
//
|
|
Staffs staffs = 9;
|
|
//
|
|
ActivityReserve activity_reserve = 10;
|
|
//
|
|
LiveOrder live_order = 11;
|
|
//
|
|
SectionData section_data = 12;
|
|
//
|
|
DeliveryData delivery_data = 13;
|
|
//
|
|
FollowLayer follow_layer = 14;
|
|
//
|
|
OgvSeasons ogv_seasons = 15;
|
|
//
|
|
UgcSeasons ugc_season = 16;
|
|
//
|
|
OgvLiveReserve ogv_live_reserve = 17;
|
|
//
|
|
CombinationEp combination_ep = 18;
|
|
//
|
|
Sponsor sponsor = 19;
|
|
//
|
|
ActivityEntranceModule activity_entrance_module = 20;
|
|
//
|
|
SerialSeason serial_season = 21;
|
|
//
|
|
Relates relates = 22;
|
|
//
|
|
Banner banner = 23;
|
|
//
|
|
Audio audio = 24;
|
|
//
|
|
LikeComment like_comment = 25;
|
|
//
|
|
AttentionRecommend attention_recommend = 26;
|
|
//
|
|
Covenanter covenanter = 27;
|
|
}
|
|
}
|
|
|
|
enum ModuleType {
|
|
//
|
|
UNKNOWN = 0;
|
|
//
|
|
OGV_INTRODUCTION = 1;
|
|
//
|
|
OGV_TITLE = 2;
|
|
//
|
|
UGC_HEADLINE = 3;
|
|
//
|
|
UGC_INTRODUCTION = 4;
|
|
//
|
|
KING_POSITION = 5;
|
|
//
|
|
MASTER_USER_LIST = 6;
|
|
//
|
|
STAFFS = 7;
|
|
//
|
|
HONOR = 8;
|
|
//
|
|
OWNER = 9;
|
|
//
|
|
PAGE = 10;
|
|
//
|
|
ACTIVITY_RESERVE = 11;
|
|
//
|
|
LIVE_ORDER = 12;
|
|
//
|
|
POSITIVE = 13;
|
|
//
|
|
SECTION = 14;
|
|
//
|
|
RELATE = 15;
|
|
//
|
|
PUGV = 16;
|
|
//
|
|
COLLECTION_CARD = 17;
|
|
//
|
|
ACTIVITY = 18;
|
|
//
|
|
CHARACTER = 19;
|
|
//
|
|
FOLLOW_LAYER = 20;
|
|
//
|
|
OGV_SEASONS = 21;
|
|
//
|
|
UGC_SEASON = 22;
|
|
//
|
|
OGV_LIVE_RESERVE = 23;
|
|
//
|
|
COMBINATION_EPISODE = 24;
|
|
//
|
|
SPONSOR = 25;
|
|
//
|
|
ACTIVITY_ENTRANCE = 26;
|
|
//
|
|
THEATRE_HOT_TOPIC = 27;
|
|
//
|
|
RELATED_RECOMMEND = 28;
|
|
//
|
|
PAY_BAR = 29;
|
|
//
|
|
BANNER = 30;
|
|
//
|
|
AUDIO = 31;
|
|
//
|
|
AGG_CARD = 32;
|
|
//
|
|
SINGLE_EP = 33;
|
|
//
|
|
LIKE_COMMENT = 34;
|
|
//
|
|
ATTENTION_RECOMMEND = 35;
|
|
//
|
|
COVENANTER = 36;
|
|
}
|
|
|
|
//
|
|
message MultiViewEp {
|
|
//
|
|
int64 ep_id =1;
|
|
}
|
|
|
|
//
|
|
message NewEp {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string desc = 3;
|
|
//
|
|
int32 is_new = 4;
|
|
//
|
|
string more = 5;
|
|
//
|
|
string cover = 6;
|
|
//
|
|
string index_show = 7;
|
|
}
|
|
|
|
//
|
|
enum OccupationType {
|
|
//
|
|
STAFF = 0;
|
|
//
|
|
CAST = 1;
|
|
}
|
|
|
|
//
|
|
message OfficialVerify {
|
|
//
|
|
int32 type = 1;
|
|
//
|
|
string desc = 2;
|
|
}
|
|
|
|
//
|
|
message OgvIntroduction {
|
|
//
|
|
string followers = 1;
|
|
//
|
|
string score = 2;
|
|
//
|
|
StatInfo play_data = 3;
|
|
}
|
|
|
|
//
|
|
message OgvLiveReserve {
|
|
//
|
|
int64 reserve_id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string icon = 3;
|
|
//
|
|
string night_icon = 4;
|
|
//
|
|
string click_button = 5;
|
|
//
|
|
string link = 6;
|
|
//
|
|
int32 follow_video_is_reserve_live = 7;
|
|
//
|
|
string bg_color = 8;
|
|
//
|
|
string night_bg_color = 9;
|
|
//
|
|
string text_color = 10;
|
|
//
|
|
string night_text_color = 11;
|
|
//
|
|
string bt_bg_color = 12;
|
|
//
|
|
string bt_frame_color = 13;
|
|
//
|
|
string night_bt_bg_color = 14;
|
|
//
|
|
string night_bt_frame_color = 15;
|
|
//
|
|
int32 active_type = 16;
|
|
//
|
|
int32 reserve_status = 17;
|
|
//
|
|
string bt_text_color = 18;
|
|
//
|
|
string night_bt_text_color = 19;
|
|
//
|
|
map<string, string> report = 20;
|
|
}
|
|
|
|
//
|
|
message OgvSeasons {
|
|
//
|
|
string title = 1;
|
|
//
|
|
repeated SerialSeason serial_season = 2;
|
|
//
|
|
SerialSeasonCoverStyle style = 3;
|
|
}
|
|
|
|
//
|
|
message OgvTitle {
|
|
//
|
|
string title = 1;
|
|
//
|
|
BadgeInfo badge_info = 2;
|
|
//
|
|
int32 is_show_btn_animation = 3;
|
|
//
|
|
int32 follow_video_is_reserve_live = 4;
|
|
//
|
|
int64 reserve_id = 5;
|
|
//
|
|
TitleDeliveryButton title_delivery_button = 6;
|
|
}
|
|
|
|
//
|
|
message Owner {
|
|
bilibili.dagw.component.avatar.v1.AvatarItem avatar = 1;
|
|
//
|
|
string url = 2;
|
|
//
|
|
string title = 3;
|
|
//
|
|
string fans = 4;
|
|
//
|
|
string arc_count = 5;
|
|
//
|
|
int32 attention = 6;
|
|
//
|
|
int32 attention_relation = 7;
|
|
//
|
|
string pub_location = 8;
|
|
//
|
|
Vip vip = 9;
|
|
//
|
|
string title_url = 10;
|
|
//
|
|
string face = 11;
|
|
//
|
|
int64 mid = 12;
|
|
//
|
|
OfficialVerify official_verify = 13;
|
|
//
|
|
Live live = 14;
|
|
//
|
|
int64 fans_num = 15;
|
|
//
|
|
repeated int64 assists = 16;
|
|
}
|
|
|
|
//
|
|
message Page {
|
|
//
|
|
int64 cid = 1;
|
|
//
|
|
string part = 2;
|
|
//
|
|
int64 duration = 3;
|
|
//
|
|
string desc = 4;
|
|
//
|
|
Dimension dimension = 5;
|
|
//
|
|
string dl_title = 6;
|
|
//
|
|
string dl_subtitle = 7;
|
|
}
|
|
|
|
//
|
|
message Pendant {
|
|
//
|
|
int32 pid = 1;
|
|
//
|
|
string name = 2;
|
|
//
|
|
string image = 3;
|
|
}
|
|
|
|
//
|
|
message PlayerAnimation {
|
|
//
|
|
string player_icon = 1;
|
|
//
|
|
string player_triple_icon = 2;
|
|
}
|
|
|
|
//
|
|
message PointActivity {
|
|
//
|
|
string tip = 1;
|
|
//
|
|
string content = 2;
|
|
//
|
|
string link = 3;
|
|
}
|
|
|
|
//
|
|
message PowerIconStyle {
|
|
//
|
|
string icon_url = 1;
|
|
//
|
|
string icon_night_url = 2;
|
|
//
|
|
int64 icon_width = 3;
|
|
//
|
|
int64 icon_height = 4;
|
|
}
|
|
|
|
//
|
|
message Rank {
|
|
//
|
|
string icon = 1;
|
|
//
|
|
string icon_night = 2;
|
|
//
|
|
string text = 3;
|
|
}
|
|
|
|
//
|
|
message RankInfo {
|
|
//
|
|
string icon_url_night = 1;
|
|
//
|
|
string icon_url_day = 2;
|
|
//
|
|
string bkg_night_color = 3;
|
|
//
|
|
string bkg_day_color = 4;
|
|
//
|
|
string font_night_color = 5;
|
|
//
|
|
string font_day_color = 6;
|
|
//
|
|
string rank_content = 7;
|
|
//
|
|
string rank_link = 8;
|
|
}
|
|
|
|
//
|
|
message Rating {
|
|
//
|
|
string score = 1;
|
|
//
|
|
int32 count = 2;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 普通视频
|
|
message RelateAVCard {
|
|
//
|
|
int64 duration = 1;
|
|
//
|
|
int64 cid = 2;
|
|
//
|
|
Dimension dimension = 3;
|
|
//
|
|
Stat stat = 4;
|
|
//
|
|
string jump_url = 5;
|
|
//
|
|
bool show_up_name = 6;
|
|
//
|
|
BadgeInfo rcmd_reason = 7;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 番剧(小卡?)
|
|
message RelateBangumiAvCard {
|
|
//
|
|
BadgeInfo badge = 1;
|
|
//
|
|
Stat stat = 2;
|
|
//
|
|
Rating rating = 3;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 番剧(大卡?)
|
|
message RelateBangumiCard {
|
|
//
|
|
int32 season_id = 1;
|
|
//
|
|
int32 season_type = 2;
|
|
//
|
|
NewEp new_ep = 3;
|
|
//
|
|
Stat stat = 4;
|
|
//
|
|
Rating rating = 5;
|
|
//
|
|
string rcmd_reason = 6;
|
|
//
|
|
BadgeInfo badge_info = 7;
|
|
//
|
|
string goto_type = 8;
|
|
//
|
|
map<string, string> report = 9;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 番剧集?
|
|
message RelateBangumiResourceCard {
|
|
//
|
|
int32 type = 1;
|
|
//
|
|
string scover = 2;
|
|
//
|
|
int32 re_type = 3;
|
|
//
|
|
string re_value = 4;
|
|
//
|
|
string corner = 5;
|
|
//
|
|
int32 card = 6;
|
|
//
|
|
string siz = 7;
|
|
//
|
|
int32 position = 8;
|
|
//
|
|
string rcmd_reason = 9;
|
|
//
|
|
string label = 10;
|
|
//
|
|
map<string, string> report = 11;
|
|
//
|
|
string goto_type = 12;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: UGC 番剧?
|
|
message RelateBangumiUgcCard {
|
|
//
|
|
BadgeInfo badge = 1;
|
|
//
|
|
Stat stat = 2;
|
|
//
|
|
Rating rating = 3;
|
|
}
|
|
|
|
// 视频详情下方推荐卡
|
|
message RelateCard {
|
|
//
|
|
RelateCardType relate_card_type = 1;
|
|
//
|
|
oneof card {
|
|
//
|
|
RelateAVCard av = 2;
|
|
//
|
|
RelateBangumiCard bangumi = 3;
|
|
//
|
|
RelateBangumiResourceCard resource = 4;
|
|
//
|
|
RelateGameCard game = 5;
|
|
//
|
|
RelateCMCard cm = 6;
|
|
//
|
|
RelateLiveCard live = 7;
|
|
//
|
|
RelateBangumiAvCard bangumi_av = 8;
|
|
//
|
|
RelatedAICard ai_card = 9;
|
|
//
|
|
RelateBangumiUgcCard bangumi_ugc = 13;
|
|
//
|
|
RelateSpecial special = 14;
|
|
}
|
|
//
|
|
RelateThreePoint three_point = 10;
|
|
//
|
|
google.protobuf.Any cm_stock = 11;
|
|
//
|
|
CardBasicInfo basic_info = 12;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型
|
|
enum RelateCardType {
|
|
//
|
|
CARD_TYPE_UNKNOWN = 0;
|
|
//
|
|
AV = 1;
|
|
//
|
|
BANGUMI = 2;
|
|
//
|
|
RESOURCE = 3;
|
|
//
|
|
GAME = 4;
|
|
//
|
|
CM = 5;
|
|
//
|
|
LIVE = 6;
|
|
//
|
|
AI_RECOMMEND = 7;
|
|
//
|
|
BANGUMI_AV = 8;
|
|
//
|
|
BANGUMI_UGC = 9;
|
|
//
|
|
SPECIAL = 10;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 广告推广
|
|
message RelateCMCard {
|
|
//
|
|
int64 aid = 1;
|
|
//
|
|
google.protobuf.Any source_content = 2;
|
|
//
|
|
int64 duration = 3;
|
|
//
|
|
Stat stat = 4;
|
|
}
|
|
|
|
// 视频详情下方推荐配置
|
|
message RelateConfig {
|
|
//
|
|
int64 valid_show_m = 1;
|
|
//
|
|
int64 valid_show_n = 2;
|
|
//
|
|
bilibili.pagination.Pagination pagination = 3;
|
|
//
|
|
bool can_load_more = 4;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: AI 推荐?
|
|
message RelatedAICard {
|
|
//
|
|
int64 aid = 1;
|
|
//
|
|
int64 duration = 2;
|
|
//
|
|
Staff up_info = 3;
|
|
//
|
|
Stat stat = 4;
|
|
//
|
|
map<string, string> report = 5;
|
|
//
|
|
string goto_type = 6;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 点击不喜欢后占位卡片
|
|
message RelateDislike {
|
|
//
|
|
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 RelateGameCard {
|
|
//
|
|
int64 reserve_status = 1;
|
|
//
|
|
string reserve_status_text = 2;
|
|
//
|
|
string reserve = 3;
|
|
//
|
|
float rating = 4;
|
|
//
|
|
string tag_name = 5;
|
|
//
|
|
RankInfo rank_info = 6;
|
|
//
|
|
Button pack_info = 7;
|
|
//
|
|
Button notice = 8;
|
|
//
|
|
PowerIconStyle power_icon_style = 9;
|
|
//
|
|
string game_rcmd_reason = 10;
|
|
//
|
|
WikiInfo wiki_info = 11;
|
|
//
|
|
BadgeInfo badge = 12;
|
|
}
|
|
|
|
//
|
|
message RelateItem {
|
|
//
|
|
string url = 1;
|
|
//
|
|
string cover = 2;
|
|
//
|
|
bool use_default_browser = 3;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 直播
|
|
message RelateLiveCard {
|
|
//
|
|
int64 icon_type = 1;
|
|
//
|
|
string area_name = 2;
|
|
//
|
|
int64 watched_show = 3;
|
|
//
|
|
int64 live_status = 4;
|
|
}
|
|
|
|
// 视频下方推荐区
|
|
message Relates {
|
|
//
|
|
repeated RelateCard cards = 1;
|
|
//
|
|
RelateConfig config = 2;
|
|
}
|
|
|
|
// 视频详情下方推荐卡子类型: 其他特殊
|
|
message RelateSpecial {
|
|
//
|
|
BadgeInfo badge = 1;
|
|
//
|
|
BadgeInfo rcmd_reason = 2;
|
|
}
|
|
|
|
// 视频详情下方推荐卡右上角三点的内容
|
|
message RelateThreePoint {
|
|
//
|
|
RelateDislike dislike = 1;
|
|
//
|
|
RelateDislike feedback = 2;
|
|
//
|
|
bool watch_later = 3;
|
|
//
|
|
string dislike_report_data = 4;
|
|
}
|
|
|
|
//
|
|
enum ReserveBizType {
|
|
//
|
|
BizTypeNone = 0;
|
|
//
|
|
BizTypeReserveActivity = 1;
|
|
//
|
|
BizTypeFavSeason = 2;
|
|
}
|
|
|
|
//
|
|
message ReserveButton {
|
|
//
|
|
bool status = 1;
|
|
//
|
|
string text = 3;
|
|
//
|
|
string selected_text = 4;
|
|
//
|
|
ReserveBizType order_type = 7;
|
|
//
|
|
oneof order_param {
|
|
//
|
|
BizReserveActivityParam reserve = 8;
|
|
//
|
|
BizFavParam fav = 9;
|
|
}
|
|
}
|
|
|
|
//
|
|
message Rights {
|
|
//
|
|
int32 allow_download = 1;
|
|
//
|
|
int32 allow_review = 2;
|
|
//
|
|
int32 can_watch = 3;
|
|
//
|
|
string resource = 4;
|
|
//
|
|
int32 allow_dm = 5;
|
|
//
|
|
int32 allow_demand = 6;
|
|
// 区域限制
|
|
int32 area_limit = 7;
|
|
}
|
|
|
|
//
|
|
message SeasonHead {
|
|
//
|
|
string title = 1;
|
|
//
|
|
string intro = 2;
|
|
//
|
|
StatInfo vt = 3;
|
|
//
|
|
StatInfo danmaku = 4;
|
|
}
|
|
|
|
//
|
|
message SeasonShow {
|
|
//
|
|
string button_text = 1;
|
|
//
|
|
string join_text = 2;
|
|
//
|
|
string rule_text = 3;
|
|
//
|
|
string checkin_text = 4;
|
|
//
|
|
string checkin_prompt = 5;
|
|
}
|
|
|
|
enum SeasonType {
|
|
//
|
|
Unknown = 0;
|
|
//
|
|
Base = 1;
|
|
//
|
|
Good = 2;
|
|
}
|
|
|
|
//
|
|
message SectionData {
|
|
//
|
|
int32 id = 1;
|
|
//
|
|
int32 section_id = 2;
|
|
//
|
|
string title = 3;
|
|
//
|
|
int32 can_ord_desc = 4;
|
|
//
|
|
string more = 5;
|
|
//
|
|
repeated int32 episode_ids = 6;
|
|
//
|
|
repeated ViewEpisode episodes = 7;
|
|
//
|
|
string split_text = 8;
|
|
//
|
|
Style module_style = 9;
|
|
//
|
|
string more_bottom_desc = 10;
|
|
//
|
|
repeated SerialSeason seasons = 11;
|
|
//
|
|
Button more_left = 12;
|
|
//
|
|
int32 type = 13;
|
|
//
|
|
map<string, string> report = 14;
|
|
}
|
|
|
|
//
|
|
message SerialSeason {
|
|
//
|
|
int32 season_id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string season_title = 3;
|
|
//
|
|
int32 is_new = 4;
|
|
//
|
|
string cover = 5;
|
|
//
|
|
string badge = 6;
|
|
//
|
|
int32 badge_type = 7;
|
|
//
|
|
BadgeInfo badge_info = 8;
|
|
//
|
|
string link = 9;
|
|
//
|
|
string resource = 10;
|
|
//
|
|
NewEp new_ep = 11;
|
|
}
|
|
|
|
enum SerialSeasonCoverStyle {
|
|
//
|
|
TITLE = 0;
|
|
//
|
|
PICTURE = 1;
|
|
}
|
|
|
|
//
|
|
message SkipRange {
|
|
//
|
|
int32 start = 1;
|
|
//
|
|
int32 end = 2;
|
|
}
|
|
|
|
//
|
|
message Sponsor {
|
|
//
|
|
int64 total = 1;
|
|
//
|
|
int64 week = 2;
|
|
//
|
|
repeated SponsorRank rank_list = 3;
|
|
//
|
|
Mine mine = 4;
|
|
//
|
|
PointActivity point_activity = 5;
|
|
//
|
|
repeated Pendant pendants = 6;
|
|
//
|
|
repeated Threshold threshold = 7;
|
|
}
|
|
|
|
//
|
|
message SponsorRank {
|
|
//
|
|
int64 uid = 1;
|
|
//
|
|
string msg = 2;
|
|
//
|
|
string uname = 3;
|
|
//
|
|
string face = 4;
|
|
//
|
|
Vip vip = 5;
|
|
}
|
|
|
|
//
|
|
message Staff {
|
|
//
|
|
int64 mid = 1;
|
|
//
|
|
int32 attention = 2;
|
|
//
|
|
string title = 3;
|
|
//
|
|
string name = 4;
|
|
//
|
|
string face = 5;
|
|
//
|
|
OfficialVerify official = 6;
|
|
//
|
|
Vip vip = 7;
|
|
//
|
|
int32 label_style = 8;
|
|
//
|
|
string fans = 9;
|
|
}
|
|
|
|
//
|
|
message Staffs {
|
|
//
|
|
repeated Staff staff = 1;
|
|
//
|
|
string title = 2;
|
|
}
|
|
|
|
//
|
|
message Stat {
|
|
// 视频观看时长
|
|
StatInfo vt = 1;
|
|
// 弹幕
|
|
StatInfo danmaku = 2;
|
|
// 回复数
|
|
int64 reply = 3;
|
|
// 收藏数
|
|
int64 fav = 4;
|
|
// 硬币数
|
|
int64 coin = 5;
|
|
// 分享数
|
|
int64 share = 6;
|
|
// 点赞数
|
|
int64 like = 7;
|
|
// 关注数
|
|
int64 follow = 8;
|
|
}
|
|
|
|
//
|
|
message StatInfo {
|
|
//
|
|
int64 value = 1;
|
|
//
|
|
string text = 2;
|
|
//
|
|
string pure_text = 3;
|
|
//
|
|
string icon = 4;
|
|
}
|
|
|
|
//
|
|
message Style {
|
|
//
|
|
int32 line = 1;
|
|
//
|
|
int32 hidden = 2;
|
|
//
|
|
repeated string show_pages = 3;
|
|
}
|
|
|
|
//
|
|
message Tag {
|
|
//
|
|
int64 tag_id = 1;
|
|
//
|
|
string name = 2;
|
|
//
|
|
string uri = 3;
|
|
//
|
|
string tag_type = 4;
|
|
}
|
|
|
|
//
|
|
message TheatreHotTopic {
|
|
//
|
|
int64 theatre_id = 1;
|
|
//
|
|
int64 theatre_set_id = 2;
|
|
//
|
|
string theatre_title = 3;
|
|
//
|
|
string background_image_url = 4;
|
|
//
|
|
string theatre_url = 5;
|
|
//
|
|
int64 hot_topic_id = 6;
|
|
// Original one is hottopicsetid, here renamed
|
|
int64 hot_topic_set_id = 7;
|
|
// Original one is hottopictitle, here renamed
|
|
string hot_topic_title = 8;
|
|
//
|
|
string hot_topic_url = 9;
|
|
//
|
|
int32 is_subscribe = 10;
|
|
//
|
|
map<string, string> report = 11;
|
|
}
|
|
|
|
//
|
|
message Threshold {
|
|
//
|
|
int32 bp = 1;
|
|
//
|
|
int32 days = 2;
|
|
//
|
|
string days_text = 3;
|
|
}
|
|
|
|
//
|
|
message TitleDeliveryButton {
|
|
//
|
|
string icon = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string link = 3;
|
|
//
|
|
map<string, string> report = 4;
|
|
}
|
|
|
|
//
|
|
message UgcEpisode {
|
|
//
|
|
int64 id = 1;
|
|
//
|
|
int64 aid = 2;
|
|
//
|
|
int64 cid = 3;
|
|
//
|
|
string title = 4;
|
|
//
|
|
string cover = 5;
|
|
//
|
|
string cover_right_text = 6;
|
|
//
|
|
Page page = 7;
|
|
//
|
|
StatInfo vt = 8;
|
|
//
|
|
StatInfo danmaku = 9;
|
|
}
|
|
|
|
//
|
|
message UgcIntroduction {
|
|
//
|
|
repeated Tag tags = 1;
|
|
//
|
|
Rating rating = 2;
|
|
//
|
|
Rank rank = 3;
|
|
//
|
|
repeated ViewMaterial bgm = 4;
|
|
//
|
|
repeated ViewMaterial sticker = 5;
|
|
//
|
|
repeated ViewMaterial video_source = 6;
|
|
//
|
|
int64 pubdate = 7;
|
|
//
|
|
repeated DescV2 desc = 8;
|
|
}
|
|
|
|
//
|
|
message UgcSeasonActivity {
|
|
//
|
|
int32 type = 1;
|
|
//
|
|
int64 oid = 2;
|
|
//
|
|
int64 activity_id = 3;
|
|
//
|
|
string title = 4;
|
|
//
|
|
string intro = 5;
|
|
//
|
|
int32 day_count = 6;
|
|
//
|
|
int32 user_count = 7;
|
|
//
|
|
int64 join_deadline = 8;
|
|
//
|
|
int64 activity_deadline = 9;
|
|
//
|
|
int32 checkin_view_time = 10;
|
|
//
|
|
bool new_activity = 11;
|
|
//
|
|
UserActivity user_activity = 12;
|
|
//
|
|
SeasonShow season_show = 13;
|
|
}
|
|
|
|
//
|
|
message UgcSeasons {
|
|
//
|
|
int64 id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
string cover = 3;
|
|
//
|
|
string supernatant_title = 4;
|
|
//
|
|
repeated UgcSection section = 5;
|
|
//
|
|
string union_title = 6;
|
|
//
|
|
SeasonHead head = 7;
|
|
//
|
|
int64 ep_count = 8;
|
|
//
|
|
int32 season_type = 9;
|
|
//
|
|
UgcSeasonActivity activity = 10;
|
|
//
|
|
repeated string season_ability = 11;
|
|
//
|
|
string season_title = 12;
|
|
}
|
|
|
|
//
|
|
message UgcSection {
|
|
//
|
|
int64 id = 1;
|
|
//
|
|
string title = 2;
|
|
//
|
|
int64 type = 3;
|
|
//
|
|
repeated UgcEpisode episodes = 4;
|
|
}
|
|
|
|
//
|
|
message UpLikeImg {
|
|
//
|
|
string pre_img = 1;
|
|
//
|
|
string suc_img = 2;
|
|
//
|
|
string content = 3;
|
|
//
|
|
int64 type = 4;
|
|
}
|
|
|
|
//
|
|
message User {
|
|
//
|
|
int64 mid = 1;
|
|
//
|
|
string name = 2;
|
|
//
|
|
string face = 3;
|
|
//
|
|
int64 follower = 4;
|
|
}
|
|
|
|
//
|
|
message UserActivity {
|
|
//
|
|
int32 user_state = 1;
|
|
//
|
|
int64 last_checkin_date = 2;
|
|
//
|
|
int32 checkin_today = 3;
|
|
//
|
|
int32 user_day_count = 4;
|
|
//
|
|
int32 user_view_time = 5;
|
|
//
|
|
string portrait = 6;
|
|
}
|
|
|
|
//
|
|
message UserList {
|
|
//
|
|
repeated User list = 1;
|
|
//
|
|
string title = 2;
|
|
}
|
|
|
|
//
|
|
message UserStatus {
|
|
//
|
|
int32 show = 1;
|
|
//
|
|
int32 follow = 2;
|
|
}
|
|
|
|
//
|
|
message ViewEpisode {
|
|
//
|
|
int64 ep_id = 1;
|
|
//
|
|
string badge = 2;
|
|
//
|
|
int32 badge_type = 3;
|
|
//
|
|
BadgeInfo badge_info = 4;
|
|
//
|
|
int32 duration = 5;
|
|
//
|
|
int32 status = 6;
|
|
//
|
|
string cover = 7;
|
|
//
|
|
int64 aid = 8;
|
|
//
|
|
string title = 9;
|
|
//
|
|
string movie_title = 10;
|
|
//
|
|
string subtitle = 11;
|
|
//
|
|
string long_title = 12;
|
|
//
|
|
string toast_title = 13;
|
|
//
|
|
int64 cid = 14;
|
|
//
|
|
string from = 15;
|
|
//
|
|
string share_url = 16;
|
|
//
|
|
string share_copy = 17;
|
|
//
|
|
string short_link = 18;
|
|
//
|
|
string vid = 19;
|
|
//
|
|
string release_date = 20;
|
|
//
|
|
Dimension dimension = 21;
|
|
//
|
|
Rights rights = 22;
|
|
//
|
|
Interaction interaction = 23;
|
|
//
|
|
string bvid = 24;
|
|
//
|
|
int32 archive_attr = 25;
|
|
//
|
|
string link = 26;
|
|
//
|
|
string link_type = 27;
|
|
//
|
|
string bmid = 28;
|
|
//
|
|
int64 pub_time = 29;
|
|
//
|
|
int32 pv = 30;
|
|
//
|
|
int32 ep_index = 31;
|
|
//
|
|
int32 section_index = 32;
|
|
//
|
|
repeated Staff up_infos = 33;
|
|
//
|
|
Staff up_info = 34;
|
|
//
|
|
string dialog_type = 35;
|
|
//
|
|
string toast_type = 36;
|
|
//
|
|
repeated MultiViewEp multi_view_eps = 37;
|
|
//
|
|
bool is_sub_view = 38;
|
|
//
|
|
bool is_view_hide = 39;
|
|
//
|
|
string jump_link = 40;
|
|
//
|
|
Stat stat_for_unity = 41;
|
|
//
|
|
map<string, string> report = 42;
|
|
}
|
|
|
|
//
|
|
message ViewMaterial {
|
|
//
|
|
int64 oid = 1;
|
|
//
|
|
int64 mid = 2;
|
|
//
|
|
string title = 3;
|
|
//
|
|
string author = 4;
|
|
//
|
|
string jump_url = 5;
|
|
}
|
|
|
|
//
|
|
message Vip {
|
|
//
|
|
int32 type = 1;
|
|
//
|
|
int32 vip_status = 2;
|
|
//
|
|
int32 theme_type = 3;
|
|
//
|
|
VipLabel label = 4;
|
|
//
|
|
int32 is_vip = 5;
|
|
}
|
|
|
|
//
|
|
message VipLabel {
|
|
//
|
|
string path = 1;
|
|
//
|
|
string text = 2;
|
|
//
|
|
string label_theme = 3;
|
|
}
|
|
|
|
//
|
|
message WikiInfo {
|
|
//
|
|
string wiki_label = 1;
|
|
//
|
|
string wiki_url = 2;
|
|
}
|