diff --git a/grpc_api/bilibili/app/dynamic/v2/dynamic.proto b/grpc_api/bilibili/app/dynamic/v2/dynamic.proto index 215d357..df13a44 100644 --- a/grpc_api/bilibili/app/dynamic/v2/dynamic.proto +++ b/grpc_api/bilibili/app/dynamic/v2/dynamic.proto @@ -45,67 +45,835 @@ service Dynamic { rpc DynSpace(DynSpaceReq) returns (DynSpaceRsp); // 未登录页分区UP主推荐 rpc DynUnLoginRcmd(DynRcmdReq) returns (DynRcmdReply); + // + rpc DynServerDetails (DynServerDetailsReq) returns (DynServerDetailsReply); + // + rpc DynSearch(DynSearchReq) returns (DynSearchReply); + // + rpc SetDecision(SetDecisionReq) returns (NoReply); + // + rpc AlumniDynamics(AlumniDynamicsReq) returns (AlumniDynamicsReply); + // + rpc CampusRcmd(CampusRcmdReq) returns (CampusRcmdReply); + // + rpc SubscribeCampus(SubscribeCampusReq) returns (NoReply); + // + rpc SetRecentCampus(SetRecentCampusReq) returns (NoReply); + // + rpc DynTab(DynTabReq) returns (DynTabReply); + // + rpc SchoolSearch(SchoolSearchReq) returns (SchoolSearchReply); + // + rpc SchoolRecommend(SchoolRecommendReq) returns (SchoolRecommendReply); + // + rpc DynSpaceSearchDetails(DynSpaceSearchDetailsReq) returns (DynSpaceSearchDetailsReply); + // + rpc OfficialAccounts(OfficialAccountsReq) returns (OfficialAccountsReply); + // + rpc OfficialDynamics(OfficialDynamicsReq) returns (OfficialDynamicsReply); + // + rpc CampusRedDot(CampusRedDotReq) returns (CampusRedDotReply); + // + rpc CampusRcmdFeed(CampusRcmdFeedReq) returns (CampusRcmdFeedReply); + // + rpc TopicSquare(TopicSquareReq) returns (TopicSquareReply); + // + rpc TopicList(TopicListReq) returns (TopicListReply); + // + rpc CampusMateLikeList(CampusMateLikeListReq) returns (CampusMateLikeListReply); + // + rpc CampusFeedback(CampusFeedbackReq) returns (CampusFeedbackReply); + // + rpc CampusBillboard(CampusBillBoardReq) returns (CampusBillBoardReply); + // + rpc CampusBillboardInternal(CampusBillboardInternalReq) returns (CampusBillBoardReply); + // + rpc CampusTopicRcmdFeed(CampusTopicRcmdFeedReq) returns (CampusTopicRcmdFeedReply); } -// 空请求 -message NoReq {} +// 综合页请求广告所需字段,由客户端-网关透传 +message AdParam { + // 综合页请求广告所需字段,由客户端-网关透传 + string ad_extra = 1; + // request_id + string request_id = 2; +} -// 空响应 -message NoReply {} +// +enum AddButtonBgStyle { + fill = 0; // 默认填充 + stroke = 1; // 描边 + gray = 2; // 置灰 +} -// 动态视频页-请求 -message DynVideoReq { - // 透传 update_baseline - string update_baseline = 1; - // 透传 history_offset +// 按钮类型 +enum AddButtonType { + bt_none = 0; // 占位 + bt_jump = 1; // 跳转 + bt_button = 2; // 按钮 +} + +// 动态-附加卡-通用卡 +message AdditionCommon { + // 头部说明文案 + string head_text = 1; + // 标题 + string title = 2; + // 展示图 + string image_url = 3; + // 描述文字1 + string desc_text_1 = 4; + // 描述文字2 + string desc_text_2 = 5; + // 点击跳转链接 + string url = 6; + // 按钮 + AdditionalButton button = 7; + // 头部icon + string head_icon = 8; + // style + ImageStyle style = 9; + // 动态本身的类型 type + string type = 10; + // 附加卡类型 + string card_type = 11; // ogv manga +} + +// 动态-附加卡-电竞卡 +message AdditionEsport { + // 电竞类型 + EspaceStyle style = 1; + oneof item { + // moba类 + AdditionEsportMoba addition_esport_moba = 2; + } + // 动态本身的类型 type + string type = 3; + // 附加卡类型 + string card_type = 4; // ogv manga +} + +// 动态-附加卡-电竞卡-moba类 +message AdditionEsportMoba { + // 头部说明文案 + string head_text = 1; + // 标题 + string title = 2; + // 战队列表 + repeated MatchTeam match_team = 3; + // 比赛信息 + AdditionEsportMobaStatus addition_esport_moba_status = 4; + // 卡片跳转 + string uri = 5; + // 按钮 + AdditionalButton button = 6; + // 副标题 + string sub_title = 7; + // 动态本身的类型 type + string type = 8; + // 附加卡类型 + string card_type = 9; + // 附加卡图标 + string head_icon = 10; +} + +// 动态-附加卡-电竞卡-moba类-比赛信息 +message AdditionEsportMobaStatus { + // 文案类 + repeated AdditionEsportMobaStatusDesc addition_esport_moba_status_desc = 1; + // 比赛状态文案 + string title = 2; + // 比赛状态状态 + int32 status = 3; + // 日间色值 + string color = 4; + // 夜间色值 + string night_color = 5; +} + +// 动态-附加卡-电竞卡-moba类-比赛信息-文案类 +message AdditionEsportMobaStatusDesc { + // 文案 + string title = 1; + // 日间色值 + string color = 2; + // 夜间色值 + string night_color = 3; +} + +// 动态-附加卡-商品卡 +message AdditionGoods { + // 推荐文案 + string rcmd_desc = 1; + // 商品信息 + repeated GoodsItem goods_items = 2; + // 附加卡类型 + string card_type = 3; + // 头部icon + string icon = 4; + // 商品附加卡整卡跳转 + string uri = 5; + // 商品类型 + // 1:淘宝 2:会员购,注:实际是获取的goods_items里面的第一个source_type + int32 source_type = 6; +} + +// up主预约发布卡 +message AdditionUP { + // 标题 + string title = 1; + // 高亮文本,描述文字1 + HighlightText desc_text_1 = 2; + // 描述文字2 + string desc_text_2 = 3; + // 点击跳转链接 + string url = 4; + // 按钮 + AdditionalButton button = 5; + // 附加卡类型 + string card_type = 6; + // 预约人数(用于预约人数变化) + int64 reserve_total = 7; + // 活动皮肤 + AdditionalActSkin act_skin = 8; + // 预约id + int64 rid = 9; + // + int32 lottery_type = 10; + // + HighlightText desc_text3 = 11; + // + int64 up_mid = 12; + // + AdditionUserInfo user_info = 13; + // + string dynamic_id = 14; + // + bool show_text2 = 15; + // + int64 dyn_type = 16; + // + string business_id = 17; +} + +// 动态-附加卡-UGC视频附加卡 +message AdditionUgc { + // 说明文案 + string head_text = 1; + // 稿件标题 + string title = 2; + // 封面 + string cover = 3; + // 描述文字1 + string desc_text_1 = 4; + // 描述文字2 + string desc_text_2 = 5; + // 接秒开 + string uri = 6; + // 时长 + string duration = 7; + // 标题支持换行-标题支持单行和双行,本期不支持填充up昵称,支持双行展示,字段默认为true + bool line_feed = 8; + // 附加卡类型 + string card_type = 9; +} + +// +message AdditionUserInfo { + // + string name = 1; + // + string face = 2; +} + +// 动态-附加卡-投票 +message AdditionVote { + // 封面图 + string image_url = 1; + // 标题 + string title = 2; + // 展示项1 + string text_1 = 3; + // button文案 + string button_text = 4; + // 点击跳转链接 + string url = 5; +} + +// 动态模块-投票 +message AdditionVote2 { + // 投票类型 + AdditionVoteType addition_vote_type = 1; + // 投票ID + int64 vote_id = 2; + // 标题 + string title = 3; + // 已过期: xxx人参与· 投票已过期。button 展示去查看 + // 未过期: xxx人参与· 剩xx天xx时xx分。button展示去投票 + string label = 4; + // 剩余时间 + int64 deadline = 5; + // 生效文案 + string open_text = 6; + // 过期文案 + string close_text = 7; + // 已投票 + string voted_text = 8; + // 投票状态 + AdditionVoteState state = 9; + // 投票信息 + oneof item { + // + AdditionVoteWord addition_vote_word = 10; + // + AdditionVotePic addition_vote_pic = 11; + // + AdditionVoteDefaule addition_vote_defaule = 12; + } + // 业务类型 + // 0:动态投票 1:话题h5组件 + int32 biz_type = 13; + // 投票总人数 + int64 total = 14; + // 附加卡类型 + string card_type = 15; + // 异常提示 + string tips = 16; + // 跳转地址 + string uri = 17; + // 是否投票 + bool is_voted = 18; + // 投票最多多选个数,单选为1 + int32 choice_cnt = 19; + // 是否默认选中分享到动态 + bool defaule_select_share = 20; +} + +// 外露投票 +message AdditionVoteDefaule { + // 图片 多张 + repeated string cover = 1; +} + +// 外露图片类型 +message AdditionVotePic { + // 图片投票详情 + repeated AdditionVotePicItem item = 1; +} + +// 图片投票详情 +message AdditionVotePicItem { + // 选项索引,从1开始 + int32 opt_idx = 1; + // 图片 + string cover = 2; + // 选中状态 + bool is_vote = 3; + // 人数 + int32 total = 4; + // 占比 + double persent = 5; + // 标题文案 + string title = 6; + // 是否投票人数最多的选项 + bool is_max_option = 7; +} + +// 投票状态 +enum AdditionVoteState { + addition_vote_state_none = 0; // + addition_vote_state_open = 1; // + addition_vote_state_close = 2; // +} + +// 投票类型 +enum AdditionVoteType { + addition_vote_type_none = 0; // + addition_vote_type_word = 1; // + addition_vote_type_pic = 2; // + addition_vote_type_default = 3; // +} + +// 外露文字类型 +message AdditionVoteWord { + // 外露文字投票详情 + repeated AdditionVoteWordItem item = 1; +} + +// 外露文字投票详情 +message AdditionVoteWordItem { + // 选项索引,从1开始 + int32 opt_idx = 1; + // 文案 + string title = 2; + // 选中状态 + bool is_vote = 3; + // 人数 + int32 total = 4; + // 占比 + double persent = 5; + // 是否投票人数最多的选项 + bool is_max_option = 6; +} + +// 活动皮肤 +message AdditionalActSkin { + // 动画SVGA资源 + string svga = 1; + // 动画SVGA最后一帧图片资源 + string last_image = 2; + // 动画播放次数 + int64 play_times = 3; +} + +// 动态-附加卡-按钮 +message AdditionalButton { + // 按钮类型 + AddButtonType type = 1; + // jump-跳转样式 + AdditionalButtonStyle jump_style = 2; + // jump-跳转链接 + string jump_url = 3; + // button-未点样式 + AdditionalButtonStyle uncheck = 4; + // button-已点样式 + AdditionalButtonStyle check = 5; + // button-当前状态 + AdditionalButtonStatus status = 6; + // 按钮点击样式 + AdditionalButtonClickType click_type = 7; +} + +// 附加卡按钮点击类型 +enum AdditionalButtonClickType { + click_none = 0; // 通用按钮 + click_up = 1; // 预约卡按钮 +} + +message AdditionalButtonInteractive { + // 是否弹窗 + string popups = 1; + // 弹窗确认文案 + string confirm = 2; + // 弹窗取消文案 + string cancel = 3; + // + string desc = 4; +} + +// +message AdditionalButtonShare { + // + int32 show = 1; + // + string icon = 2; + // + string text = 3; +} + +// 附加卡按钮状态 +enum AdditionalButtonStatus { + none = 0; // + uncheck = 1; // + check = 2; // +} + +// 动态-附加卡-按钮样式 +message AdditionalButtonStyle { + // icon + string icon = 1; + // 文案 + string text = 2; + // 按钮点击交互 + AdditionalButtonInteractive interactive = 3; + // 当前按钮填充样式 + AddButtonBgStyle bg_style = 4; + // toast文案, 当disable=1时有效 + string toast = 5; + // 当前按钮样式, + // 0:高亮 1:置灰(按钮不可点击) + DisableState disable = 6; + // + AdditionalButtonShare share = 7; +} + +// 动态-附加卡-番剧卡 +message AdditionalPGC { + // 头部说明文案 + string head_text = 1; + // 标题 + string title = 2; + // 展示图 + string image_url = 3; + // 描述文字1 + string desc_text_1 = 4; + // 描述文字2 + string desc_text_2 = 5; + // 点击跳转链接 + string url = 6; + // 按钮 + AdditionalButton button = 7; + // 头部icon + string head_icon = 8; + // style + ImageStyle style = 9; + // 动态本身的类型 type + string type = 10; +} + +// +enum AdditionalShareShowType { + st_none = 0; // + st_show = 1; // +} + +// 枚举-动态附加卡 +enum AdditionalType { + additional_none = 0; // 占位 + additional_type_pgc = 1; // 附加卡-追番 + additional_type_goods = 2; // 附加卡-商品 + additional_type_vote = 3; // 附加卡投票 + additional_type_common = 4; // 附加通用卡 + additional_type_esport = 5; // 附加电竞卡 + additional_type_up_rcmd = 6; // 附加UP主推荐卡 + additional_type_ugc = 7; // 附加卡-ugc + additional_type_up_reservation = 8; // UP主预约卡 +} + +// +message AlumniDynamicsReply { + // + repeated DynamicItem list = 1; + // + string toast = 2; +} + +// +message AlumniDynamicsReq { + // + int64 campus_id = 1; + // + int32 first_time = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + int32 local_time = 4; + // + int32 page = 5; +} + +// +message CampusBannerInfo { + // + string image = 1; + // + string jump_url = 2; +} + +// +message CampusBillBoardReply { + // + string title = 1; + // + string help_uri = 2; + // + string campus_name = 3; + // + int64 build_time = 4; + // + string version_code = 5; + // + repeated OfficialItem list = 6; + // + string share_uri = 7; + // + int32 bind_notice = 8; + // + string update_toast = 9; + // + int64 campus_id = 10; +} + +// +message CampusBillBoardReq { + // + int64 campus_id = 1; + // + string version_code = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; +} + +// +message CampusBillboardInternalReq { + // + int64 mid = 1; + // + int64 campus_id = 2; + // + string version_code = 3; +} + +// +message CampusFeedbackInfo { + // + int32 biz_type = 1; + // + int64 biz_id = 2; + // + int64 campus_id = 3; + // + string reason = 4; +} + +// +message CampusFeedbackReply { + // + string message = 1; +} + +// +message CampusFeedbackReq { + // + repeated CampusFeedbackInfo infos = 1; + // + int32 from = 2; +} + +// +message CampusInfo { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + string desc = 3; + // + int64 online = 4; +} + +// +message CampusLabel { + // + string text = 1; + // + string url = 2; + // + string desc = 3; +} + +// +message CampusMateLikeListReply { + // + repeated ModuleAuthor list = 1; +} + +// +message CampusMateLikeListReq { + // + int64 dynamic_id = 1; +} + +// +message CampusNoticeInfo { + // + string title = 1; + // + string desc = 2; + // + CampusLabel button = 3; +} + +// +message CampusRcmdFeedReply { + // + repeated DynamicItem list = 1; + // + string toast = 2; + // + GuideBarInfo guide_bar = 3; + // + bool has_more = 4; + // + bool update = 5; +} + +// +message CampusRcmdFeedReq { + // + int64 campus_id = 1; + // + int32 first_time = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + int32 local_time = 4; + // + int32 page = 5; + // + int32 scroll = 6; + // + string view_dyn_id = 7; +} + +// +message CampusRcmdInfo { + // + string title = 1; + // + repeated CampusRcmdItem items = 2; +} + +// +message CampusRcmdItem { + // + string title = 1; + // + repeated RcmdItem items = 2; + // + int64 campus_id = 3; + // + CampusLabel entry_label = 4; +} + +// +message CampusRcmdReply { + // + CampusRcmdTop top = 1; + // + CampusRcmdInfo rcmd = 2; + // + CampusTop campus_top = 3; + // + int32 page_type = 4; +} + +// +message CampusRcmdReq { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + double lat = 3; + // + double lng = 4; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5; +} + +// +message CampusRcmdTop { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + string title = 3; + // + string desc = 4; + // + int32 type = 5; + // + RcmdTopButton button = 6; + // + CampusLabel switch_label = 7; + // + CampusLabel notice_label = 8; + // + string desc2 = 9; + // + string desc3 = 10; + // + CampusLabel invite_label = 11; + // + CampusLabel reserve_label = 12; + // + int64 reserve_number = 13; +} + +// +message CampusRedDotReply { + // + int32 red_dot = 1; +} + +// +message CampusRedDotReq { + // + int64 campus_id = 1; +} + +// +message CampusShowTabInfo { + // + string name = 1; + // + string url = 2; + // + int32 type = 3; + // + int32 red_dot = 4; +} + +// +enum CampusTabType { + campus_none = 0; // + campus_school = 1; // + campus_dynamic = 2; // + campus_account = 3; // + campus_billboard = 4; // + campus_topic = 5; // +} + +// +message CampusTop { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + repeated CampusShowTabInfo tabs = 3; + // + CampusLabel switch_label = 4; + // + string title = 5; + // + repeated CampusBannerInfo banner = 6; + // + CampusLabel invite_label = 7; + // + CampusNoticeInfo notice = 8; + // + TopicSquareInfo topic_square = 9; + // + string campus_badge = 10; + // + string campus_background = 11; +} + +// +message CampusTopicRcmdFeedReply { + // + repeated DynamicItem list = 1; + // + string toast = 2; + // + bool has_more = 3; + // + string offset = 4; +} + +// +message CampusTopicRcmdFeedReq { + // + int64 campus_id = 1; + // string offset = 2; - // 向下翻页数 - int32 page = 3; - // 刷新方式 - // 1:向上刷新 2:向下翻页 - Refresh refresh_type = 4; - // 秒开参数 新版本废弃,统一使用player_args - PlayurlParam playurl_param = 5; - // 综合页当前更新的最大值 - string assist_baseline = 6; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 7; - // 来源 - string from = 8; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; -} - -// 刷新方式 -enum Refresh { - // 刷新列表 - refresh_new = 0; - // 请求历史 - refresh_history = 1; -} - -// 秒开通用参数 -message PlayurlParam { - // 清晰度 - int32 qn = 1; - // 流版本 - int32 fnver = 2; - // 流类型 - int32 fnval = 3; - // 是否强制使用域名 - int32 force_host = 4; - // 是否4k - int32 fourk = 5; -} - -// 动态视频页-响应 -message DynVideoReply { - // 卡片列表 - CardVideoDynList dynamic_list = 1; - // 动态卡片 - CardVideoUpList video_up_list = 2; - // 视频页-我的追番 - CardVideoFollowList video_follow_list = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + int32 local_time = 4; } // 动态卡片列表 @@ -122,273 +890,81 @@ message CardVideoDynList { bool has_more = 5; } -// 动态卡片 -message DynamicItem { - // 动态卡片类型 - DynamicType card_type = 1; - // 转发类型下,源卡片类型 - DynamicType item_type = 2; - // 模块内容 - repeated Module modules = 3; - // 操作相关字段 - Extend extend = 4; - // 该卡片下面是否含有折叠卡 - int32 has_fold = 5; - // 透传到客户端的埋点字段。 - string server_info = 6; +// 视频页-我的追番 +message CardVideoFollowList { + // 查看全部(跳转链接) + string view_all_link = 1; + // 追番列表 + repeated FollowListItem list = 2; } -// DynamicType 枚举-动态类型 -enum DynamicType { - // 占位 - dyn_none = 0; - // 转发 - forward = 1; - // 稿件: ugc、小视频、短视频、UGC转PGC - av = 2; - // pgc:番剧、PGC番剧、PGC电影、PGC电视剧、PGC国创、PGC纪录片 - pgc = 3; - // 付费更新批次 - courses = 4; - // 折叠 - fold = 5; - // 纯文字 - word = 6; - // 图文 - draw = 7; - // 专栏 原仅phone端 - article = 8; - // 音频 原仅phone端 - music = 9; - // 通用卡 方形 - common_square = 10; - // 通用卡 竖形 - common_vertical = 11; - // 直播卡 只有转发态 - live = 12; - // 播单 原仅phone端 只有转发态 - medialist = 13; - // 付费更新批次 只有转发态 - courses_season = 14; - // 广告卡 - ad = 15; - // 小程序卡 - applet = 16; - // 订阅卡 - subscription = 17; - // 直播推荐卡 - live_rcmd = 18; - // 通栏 - banner = 19; - // 合集卡 - ugc_season = 20; - // 新订阅卡 - subscription_new = 21; +// 视频页-最近访问 +message CardVideoUpList { + // 标题展示文案 + string title = 1; + // up主列表 + repeated UpListItem list = 2; + // 服务端生成的透传上报字段 + string footprint = 3; + // 直播数 + int32 show_live_num = 4; + // 跳转label + UpListMoreLabel more_label = 5; + // 标题开关(综合页) + int32 title_switch = 6; + // 是否展示右上角查看更多label + bool show_more_label = 7; + // 是否在快速消费页查看更多按钮 + bool show_in_personal = 8; + // 是否展示右侧查看更多按钮 + bool show_more_button = 9; } -// Module 动态模块 -message Module { - // 类型 - DynModuleType module_type = 1; - oneof module_item { - // 用户模块 1 - ModuleAuthor module_author = 2; - // 争议黄条模块 2 - ModuleDispute module_dispute = 3; - // 动态正文模块 3 - ModuleDesc module_desc = 4; - // 动态卡模块 4 - ModuleDynamic module_dynamic = 5; - // 点赞外露(废弃) - ModuleLikeUser module_likeUser = 6; - // 小卡模块 6 - ModuleExtend module_extend = 7; - // 大卡模块 5 - ModuleAdditional module_additional = 8; - // 计数模块 8 - ModuleStat module_stat = 9; - // 折叠模块 9 - ModuleFold module_fold = 10; - // 评论外露(废弃) - ModuleComment module_comment = 11; - // 外露交互模块(点赞、评论) 7 - ModuleInteraction module_interaction = 12; - // 转发卡-原卡用户模块 - ModuleAuthorForward module_author_forward = 13; - // 广告卡 - ModuleAd module_ad = 14; - // 通栏 - ModuleBanner module_banner = 15; - // 获取物料失败 - ModuleItemNull module_item_null = 16; - // 分享组件 - ModuleShareInfo module_share_info = 17; - // 相关推荐模块 - ModuleRecommend module_recommend = 18; - // 顶部模块 - ModuleTop module_top = 19; - // 底部模块 - ModuleButtom module_buttom = 20; - // 转发卡计数模块 - ModuleStat module_stat_forward = 21; - } +// +message ChannelInfo { + // + int64 channel_id = 1; + // + string channel_name = 2; + // + string desc = 3; + // + bool is_atten = 4; + // + string type_icon = 5; + // + repeated RcmdItem items = 6; + // + string icon = 7; + // + string jump_uri = 8; } -// 动态-发布人模块 -message ModuleAuthor { +// 评论外露展示项 +message CmtShowItem { // 用户mid - int64 mid = 1; - // 时间标签 - string ptime_label_text = 2; - // 用户详情 - UserInfo author = 3; - // 装扮卡片 - DecorateCard decorate_card = 4; - // 点击跳转链接 - string uri = 5; - // 右侧操作区域 - 三点样式 - repeated ThreePointItem tp_list = 6; - // 右侧操作区域样式枚举 - ModuleAuthorBadgeType badge_type = 7; - // 右侧操作区域 - 按钮样式 - ModuleAuthorBadgeButton badge_button = 8; - // 是否关注 - // 1:关注 0:不关注 默认0,注:点赞列表使用,其他场景不使用该字段 - int32 attend = 9; - // 关注状态 - Relation relation = 10; - // 右侧操作区域 - 提权样式 - Weight weight = 11; - // 是否展示关注 - bool show_follow = 12; - // 是否置顶 - bool is_top = 13; -} - -// 用户信息 -message UserInfo { - // 用户mid - int64 mid = 1; + int64 uid = 1; // 用户昵称 - string name = 2; - // 用户头像 - string face = 3; - // 认证信息 - OfficialVerify official = 4; - // 大会员信息 - VipInfo vip = 5; - // 直播信息 - LiveInfo live = 6; - // 空间页跳转链接 - string uri = 7; - // 挂件信息 - UserPendant pendant = 8; - // 认证名牌 - Nameplate nameplate = 9; - // 用户等级 - int32 level = 10; - // 用户简介 - string sign = 11; + string uname = 2; + // 点击跳转链接 + string uri = 3; + // 评论内容 + string comment = 4; } -// 认证信息 -message OfficialVerify { - // 127:未认证 0:个人 1:机构 - int32 type = 1; - // 认证描述 - string desc = 2; - // 是否关注 - int32 is_atten = 3; +// 精选评论区 +message CommentDetail { + // 该功能能不能用 + bool can_modify = 1; + // up关闭评论区功能 1允许关闭 0允许开放 + // 精选评论区功能 1允许停止评论精选 0允许评论精选 + int64 status = 2; } -// 大会员信息 -message VipInfo { - // 大会员类型 - int32 Type = 1; - // 大会员状态 - int32 status = 2; - // 到期时间 - int64 due_date = 3; - // 标签 - VipLabel label = 4; - // 主题 - int32 theme_type = 5; - // 大会员角标 - // 0:无角标 1:粉色大会员角标 2:绿色小会员角标 - int32 avatar_subscript = 6; - // 昵称色值,可能为空,色值示例:#FFFB9E60 - string nickname_color = 7; -} - -// 大会员标签 -message VipLabel { - // 图片地址 - string path = 1; - // 文本值 - string text = 2; - // 对应颜色类型 - string label_theme = 3; -} - -// 直播信息 -message LiveInfo { - // 是否在直播 - // 0:未直播 1:正在直播 (废弃) - int32 is_living = 1; - // 跳转链接 - string uri = 2; - // 直播状态 - LiveState live_state = 3; -} - -// 直播状态 -enum LiveState { - // 未直播 - live_none = 0; - // 直播中 - live_live = 1; - // 轮播中 - live_rotation = 2; -} - -// 头像挂件信息 -message UserPendant { - // pid - int64 pid = 1; - // 名称 - string name = 2; - // 图片链接 - string image = 3; - // 有效期 - int64 expire = 4; -} - -// 认证名牌 -message Nameplate { - // nid - int64 nid = 1; - // 名称 - string name = 2; - // 图片地址 - string image = 3; - // 小图地址 - string image_small = 4; - // 等级 - string level = 5; - // 获取条件 - string condition = 6; -} - -// 装扮卡片 -message DecorateCard { - // 装扮卡片id - int64 id = 1; - // 装扮卡片链接 - string card_url = 2; - // 装扮卡片点击跳转链接 - string jump_url = 3; - // 粉丝样式 - DecoCardFan fan = 4; +// +enum CoverIcon { + cover_icon_none = 0; // 占位 啥都不展示 + cover_icon_play = 1; // 播放icon } // 装扮卡片-粉丝勋章信息 @@ -403,24 +979,39 @@ message DecoCardFan { string color = 4; } -// 动态-争议小黄条模块 -message ModuleDispute { - // 标题 - string title = 1; - // 描述内容 - string desc = 2; - // 跳转链接 - string uri = 3; +// 装扮卡片 +message DecorateCard { + // 装扮卡片id + int64 id = 1; + // 装扮卡片链接 + string card_url = 2; + // 装扮卡片点击跳转链接 + string jump_url = 3; + // 粉丝样式 + DecoCardFan fan = 4; } -// 动态-描述文字模块 -message ModuleDesc { - // 描述信息(已按高亮拆分) - repeated Description desc = 1; - // 点击跳转链接 - string jump_uri = 2; - // 文本原本 - string text = 3; +// 文本类型 +enum DescType { + desc_type_none = 0; // 占位 + desc_type_text = 1; // 文本 + desc_type_aite = 2; // @ + desc_type_lottery = 3; // 抽奖 + desc_type_vote = 4; // 投票 + desc_type_topic = 5; // 话题 + desc_type_goods = 6; // 商品 + desc_type_bv = 7; // bv + desc_type_av = 8; // av + desc_type_emoji = 9; // 表情 + desc_type_user = 10; // 外露用户 + desc_type_cv = 11; // 专栏 + desc_type_vc = 12; // 小视频 + desc_type_web = 13; // 网址 + desc_type_taobao = 14; // 淘宝 + desc_type_mail = 15; // 邮箱 + desc_type_ogv_season = 16; // 番剧season + desc_type_ogv_ep = 17; // 番剧ep + desc_type_search_word = 18; // } // Description 文本描述 @@ -445,155 +1036,1114 @@ message Description { ModuleDescGoods goods = 9; // 文本原始文案 string orig_text = 10; + // + int32 emoji_size = 11; } -// 文本类型 -enum DescType { - // 占位 - desc_type_none = 0; - // 文本 - desc_type_text = 1; - // @ - desc_type_aite = 2; - // 抽奖 - desc_type_lottery = 3; - // 投票 - desc_type_vote = 4; - // 话题 - desc_type_topic = 5; - // 商品 - desc_type_goods = 6; - // bv - desc_type_bv = 7; - // av - desc_type_av = 8; - // 表情 - desc_type_emoji = 9; - // 外露用户 - desc_type_user = 10; - // 专栏 - desc_type_cv = 11; - // 小视频 - desc_type_vc = 12; - // 网址 - desc_type_web = 13; - // 淘宝 - desc_type_taobao = 14; - // 邮箱 - desc_type_mail = 15; - // 番剧season - desc_type_ogv_season = 16; - // 番剧ep - desc_type_ogv_ep = 17; +// Dimension 尺寸信息 +message Dimension { + // + int64 height = 1; + // + int64 width = 2; + // + int64 rotate = 3; +} + +// +enum DisableState { + highlight = 0; // 高亮 + gary = 1; // 置灰(按钮不可点击) +} + +// 动态通用附加卡-follow/取消follow-响应 +message DynAdditionCommonFollowReply { + // + AdditionalButtonStatus status = 1; +} + +// 动态通用附加卡-follow/取消follow-请求 +message DynAdditionCommonFollowReq { + // + AdditionalButtonStatus status = 1; + // + string dyn_id = 2; + // + string card_type = 3; +} + +// 最近访问-个人feed流列表-返回 +message DynAllPersonalReply { + // 动态列表 + repeated DynamicItem list = 1; + // 偏移量 + string offset = 2; + // 是否还有更多数据 + bool has_more = 3; + // 已读进度 + string read_offset = 4; + // 关注状态 + Relation relation = 5; + // 顶部预约卡 + TopAdditionUP addition_up = 6; +} + +// 最近访问-个人feed流列表-请求 +message DynAllPersonalReq { + // 被访问者的 UID + int64 host_uid = 1; + // 偏移量 第一页可传空 + string offset = 2; + // 标明下拉几次 + int32 page = 3; + // 是否是预加载 默认是1;客户端预加载。1:是预加载,不更新已读进度,不会影响小红点;0:非预加载,更新已读进度 + int32 is_preload = 4; + // 秒开参数 新版本废弃,统一使用player_args + PlayurlParam playurl_param = 5; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 6; + // 服务端生成的透传上报字段 + string footprint = 7; + // 来源 + string from = 8; + // 秒开用 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; +} + +// 动态综合页-响应 +message DynAllReply { + // 卡片列表 + DynamicList dynamic_list = 1; + // 顶部up list + CardVideoUpList up_list = 2; + // 话题广场 + TopicList topic_list = 3; + // 无关注推荐 + Unfollow unfollow = 4; + // 分区UP推荐 + DynRegionRcmd region_rcmd = 5; +} + +// 动态综合页-请求 +message DynAllReq { + // 透传 update_baseline + string update_baseline = 1; + // 透传 history_offset + string offset = 2; + // 向下翻页数 + int32 page = 3; + // 刷新方式 1向上刷新 2向下翻页 + Refresh refresh_type = 4; + // 秒开参数 新版本废弃,统一使用player_args + PlayurlParam playurl_param = 5; + // 综合页当前更新的最大值 + string assist_baseline = 6; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 7; + // 推荐up主入参(new的时候传) + RcmdUPsParam rcmd_ups_param = 8; + // 广告参数 + AdParam ad_param = 9; + // 是否冷启 + int32 cold_start = 10; + // 来源 + string from = 11; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 12; + // + int64 tab_recall_uid = 13; + // + int32 tab_recall_type = 14; +} + +// 最近访问-标记已读-请求 +message DynAllUpdOffsetReq { + // 被访问者的UID + int64 host_uid = 1; + // 用户已读进度 + string read_offset = 2; + // 服务端生成的透传上报字段 + string footprint = 3; +} + +// 动态详情页-响应 +message DynDetailReply { + // 动态详情 + DynamicItem item = 1; +} + +// 动态详情页-请求 +message DynDetailReq { + // up主uid + int64 uid = 1; + // 动态ID + string dynamic_id = 2; + // 动态类型 + int64 dyn_type = 3; + // 业务方资源id + int64 rid = 4; + // 广告参数 + AdParam ad_param = 5; + // From来源 + string from = 6; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 7; + // 分享id + string share_id = 8; + // 分享类型 + // 1:文字 2:图片 3:链接 4:视频 5:音频 + int32 share_mode = 9; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 10; + // pattern + string pattern = 11; +} + +// 批量动态id获取动态详情-响应 +message DynDetailsReply { + // 动态列表 + repeated DynamicItem list = 1; +} + +// 批量动态id获取动态详情-请求 +message DynDetailsReq { + // 动态id + string dynamic_ids = 1; + // 秒开参数 新版本废弃,统一使用player_args + PlayurlParam playurl_param = 2; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 3; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; +} + +// 动态小卡类型 +enum DynExtendType { + dyn_ext_type_none = 0; // 占位 + dyn_ext_type_topic = 1; // 话题小卡 + dyn_ext_type_lbs = 2; // lbs小卡 + dyn_ext_type_hot = 3; // 热门小卡 + dyn_ext_type_game = 4; // 游戏小卡 + dyn_ext_type_common = 5; // 通用小卡 + dyn_ext_type_biliCut = 6; // 必剪小卡 + dyn_ext_type_ogv = 7; // ogv小卡 + dyn_ext_type_auto_ogv = 8; // 自动附加ogv小卡 +} + +// 动态发布生成临时卡-响应 +message DynFakeCardReply { + // 动态卡片 + DynamicItem item = 1; +} + +// 动态发布生成临时卡-请求 +message DynFakeCardReq { + //卡片内容json string + string content = 1; +} + +// 轻浏览-响应 +message DynLightReply { + // 卡片列表 + DynamicList dynamic_list = 1; +} + +// 轻浏览-请求 +message DynLightReq { + // 透传 history_offset + string history_offset = 1; + // 向下翻页数 + int32 page = 2; + // 来源 + string from = 3; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 5; + // + int32 from_type = 6; + // + int64 fake_uid = 7; +} + +// 查看更多-列表-响应 +message DynMixUpListViewMoreReply { + // + repeated MixUpListItem items = 1; + // + string search_default_text = 2; + // 排序类型列表 + repeated SortType sort_types = 3; + // 是否展示更多的排序策略 + bool show_more_sort_types = 4; + // 默认排序策略 + int32 default_sort_type = 5; +} + +// 查看更多-请求 +message DynMixUpListViewMoreReq { + // 排序策略 + // 1:推荐排序 2:最常访问 3:最近关注,其他值为默认排序 + int32 sort_type = 1; +} + +// 动态模块类型 +enum DynModuleType { + module_none = 0; // 占位 + module_author = 1; // 发布人模块 + module_dispute = 2; // 争议小黄条 + module_desc = 3; // 描述文案 + module_dynamic = 4; // 动态卡片 + module_forward = 5; // 转发模块 + module_likeUser = 6; // 点赞用户(废弃) + module_extend = 7; // 小卡模块 + module_additional = 8; // 附加卡 + module_stat = 9; // 计数信息 + module_fold = 10; // 折叠 + module_comment = 11; // 评论外露(废弃) + module_interaction = 12; // 外露交互模块(点赞、评论) + module_author_forward = 13; // 转发卡的发布人模块 + module_ad = 14; // 广告卡模块 + module_banner = 15; // 通栏模块 + module_item_null = 16; // 获取物料失败模块 + module_share_info = 17; // 分享组件 + module_recommend = 18; // 相关推荐模块 + module_stat_forward = 19; // 转发卡计数信息 + module_top = 20; // 顶部模块 + module_bottom = 21; // 底部模块 + module_story = 22; // + module_topic = 23; // + module_topic_details_ext = 24; // + module_top_tag = 25; // + module_topic_brief = 26; // + module_title = 27; // +} + +// 推荐页-响应 +message DynRcmdReply { + // 推荐页返回参数 + DynRegionRcmd region_rcmd = 1; + // + DynamicList dynamic_list = 2; +} + +// 推荐页-请求 +message DynRcmdReq { + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 1; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 2; + // + int64 fake_uid = 3; + // + bool is_refresh = 4; +} + +// 关注推荐up主换一换-响应 +message DynRcmdUpExchangeReply { + // 无关注推荐 + Unfollow unfollow = 1; +} + +// 关注推荐up主换一换-请求 +message DynRcmdUpExchangeReq { + // 登录用户id + int64 uid = 1; + // 上一次不感兴趣的ts,单位:秒;该字段透传给搜索 + int64 dislikeTs = 2; + // 需要与服务端确认或参照客户端现有参数 + string from = 3; +} + +// 推荐页返回参数 +message DynRegionRcmd { + // 分区推荐项目列表 + repeated DynRegionRcmdItem items = 1; + // 分区聚类推荐选项 + RcmdOption opts = 2; +} + +// 分区推荐项目 +message DynRegionRcmdItem { + // 分区id + int64 rid = 1; + // 标题 + string title = 2; + // 推荐模块 + repeated ModuleRcmd items = 3; +} + +// +message DynSearchReply { + // + SearchChannel channel_info = 1; + // + SearchTopic search_topic = 2; + // + SearchInfo search_info = 3; +} + +// +message DynSearchReq { + // + string keyword = 1; + // + int32 page = 2; + // + int32 local_time = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; +} + +// +message DynServerDetailsReply { + // + map items = 1; +} + +// +message DynServerDetailsReq { + // + int32 local_time = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + string mobi_app = 4; + // + string device = 5; + // + string buvid = 6; + // + int64 build = 7; + // + int64 mid = 8; + // + string platform = 9; + // + bool is_master = 10; +} + +// 空间页动态-请求 +message DynSpaceReq { + // 被访问者,也就是空间主人的uid + int64 host_uid = 1; + // 动态偏移history_offset + string history_offset = 2; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 4; + // 向下翻页数,默认从1开始 + int64 page = 5; + // 来源,空间页:space,直播tab:live + string from = 6; +} + +// 空间页动态-响应 +message DynSpaceRsp { + // 卡片列表 + repeated DynamicItem list = 1; + // 历史偏移 + string history_offset = 2; + // 是否还有更多数据 + bool has_more = 3; +} + +// +message DynSpaceSearchDetailsReply { + // + map items = 1; +} + +// +message DynSpaceSearchDetailsReq { + // + repeated string search_words = 2; + // + int32 local_time = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + string mobi_app = 5; + // + string device = 6; + // + string buvid = 7; + // + int64 build = 8; + // + int64 mid = 9; + // + string platform = 10; + // + string ip = 11; + // + int32 net_type = 12; + // + int32 tf_type = 13; +} + +// +message DynTab { + // + string title = 1; + // + string uri = 2; + // + string bubble = 3; + // + int32 red_point = 4; + // + int64 city_id = 5; + // + int32 is_popup = 6; + // + Popup popup = 7; + // + bool default_tab = 8; + // + string sub_title = 9; + // + string anchor = 10; + // + string internal_test = 11; + // + int32 type = 12; + // + DynTab back_up = 13; +} + +// +message DynTabReply { + // + repeated DynTab dyn_tab = 1; +} + +// +message DynTabReq { + // + int32 teenagers_mode = 1; +} + +// 动态点赞-请求 +message DynThumbReq { + // 用户uid + int64 uid = 1; + // 动态id + string dyn_id = 2; + // 动态类型(透传extend中的dyn_type) + int64 dyn_type = 3; + // 业务方资源id + string rid = 4; + // 点赞类型 + ThumbType type = 5; +} + +// +enum DynUriType { + dyn_uri_type_none = 0; // + dyn_uri_type_direct = 1; // 直接跳转对应uri + dyn_uri_type_suffix = 2; // 作为后缀拼接 +} + +// 最近访问-个人feed流列表-响应 +message DynVideoPersonalReply { + // 动态列表 + repeated DynamicItem list = 1; + // 偏移量 + string offset = 2; + // 是否还有更多数据 + bool has_more = 3; + // 已读进度 + string read_offset = 4; + // 关注状态 + Relation relation = 5; + // 顶部预约卡 + TopAdditionUP addition_up = 6; +} + +// 最近访问-个人feed流列表-请求 +message DynVideoPersonalReq { + // 被访问者的 UID + int64 host_uid = 1; + // 偏移量 第一页可传空 + string offset = 2; + // 标明下拉几次 + int32 page = 3; + // 是否是预加载 + int32 is_preload = 4; + // 秒开参数 新版本废弃,统一使用player_args + PlayurlParam playurl_param = 5; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 6; + // 服务端生成的透传上报字段 + string footprint = 7; + // 来源 + string from = 8; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; +} + +// 动态视频页-响应 +message DynVideoReply { + // 卡片列表 + CardVideoDynList dynamic_list = 1; + // 动态卡片 + CardVideoUpList video_up_list = 2; + // 视频页-我的追番 + CardVideoFollowList video_follow_list = 3; +} + +// 动态视频页-请求 +message DynVideoReq { + // 透传 update_baseline + string update_baseline = 1; + // 透传 history_offset + string offset = 2; + // 向下翻页数 + int32 page = 3; + // 刷新方式 + // 1:向上刷新 2:向下翻页 + Refresh refresh_type = 4; + // 秒开参数 新版本废弃,统一使用player_args + PlayurlParam playurl_param = 5; + // 综合页当前更新的最大值 + string assist_baseline = 6; + // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 + int32 local_time = 7; + // 来源 + string from = 8; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; +} + +// 最近访问-标记已读-请求 +message DynVideoUpdOffsetReq { + // 被访问者的UID + int64 host_uid = 1; + // 用户已读进度 + string read_offset = 2; + // 服务端生成的透传上报字段 + string footprint = 3; +} + +// 投票操作-响应 +message DynVoteReply { + // 投票详情 + AdditionVote2 item = 1; + // 投票操作返回状态 + string toast = 2; +} + +// 投票操作-请求 +message DynVoteReq { + // 投票ID + int64 vote_id = 1; + // 选项索引数组 + repeated int64 votes = 2; + // 状态 + VoteStatus status = 3; + // 动态ID + string dynamic_id = 4; + // 是否分享 + bool share = 5; +} + +// 动态卡片 +message DynamicItem { + // 动态卡片类型 + DynamicType card_type = 1; + // 转发类型下,源卡片类型 + DynamicType item_type = 2; + // 模块内容 + repeated Module modules = 3; + // 操作相关字段 + Extend extend = 4; + // 该卡片下面是否含有折叠卡 + int32 has_fold = 5; + // 透传到客户端的埋点字段。 + string server_info = 6; +} + +//动态卡片列表 +message DynamicList { + // 动态列表 + repeated DynamicItem list = 1; + // 更新的动态数 + int64 update_num = 2; + // 历史偏移 + string history_offset = 3; + // 更新基础信息 + string update_baseline = 4; + // 是否还有更多数据 + bool has_more = 5; +} + +// 枚举-动态类型 +enum DynamicType { + dyn_none = 0; // 占位 + forward = 1; // 转发 + av = 2; // 稿件: ugc、小视频、短视频、UGC转PGC + pgc = 3; // pgc:番剧、PGC番剧、PGC电影、PGC电视剧、PGC国创、PGC纪录片 + courses = 4; // 付费更新批次 + fold = 5; // 折叠 + word = 6; // 纯文字 + draw = 7; // 图文 + article = 8; // 专栏 原仅phone端 + music = 9; // 音频 原仅phone端 + common_square = 10; // 通用卡 方形 + common_vertical = 11; // 通用卡 竖形 + live = 12; // 直播卡 只有转发态 + medialist = 13; // 播单 原仅phone端 只有转发态 + courses_season = 14; // 付费更新批次 只有转发态 + ad = 15; // 广告卡 + applet = 16; // 小程序卡 + subscription = 17; // 订阅卡 + live_rcmd = 18; // 直播推荐卡 + banner = 19; // 通栏 + ugc_season = 20; // 合集卡 + subscription_new = 21; // 新订阅卡 + story = 22; // + topic_rcmd = 23; // } // 表情包类型 enum EmojiType { - // 占位 - emoji_none = 0; - // emoji旧类型 - emoji_old = 1; - // emoji新类型 - emoji_new = 2; - // 大会员表情 - vip = 3; + emoji_none = 0; // 占位 + emoji_old = 1; // emoji旧类型 + emoji_new = 2; // emoji新类型 + vip = 3; // 大会员表情 } -// 正文商品卡参数 -message ModuleDescGoods { +// 附加大卡-电竞卡样式 +enum EspaceStyle { + moba = 0; // moba类 +} + +// 动态-拓展小卡模块-通用小卡 +message ExtInfoCommon { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; + // poiType + int32 poi_type = 4; + // 类型 + DynExtendType type = 5; + // 客户端埋点用 + string sub_module = 6; + // 行动点文案 + string action_text = 7; + // 行动点链接 + string action_url = 8; + // 资源rid + int64 rid = 9; + // 轻浏览是否展示 + bool is_show_light = 10; +} + +// 动态-拓展小卡模块-游戏小卡 +message ExtInfoGame { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; +} + +// 动态-拓展小卡模块-热门小卡 +message ExtInfoHot { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; +} + +// 动态-拓展小卡模块-lbs小卡 +message ExtInfoLBS { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; + // poiType + int32 poi_type = 4; +} + +// 动态-拓展小卡模块-ogv小卡 +message ExtInfoOGV { + // ogv小卡 + repeated InfoOGV info_ogv = 1; +} + +// 动态-拓展小卡模块-话题小卡 +message ExtInfoTopic { + // 标题-话题名 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; +} + +// 扩展字段,用于动态部分操作使用 +message Extend { + // 动态id + string dyn_id_str = 1; + // 业务方id + string business_id = 2; + // 源动态id + string orig_dyn_id_str = 3; + // 转发卡:用户名 + string orig_name = 4; + // 转发卡:图片url + string orig_img_url = 5; + // 转发卡:文字内容 + repeated Description orig_desc = 6; + // 填充文字内容 + repeated Description desc = 7; + // 被转发的源动态类型 + DynamicType orig_dyn_type = 8; + // 分享到站外展示类型 + string share_type = 9; + // 分享的场景 + string share_scene = 10; + // 是否快速转发 + bool is_fast_share = 11; + // r_type 分享和转发 + int32 r_type = 12; + // 数据源的动态类型 + int64 dyn_type = 13; + // 用户id + int64 uid = 14; + // 卡片跳转 + string card_url = 15; + // 透传字段 + google.protobuf.Any source_content = 16; + // 转发卡:用户头像 + string orig_face = 17; + // 评论跳转 + ExtendReply reply = 18; +} + +// 评论扩展 +message ExtendReply { + // 基础跳转地址 + string uri = 1; + // 参数部分 + repeated ExtendReplyParam params = 2; +} + +// 评论扩展参数部分 +message ExtendReplyParam { + // 参数名 + string key = 1; + // 参数值 + string value = 2; +} + +// 折叠类型 +enum FoldType { + FoldTypeZore = 0; // 占位 + FoldTypePublish = 1; // 用户发布折叠 + FoldTypeFrequent = 2; // 转发超频折叠 + FoldTypeUnite = 3; // 联合投稿折叠 + FoldTypeLimit = 4; // 动态受限折叠 +} + +// 视频页-我的追番-番剧信息 +message FollowListItem { + // season_id + int64 season_id = 1; + // 标题 + string title = 2; + // 封面图 + string cover = 3; + // 跳转链接 + string url = 4; + // new_ep + NewEP new_ep = 5; + // 子标题 + string sub_title = 6; + // 卡片位次 + int64 pos = 7; +} + +// +enum FollowType { + ft_not_follow = 0; // + ft_follow = 1; // +} + +// 动态-附加卡-商品卡-商品 +message GoodsItem { + // 图片 + string cover = 1; + // schemaPackageName(Android用) + string schema_package_name = 2; // 商品类型 // 1:淘宝 2:会员购 - int32 source_type = 1; + int32 source_type = 3; // 跳转链接 - string jump_url = 2; - // schema_url - string schema_url = 3; + string jump_url = 4; + // 跳转文案 + string jump_desc = 5; + // 标题 + string title = 6; + // 摘要 + string brief = 7; + // 价格 + string price = 8; // item_id - int64 item_id = 4; + int64 item_id = 9; + // schema_url + string schema_url = 10; // open_white_list - repeated string open_white_list = 5; + repeated string open_white_list = 11; // use_web_v2 - bool user_web_v2 = 6; + bool user_web_v2 = 12; // ad mark - string ad_mark = 7; - // schemaPackageName(Android用) - string schema_package_name = 8; + string ad_mark = 13; } -// 动态-详情模块 -message ModuleDynamic { - // 类型 - ModuleDynamicType type = 1; - oneof module_item { - //稿件 - MdlDynArchive dyn_archive = 2; - //pgc - MdlDynPGC dyn_pgc = 3; - //付费课程-系列 - MdlDynCourSeason dyn_cour_season = 4; - //付费课程-批次 - MdlDynCourBatch dyn_cour_batch = 5; - //转发卡 - MdlDynForward dyn_forward = 6; - //图文 - MdlDynDraw dyn_draw = 7; - //专栏 - MdlDynArticle dyn_article = 8; - //音频 - MdlDynMusic dyn_music = 9; - //通用卡方 - MdlDynCommon dyn_common = 10; - //直播卡 - MdlDynLive dyn_common_live = 11; - //播单 - MdlDynMedialist dyn_medialist = 12; - //小程序卡 - MdlDynApplet dyn_applet = 13; - //订阅卡 - MdlDynSubscription dyn_subscription = 14; - //直播推荐卡 - MdlDynLiveRcmd dyn_live_rcmd = 15; - //UGC合集 - MdlDynUGCSeason dyn_ugc_season = 16; - //订阅卡 - MdlDynSubscriptionNew dyn_subscription_new = 17; - } +// +message GuideBarInfo { + // + int32 show = 1; + // + int32 page = 2; + // + int32 position = 3; + // + string desc = 4; + // + int32 jump_page = 5; + // + int32 jump_position = 6; } -// 动态详情模块类型 -enum ModuleDynamicType { - // 稿件 - mdl_dyn_archive = 0; - // pgc - mdl_dyn_pgc = 1; - // 付费课程-系列 - mdl_dyn_cour_season = 2; - // 付费课程-批次 - mdl_dyn_cour_batch = 3; - // 转发卡 - mdl_dyn_forward = 4; - // 图文 - mdl_dyn_draw = 5; - // 专栏 - mdl_dyn_article = 6; - // 音频 - mdl_dyn_music = 7; - // 通用卡方 - mdl_dyn_common = 8; - // 直播卡 - mdl_dyn_live = 9; - // 播单 - mdl_dyn_medialist = 10; - // 小程序卡 - mdl_dyn_applet = 11; - // 订阅卡 - mdl_dyn_subscription = 12; - // 直播推荐卡 - mdl_dyn_live_rcmd = 13; - // UGC合集 - mdl_dyn_ugc_season = 14; - // 订阅卡 - mdl_dyn_subscription_new = 15; +// 高亮文本 +message HighlightText { + // 展示文本 + string text = 1; + // 高亮类型 + HighlightTextStyle text_style = 2; + // + string jump_url = 3; + // + string icon = 4; +} + +// 文本高亮枚举 +enum HighlightTextStyle { + style_none = 0; // 默认 + style_highlight = 1; // 高亮 +} + +// +message IconBadge { + // + string icon_bg_url = 1; + // + string text = 2; +} + +// +message IconButton { + // + string text = 1; + // + string icon_head = 2; + // + string icon_tail = 3; + // + string jump_uri = 4; +} + +// 枚举-附加卡样式 +enum ImageStyle { + add_style_vertical = 0; // + add_style_square = 1; // +} + +// 动态-拓展小卡模块-ogv小卡-(one of 片单、榜单、分区) +message InfoOGV { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 小图标 + string icon = 3; + // 客户端埋点用 + string sub_module = 4; +} + +// +message InteractionFace { + // + int64 mid = 1; + // + string face = 2; +} + +// 外露交互模块 +message InteractionItem { + // 外露模块类型 + LocalIconType icon_type = 1; + // 外露模块文案 + repeated Description desc = 2; + // 外露模块uri相关 根据type不同用法不同 + string uri = 3; + // 动态id + string dynamic_id = 4; + // 评论mid + int64 comment_mid = 5; + // + repeated InteractionFace faces = 6; + // + InteractionStat stat = 7; + // + string icon = 8; +} + +// +message InteractionStat { + // + int64 like = 1; +} + +// +enum LightFromType { + from_login = 0; // + from_unlogin = 1; // +} + +// 点赞动画 +message LikeAnimation { + // 开始动画 + string begin = 1; + // 过程动画 + string proc = 2; + // 结束动画 + string end = 3; + // id + int64 like_icon_id = 4; +} + +// 点赞拓展信息 +message LikeInfo { + // 点赞动画 + LikeAnimation animation = 1; + // 是否点赞 + bool is_like = 2; +} + +// 点赞列表-响应 +message LikeListReply { + // 用户模块列表 + repeated ModuleAuthor list = 1; + // 是否还有更多数据 + bool has_more = 2; + // 点赞总数 + int64 total_count = 3; +} + +// 点赞列表-请求 +message LikeListReq { + // 动态ID + string dynamic_id = 1; + // 动态类型 + int64 dyn_type = 2; + // 业务方资源id + int64 rid = 3; + //上一页最后一个uid + int64 uid_offset = 4; + // 下拉页数 + int32 page = 5; +} + +// 点赞用户 +message LikeUser { + // 用户mid + int64 uid = 1; + // 用户昵称 + string uname = 2; + // 点击跳转链接 + string uri = 3; +} + +// 直播信息 +message LiveInfo { + // 是否在直播 + // 0:未直播 1:正在直播 (废弃) + int32 is_living = 1; + // 跳转链接 + string uri = 2; + // 直播状态 + LiveState live_state = 3; +} + +// +message LivePendant { + // + string text = 1; + // + string icon = 2; + // + int64 pendant_id = 3; +} + +// 直播状态 +enum LiveState { + live_none = 0; // 未直播 + live_live = 1; // 直播中 + live_rotation = 2; // 轮播中 +} + +// 外露模块类型 +enum LocalIconType { + local_icon_comment = 0; // + local_icon_like = 1; // +} + +// 动态-附加卡-电竞卡-战队 +message MatchTeam { + // 战队ID + int64 id = 1; + // 战队名 + string name = 2; + // 战队图标 + string cover = 3; + // 日间色值 + string color = 4; + // 夜间色值 + string night_color = 5; +} + +// 动态列表渲染部分-详情模块-小程序/小游戏 +message MdlDynApplet { + // 小程序id + int64 id = 1; + // 跳转地址 + string uri = 2; + // 主标题 + string title = 3; + // 副标题 + string sub_title = 4; + // 封面图 + string cover = 5; + // 小程序icon + string icon = 6; + // 小程序标题 + string label = 7; + // 按钮文案 + string button_title = 8; } // 动态-详情模块-稿件 @@ -654,72 +2204,240 @@ message MdlDynArchive { int32 view = 27; } -// 播放器类型 -enum MediaType { - // 本地 - MediaTypeNone = 0; - // UGC - MediaTypeUGC = 1; - // PGC - MediaTypePGC = 2; - // 直播 - MediaTypeLive = 3; - // 小视频 - MediaTypeVCS = 4; +// 动态列表渲染部分-详情模块-专栏模块 +message MdlDynArticle { + // 专栏id + int64 id = 1; + // 跳转地址 + string uri = 2; + // 标题 + string title = 3; + // 文案部分 + string desc = 4; + // 配图 + repeated string covers = 5; + // 阅读量标签 + string label = 6; + // 模板类型 + int32 templateID = 7; } -enum ReserveType { - // 占位 - reserve_none = 0; - // 预约召回 - reserve_recall = 1; +// 动态列表渲染部分-详情模块-通用 +message MdlDynCommon { + // 物料id + int64 oid = 1; + // 跳转地址 + string uri = 2; + // 标题 + string title = 3; + // 描述 漫画卡标题下第一行 + string desc = 4; + // 封面 + string cover = 5; + // 标签1 漫画卡标题下第二行 + string label = 6; + // 所属业务类型 + int32 bizType = 7; + // 镜像数据ID + int64 sketchID = 8; + // 卡片样式 + MdlDynCommonType style = 9; + // 角标 + repeated VideoBadge badge = 10; + // + AdditionalButton button = 11; } -// Dimension 尺寸信息 -message Dimension { - // - int64 height = 1; - // +// +enum MdlDynCommonType { + mdl_dyn_common_none = 0; // + mdl_dyn_common_square = 1; // + mdl_dyn_common_vertica = 2; // +} + +// 动态-详情模块-付费课程批次 +message MdlDynCourBatch { + // 标题 + string title = 1; + // 封面图 + string cover = 2; + // 跳转地址 + string uri = 3; + // 展示项 1(本集标题) + string text_1 = 4; + // 展示项 2(更新了多少个视频) + string text_2 = 5; + // 角标 + VideoBadge badge = 6; + // 播放按钮 + string play_icon = 7; +} + +// 动态-详情模块-付费课程系列 +message MdlDynCourSeason { + // 标题 + string title = 1; + // 封面图 + string cover = 2; + // 跳转地址 + string uri = 3; + // 展示项 1(更新信息) + string text_1 = 4; + // 描述信息 + string desc = 5; + // 角标 + VideoBadge badge = 6; + // 播放按钮 + string play_icon = 7; +} + +// 动态列表渲染部分-详情模块-图文模块 +message MdlDynDraw { + // 图片 + repeated MdlDynDrawItem items = 1; + // 跳转地址 + string uri = 2; + // 图文ID + int64 id = 3; +} + +// 动态列表渲染部分-详情模块-图文 +message MdlDynDrawItem { + // 图片链接 + string src = 1; + // 图片宽度 int64 width = 2; + // 图片高度 + int64 height = 3; + // 图片大小 + float size = 4; + // 图片标签 + repeated MdlDynDrawTag tags = 5; +} + +// 动态列表渲染部分-详情模块-图文-标签 +message MdlDynDrawTag { + // 标签类型 + MdlDynDrawTagType type = 1; + // 标签详情 + MdlDynDrawTagItem item = 2; +} + +// 动态列表部分-详情模块-图文-标签详情 +message MdlDynDrawTagItem { + // 跳转链接 + string url = 1; + // 标签内容 + string text = 2; + // 坐标-x + int64 x = 3; + // 坐标-y + int64 y = 4; + // 方向 + int32 orientation = 5; + // 来源 + // 0:未知 1:淘宝 2:自营 + int32 source = 6; + // 商品id + int64 item_id = 7; + // 用户mid + int64 mid = 8; + // 话题id + int64 tid = 9; + // lbs信息 + string poi = 10; + // 商品标签链接 + string schema_url = 11; +} + +// 图文标签类型 +enum MdlDynDrawTagType { + mdl_draw_tag_none = 0; // 占位 + mdl_draw_tag_common = 1; // 普通标签 + mdl_draw_tag_goods = 2; // 商品标签 + mdl_draw_tag_user = 3; // 用户昵称 + mdl_draw_tag_topic = 4; // 话题名称 + mdl_draw_tag_lbs = 5; // lbs标签 +} + +// 动态列表渲染部分-详情模块-转发模块 +message MdlDynForward { + // 动态转发核心模块 套娃 + DynamicItem item = 1; + // 透传类型 + // 0:分享 1:转发 + int32 rtype = 2; +} + +// 动态列表渲染部分-详情模块-直播 +message MdlDynLive { + // 房间号 + int64 id = 1; + // 跳转地址 + string uri = 2; + // 直播间标题 + string title = 3; + // 直播间封面 + string cover = 4; + // 标题1 例: 陪伴学习 + string cover_label = 5; + // 标题2 例: 54.6万人气 + string cover_label2 = 6; + // 直播状态 + LiveState live_state = 7; + // 直播角标 + VideoBadge badge = 8; + // 是否是预约召回 + ReserveType reserve_type = 9; +} + +// 动态列表渲染部分-详情模块-直播推荐 +message MdlDynLiveRcmd { + // 直播数据 + string content = 1; + // 是否是预约召回 + ReserveType reserve_type = 2; // - int64 rotate = 3; + LivePendant pendant = 3; } -// 角标信息 -message VideoBadge { - // 文案 - 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; - // 背景透明度-日间 - int32 bg_alpha = 9; - // 背景透明度-夜间 - int32 bg_alpha_night = 10; +// 动态列表渲染部分-详情模块-播单 +message MdlDynMedialist { + // 播单id + int64 id = 1; + // 跳转地址 + string uri = 2; + // 主标题 + string title = 3; + // 副标题 + string sub_title = 4; + // 封面图 + string cover = 5; + // 封面类型 + int32 cover_type = 6; + // 角标 + VideoBadge badge = 7; } -// 视频类型 -enum VideoType { - //普通视频 - video_type_general = 0; - //动态视频 - video_type_dynamic = 1; - //直播回放视频 - video_type_playback = 2; +// 动态列表渲染部分-详情模块-音频模块 +message MdlDynMusic { + // 音频id + int64 id = 1; + // 跳转地址 + string uri = 2; + // upId + int64 up_id = 3; + // 歌名 + string title = 4; + // 专辑封面 + string cover = 5; + // 展示项1 + string label1 = 6; + // upper + string upper = 7; } -// MdlDynPGC 动态-详情模块-pgc +// 动态-详情模块-pgc message MdlDynPGC { // 标题 string title = 1; @@ -767,282 +2485,6 @@ message MdlDynPGC { bool is_feature = 22; } -// 番剧类型 -enum VideoSubType { - // 没有子类型 - VideoSubTypeNone = 0; - // 番剧 - VideoSubTypeBangumi = 1; - // 电影 - VideoSubTypeMovie = 2; - // 纪录片 - VideoSubTypeDocumentary = 3; - // 国创 - VideoSubTypeDomestic = 4; - // 电视剧 - VideoSubTypeTeleplay = 5; -} - -// PGC单季信息 -message PGCSeason { - // 是否完结 - int32 is_finish = 1; - // 标题 - string title = 2; - // 类型 - int32 type = 3; -} - -// 动态-详情模块-付费课程系列 -message MdlDynCourSeason { - // 标题 - string title = 1; - // 封面图 - string cover = 2; - // 跳转地址 - string uri = 3; - // 展示项 1(更新信息) - string text_1 = 4; - // 描述信息 - string desc = 5; - // 角标 - VideoBadge badge = 6; - // 播放按钮 - string play_icon = 7; -} - -// 动态-详情模块-付费课程批次 -message MdlDynCourBatch { - // 标题 - string title = 1; - // 封面图 - string cover = 2; - // 跳转地址 - string uri = 3; - // 展示项 1(本集标题) - string text_1 = 4; - // 展示项 2(更新了多少个视频) - string text_2 = 5; - // 角标 - VideoBadge badge = 6; - // 播放按钮 - string play_icon = 7; -} - -// 动态列表渲染部分-详情模块-转发模块 -message MdlDynForward { - // 动态转发核心模块 套娃 - DynamicItem item = 1; - // 透传类型 - // 0:分享 1:转发 - int32 rtype = 2; -} - -// 动态列表渲染部分-详情模块-图文模块 -message MdlDynDraw { - // 图片 - repeated MdlDynDrawItem items = 1; - // 跳转地址 - string uri = 2; - // 图文ID - int64 id = 3; -} - -// MdlDynDrawItem 动态列表渲染部分-详情模块-图文 -message MdlDynDrawItem { - // 图片链接 - string src = 1; - // 图片宽度 - int64 width = 2; - // 图片高度 - int64 height = 3; - // 图片大小 - float size = 4; - // 图片标签 - repeated MdlDynDrawTag tags = 5; -} - -// 动态列表渲染部分-详情模块-图文-标签 -message MdlDynDrawTag { - // 标签类型 - MdlDynDrawTagType type = 1; - // 标签详情 - MdlDynDrawTagItem item = 2; -} - -// 图文标签类型 -enum MdlDynDrawTagType { - // 占位 - mdl_draw_tag_none = 0; - // 普通标签 - mdl_draw_tag_common = 1; - // 商品标签 - mdl_draw_tag_goods = 2; - // 用户昵称 - mdl_draw_tag_user = 3; - // 话题名称 - mdl_draw_tag_topic = 4; - // lbs标签 - mdl_draw_tag_lbs = 5; -} - -// 动态列表部分-详情模块-图文-标签详情 -message MdlDynDrawTagItem { - // 跳转链接 - string url = 1; - // 标签内容 - string text = 2; - // 坐标-x - int64 x = 3; - // 坐标-y - int64 y = 4; - // 方向 - int32 orientation = 5; - // 来源 - // 0:未知 1:淘宝 2:自营 - int32 source = 6; - // 商品id - int64 item_id = 7; - // 用户mid - int64 mid = 8; - // 话题id - int64 tid = 9; - // lbs信息 - string poi = 10; - // 商品标签链接 - string schema_url = 11; -} - -// 动态列表渲染部分-详情模块-专栏模块 -message MdlDynArticle { - // 专栏id - int64 id = 1; - // 跳转地址 - string uri = 2; - // 标题 - string title = 3; - // 文案部分 - string desc = 4; - // 配图 - repeated string covers = 5; - // 阅读量标签 - string label = 6; - // 模板类型 - int32 templateID = 7; -} - -// 动态列表渲染部分-详情模块-音频模块 -message MdlDynMusic { - // 音频id - int64 id = 1; - // 跳转地址 - string uri = 2; - // upId - int64 up_id = 3; - // 歌名 - string title = 4; - // 专辑封面 - string cover = 5; - // 展示项1 - string label1 = 6; - // upper - string upper = 7; -} - -// 动态列表渲染部分-详情模块-通用 -message MdlDynCommon { - // 物料id - int64 oid = 1; - // 跳转地址 - string uri = 2; - // 标题 - string title = 3; - // 描述 漫画卡标题下第一行 - string desc = 4; - // 封面 - string cover = 5; - // 标签1 漫画卡标题下第二行 - string label = 6; - // 所属业务类型 - int32 bizType = 7; - // 镜像数据ID - int64 sketchID = 8; - // 卡片样式 - MdlDynCommonType style = 9; - // 角标 - repeated VideoBadge badge = 10; -} - -// -enum MdlDynCommonType { - // - mdl_dyn_common_none = 0; - // - mdl_dyn_common_square = 1; - // - mdl_dyn_common_vertica = 2; -} - -// 动态列表渲染部分-详情模块-直播 -message MdlDynLive { - // 房间号 - int64 id = 1; - // 跳转地址 - string uri = 2; - // 直播间标题 - string title = 3; - // 直播间封面 - string cover = 4; - // 标题1 例: 陪伴学习 - string cover_label = 5; - // 标题2 例: 54.6万人气 - string cover_label2 = 6; - // 直播状态 - LiveState live_state = 7; - // 直播角标 - VideoBadge badge = 8; - // 是否是预约召回 - ReserveType reserve_type = 9; -} - -// 动态列表渲染部分-详情模块-播单 -message MdlDynMedialist { - // 播单id - int64 id = 1; - // 跳转地址 - string uri = 2; - // 主标题 - string title = 3; - // 副标题 - string sub_title = 4; - // 封面图 - string cover = 5; - // 封面类型 - int32 cover_type = 6; - // 角标 - VideoBadge badge = 7; -} - -// 动态列表渲染部分-详情模块-小程序/小游戏 -message MdlDynApplet { - // 小程序id - int64 id = 1; - // 跳转地址 - string uri = 2; - // 主标题 - string title = 4; - // 副标题 - string sub_title = 5; - // 封面图 - string cover = 6; - // 小程序icon - string icon = 7; - // 小程序标题 - string label = 8; - // 按钮文案 - string button_title = 9; -} - // 动态列表渲染部分-详情模块-订阅卡 message MdlDynSubscription { // 卡片物料id @@ -1063,12 +2505,24 @@ message MdlDynSubscription { string tips = 8; } -// 动态列表渲染部分-详情模块-直播推荐 -message MdlDynLiveRcmd { - // 直播数据 - string content = 1; - // 是否是预约召回 - ReserveType reserve_type = 2; +// 动态新附加卡 +message MdlDynSubscriptionNew { + //样式类型 + MdlDynSubscriptionNewStyle style = 1; + // 新订阅卡数据 + oneof item { + // + MdlDynSubscription dyn_subscription = 2; + // 直播推荐 + MdlDynLiveRcmd dyn_live_rcmd = 3; + } +} + +// +enum MdlDynSubscriptionNewStyle { + mdl_dyn_subscription_new_style_nont = 0; // 占位 + mdl_dyn_subscription_new_style_live = 1; // 直播 + mdl_dyn_subscription_new_style_draw = 2; // 图文 } // 动态列表渲染部分-UGC合集 @@ -1105,27 +2559,123 @@ message MdlDynUGCSeason { string jump_url = 15; } -// 动态新附加卡 -message MdlDynSubscriptionNew { - //样式类型 - MdlDynSubscriptionNewStyle style = 1; - // 新订阅卡数据 - oneof item { +// 播放器类型 +enum MediaType { + MediaTypeNone = 0; // 本地 + MediaTypeUGC = 1; // UGC + MediaTypePGC = 2; // PGC + MediaTypeLive = 3; // 直播 + MediaTypeVCS = 4; // 小视频 +} + +// 查看更多-列表单条数据 +message MixUpListItem { + // 用户mid + int64 uid = 1; + // 特别关注 + // 0:否 1:是 + int32 special_attention = 2; + // 小红点状态 + // 0:没有 1:有 + int32 reddot_state = 3; + // 直播信息 + MixUpListLiveItem live_info = 4; + // 昵称 + string name = 5; + // 头像 + string face = 6; + // 认证信息 + OfficialVerify official = 7; + // 大会员信息 + VipInfo vip = 8; + // 关注状态 + Relation relation = 9; +} + +message MixUpListLiveItem { + // 直播状态 + // 0:未直播 1:直播中 + bool status = 1; + // 房间号 + int64 room_id = 2; + // 跳转地址 + string uri = 3; +} + +// 动态模块 +message Module { + // 类型 + DynModuleType module_type = 1; + oneof module_item { + // 用户模块 1 + ModuleAuthor module_author = 2; + // 争议黄条模块 2 + ModuleDispute module_dispute = 3; + // 动态正文模块 3 + ModuleDesc module_desc = 4; + // 动态卡模块 4 + ModuleDynamic module_dynamic = 5; + // 点赞外露(废弃) + ModuleLikeUser module_likeUser = 6; + // 小卡模块 6 + ModuleExtend module_extend = 7; + // 大卡模块 5 + ModuleAdditional module_additional = 8; + // 计数模块 8 + ModuleStat module_stat = 9; + // 折叠模块 9 + ModuleFold module_fold = 10; + // 评论外露(废弃) + ModuleComment module_comment = 11; + // 外露交互模块(点赞、评论) 7 + ModuleInteraction module_interaction = 12; + // 转发卡-原卡用户模块 + ModuleAuthorForward module_author_forward = 13; + // 广告卡 + ModuleAd module_ad = 14; + // 通栏 + ModuleBanner module_banner = 15; + // 获取物料失败 + ModuleItemNull module_item_null = 16; + // 分享组件 + ModuleShareInfo module_share_info = 17; + // 相关推荐模块 + ModuleRecommend module_recommend = 18; + // 顶部模块 + ModuleTop module_top = 19; + // 底部模块 + ModuleButtom module_buttom = 20; + // 转发卡计数模块 + ModuleStat module_stat_forward = 21; // - MdlDynSubscription dyn_subscription = 2; - // 直播推荐 - MdlDynLiveRcmd dyn_live_rcmd = 3; + ModuleStory module_story = 22; + // + ModuleTopic module_topic = 23; + // + ModuleTopicDetailsExt module_topic_details_ext = 24; + // + ModuleTopTag module_top_tag = 25; + // + ModuleTopicBrief module_topic_brief = 26; + // + ModuleTitle module_title = 27; } } -// -enum MdlDynSubscriptionNewStyle { - // 占位 - mdl_dyn_subscription_new_style_nont = 0; - // 直播 - mdl_dyn_subscription_new_style_live = 1; - // 图文 - mdl_dyn_subscription_new_style_draw = 2; +// 动态列表-用户模块-广告卡 +message ModuleAd { + // 广告透传信息 + google.protobuf.Any source_content = 1; + // 用户模块 + ModuleAuthor module_author = 2; + // + int32 ad_content_type = 3; + // + string cover_left_text1 = 4; + // + string cover_left_text2 = 5; + // + string cover_left_text3 = 6; } // 动态-附加卡模块 @@ -1152,388 +2702,250 @@ message ModuleAdditional { } // 附加卡物料ID int64 rid = 7; + // + bool need_write_calender = 11; } -// 枚举-动态附加卡 -enum AdditionalType { - // 占位 - additional_none = 0; - // 附加卡-追番 - additional_type_pgc = 1; - // 附加卡-商品 - additional_type_goods = 2; - // 附加卡投票 - additional_type_vote = 3; - // 附加通用卡 - additional_type_common = 4; - // 附加电竞卡 - additional_type_esport = 5; - // 附加UP主推荐卡 - additional_type_up_rcmd = 6; - // 附加卡-ugc - additional_type_ugc = 7; - // UP主预约卡 - additional_type_up_reservation = 8; -} - -// 动态-附加卡-番剧卡 -message AdditionalPGC { - // 头部说明文案 - string head_text = 1; - // 标题 - string title = 2; - // 展示图 - string image_url = 3; - // 描述文字1 - string desc_text_1 = 4; - // 描述文字2 - string desc_text_2 = 5; +// 动态-发布人模块 +message ModuleAuthor { + // 用户mid + int64 mid = 1; + // 时间标签 + string ptime_label_text = 2; + // 用户详情 + UserInfo author = 3; + // 装扮卡片 + DecorateCard decorate_card = 4; // 点击跳转链接 - string url = 6; - // 按钮 - AdditionalButton button = 7; - // 头部icon - string head_icon = 8; - // style - ImageStyle style = 9; - // 动态本身的类型 type - string type = 10; + string uri = 5; + // 右侧操作区域 - 三点样式 + repeated ThreePointItem tp_list = 6; + // 右侧操作区域样式枚举 + ModuleAuthorBadgeType badge_type = 7; + // 右侧操作区域 - 按钮样式 + ModuleAuthorBadgeButton badge_button = 8; + // 是否关注 + // 1:关注 0:不关注 默认0,注:点赞列表使用,其他场景不使用该字段 + int32 attend = 9; + // 关注状态 + Relation relation = 10; + // 右侧操作区域 - 提权样式 + Weight weight = 11; + // 是否展示关注 + bool show_follow = 12; + // 是否置顶 + bool is_top = 13; } -// 枚举-附加卡样式 -enum ImageStyle { - // - add_style_vertical = 0; - // - add_style_square = 1; -} - -// 动态-附加卡-按钮 -message AdditionalButton { - // 按钮类型 - AddButtonType type = 1; - // jump-跳转样式 - AdditionalButtonStyle jump_style = 2; - // jump-跳转链接 - string jump_url = 3; - // button-未点样式 - AdditionalButtonStyle uncheck = 4; - // button-已点样式 - AdditionalButtonStyle check = 5; - // button-当前状态 - AdditionalButtonStatus status = 6; - // 按钮点击样式 - AdditionalButtonClickType click_type = 7; -} - -// 按钮类型 -enum AddButtonType { - // 占位 - bt_none = 0; - // 跳转 - bt_jump = 1; - // 按钮 - bt_button = 2; -} - -// 附加卡按钮状态 -enum AdditionalButtonStatus { - // - none = 0; - // - uncheck = 1; - // - check = 2; -} - -// 附加卡按钮点击类型 -enum AdditionalButtonClickType { - // 通用按钮 - click_none = 0; - // 预约卡按钮 - click_up = 1; -} - -// 动态-附加卡-按钮样式 -message AdditionalButtonStyle { - // icon +// 动态列表渲染部分-用户模块-按钮 +message ModuleAuthorBadgeButton { + // 图标 string icon = 1; // 文案 - string text = 2; - // 按钮点击交互 - AdditionalButtonInteractive interactive = 3; - // 当前按钮填充样式 - AddButtonBgStyle bg_style = 4; - // toast文案, 当disable=1时有效 - string toast = 5; - // 当前按钮样式, - // 0:高亮 1:置灰(按钮不可点击) - DisableState disable = 6; + string title = 2; + // 状态 + int32 state = 3; + // 物料ID + int64 id = 4; } -enum DisableState { - // 高亮 - highlight = 0; - // 置灰(按钮不可点击) - gary = 1; +// 右侧操作区域样式枚举 +enum ModuleAuthorBadgeType { + module_author_badge_type_none = 0; // 占位 + module_author_badge_type_threePoint = 1; // 三点 + module_author_badge_type_button = 2; // 按钮类型 + module_author_badge_type_weight = 3; // 提权 } -enum AddButtonBgStyle { - // 默认填充 - fill = 0; - // 描边 - stroke = 1; - // 置灰 - gray = 2; +// 动态列表-用户模块-转发模板 +message ModuleAuthorForward { + // 展示标题 + repeated ModuleAuthorForwardTitle title = 1; + // 源卡片跳转链接 + string url = 2; + // 用户uid + int64 uid = 3; + // 时间标签 + string ptime_label_text = 4; + // 是否展示关注 + bool show_follow = 5; + // 源up主头像 + string face_url = 6; + // 双向关系 + Relation relation = 7; + // 右侧操作区域 - 三点样式 + repeated ThreePointItem tp_list = 8; } -message AdditionalButtonInteractive { - // 是否弹窗 - string popups = 1; - // 弹窗确认文案 - string confirm = 2; - // 弹窗取消文案 - string cancel = 3; +// 动态列表-用户模块-转发模板-title部分 +message ModuleAuthorForwardTitle { + // 文案 + string text = 1; + // 跳转链接 + string url = 2; } -// 动态-附加卡-商品卡 -message AdditionGoods { - // 推荐文案 - string rcmd_desc = 1; - // 商品信息 - repeated GoodsItem goods_items = 2; - // 附加卡类型 - string card_type = 3; - // 头部icon - string icon = 4; - // 商品附加卡整卡跳转 - string uri = 5; - // 商品类型 - // 1:淘宝 2:会员购,注:实际是获取的goods_items里面的第一个source_type - int32 source_type = 6; +// 动态列表-通栏 +message ModuleBanner { + // 模块标题 + string title = 1; + // 卡片类型 + ModuleBannerType type = 2; + // 卡片 + oneof item{ + ModuleBannerUser user = 3; + } + // 不感兴趣文案 + string dislike_text = 4; + // 不感兴趣图标 + string dislike_icon = 5; } -// 动态-附加卡-商品卡-商品 -message GoodsItem { - // 图片 - string cover = 1; - // schemaPackageName(Android用) - string schema_package_name = 2; +// 动态列表-通栏类型 +enum ModuleBannerType { + module_banner_type_none = 0; // + module_banner_type_user = 1; // +} + +// 动态通栏-用户 +message ModuleBannerUser { + // 卡片列表 + repeated ModuleBannerUserItem list = 1; +} + +// 动态通栏-推荐用户卡 +message ModuleBannerUserItem { + // up主头像 + string face = 1; + // up主昵称 + string name = 2; + // up主uid + int64 uid = 3; + // 直播状态 + LiveState live_state = 4; + // 认证信息 + OfficialVerify official = 5; + // 大会员信息 + VipInfo vip = 6; + // 标签信息 + string label = 7; + // 按钮 + AdditionalButton button = 8; + // 跳转地址 + string uri = 9; +} + +// 底部模块 +message ModuleButtom { + // 计数模块 + ModuleStat module_stat = 1; +} + +// 评论外露模块 +message ModuleComment { + // 评论外露展示项 + repeated CmtShowItem cmtShowItem = 1; +} + +// 动态-描述文字模块 +message ModuleDesc { + // 描述信息(已按高亮拆分) + repeated Description desc = 1; + // 点击跳转链接 + string jump_uri = 2; + // 文本原本 + string text = 3; +} + +// 正文商品卡参数 +message ModuleDescGoods { // 商品类型 // 1:淘宝 2:会员购 - int32 source_type = 3; + int32 source_type = 1; // 跳转链接 - string jump_url = 4; - // 跳转文案 - string jump_desc = 5; - // 标题 - string title = 6; - // 摘要 - string brief = 7; - // 价格 - string price = 8; - // item_id - int64 item_id = 9; + string jump_url = 2; // schema_url - string schema_url = 10; + string schema_url = 3; + // item_id + int64 item_id = 4; // open_white_list - repeated string open_white_list = 11; + repeated string open_white_list = 5; // use_web_v2 - bool user_web_v2 = 12; + bool user_web_v2 = 6; // ad mark - string ad_mark = 13; + string ad_mark = 7; + // schemaPackageName(Android用) + string schema_package_name = 8; } -// 动态-附加卡-投票 -message AdditionVote { - // 封面图 - string image_url = 1; +// 动态-争议小黄条模块 +message ModuleDispute { // 标题 - string title = 2; - // 展示项1 - string text_1 = 3; - // button文案 - string button_text = 4; - // 点击跳转链接 - string url = 5; + string title = 1; + // 描述内容 + string desc = 2; + // 跳转链接 + string uri = 3; } -// 动态-附加卡-UGC视频附加卡 -message AdditionUgc { - // 说明文案 - string head_text = 1; - // 稿件标题 - string title = 2; - // 封面 - string cover = 3; - // 描述文字1 - string desc_text_1 = 4; - // 描述文字2 - string desc_text_2 = 5; - // 接秒开 - string uri = 6; - // 时长 - string duration = 7; - // 标题支持换行-标题支持单行和双行,本期不支持填充up昵称,支持双行展示,字段默认为true - bool line_feed = 8; - // 附加卡类型 - string card_type = 9; -} - -// 动态-附加卡-通用卡 -message AdditionCommon { - // 头部说明文案 - string head_text = 1; - // 标题 - string title = 2; - // 展示图 - string image_url = 3; - // 描述文字1 - string desc_text_1 = 4; - // 描述文字2 - string desc_text_2 = 5; - // 点击跳转链接 - string url = 6; - // 按钮 - AdditionalButton button = 7; - // 头部icon - string head_icon = 8; - // style - ImageStyle style = 9; - // 动态本身的类型 type - string type = 10; - // 附加卡类型 - string card_type = 11; // ogv manga -} - -// 动态-附加卡-电竞卡 -message AdditionEsport { - // 电竞类型 - EspaceStyle style = 1; - oneof item { - // moba类 - AdditionEsportMoba addition_esport_moba = 2; +// 动态-详情模块 +message ModuleDynamic { + // 类型 + ModuleDynamicType type = 1; + oneof module_item { + //稿件 + MdlDynArchive dyn_archive = 2; + //pgc + MdlDynPGC dyn_pgc = 3; + //付费课程-系列 + MdlDynCourSeason dyn_cour_season = 4; + //付费课程-批次 + MdlDynCourBatch dyn_cour_batch = 5; + //转发卡 + MdlDynForward dyn_forward = 6; + //图文 + MdlDynDraw dyn_draw = 7; + //专栏 + MdlDynArticle dyn_article = 8; + //音频 + MdlDynMusic dyn_music = 9; + //通用卡方 + MdlDynCommon dyn_common = 10; + //直播卡 + MdlDynLive dyn_common_live = 11; + //播单 + MdlDynMedialist dyn_medialist = 12; + //小程序卡 + MdlDynApplet dyn_applet = 13; + //订阅卡 + MdlDynSubscription dyn_subscription = 14; + //直播推荐卡 + MdlDynLiveRcmd dyn_live_rcmd = 15; + //UGC合集 + MdlDynUGCSeason dyn_ugc_season = 16; + //订阅卡 + MdlDynSubscriptionNew dyn_subscription_new = 17; } - // 动态本身的类型 type - string type = 3; - // 附加卡类型 - string card_type = 4; // ogv manga } -// 附加大卡-电竞卡样式 -enum EspaceStyle { - // moba类 - moba = 0; -} - -// 动态-附加卡-电竞卡-moba类 -message AdditionEsportMoba { - // 头部说明文案 - string head_text = 1; - // 标题 - string title = 2; - // 战队列表 - repeated MatchTeam match_team = 3; - // 比赛信息 - AdditionEsportMobaStatus addition_esport_moba_status = 4; - // 卡片跳转 - string uri = 5; - // 按钮 - AdditionalButton button = 6; - // 副标题 - string sub_title = 7; - // 动态本身的类型 type - string type = 10; - // 附加卡类型 - string card_type = 11; - // 附加卡图标 - string head_icon = 12; -} - -// 动态-附加卡-电竞卡-moba类-比赛信息 -message AdditionEsportMobaStatus { - // 文案类 - repeated AdditionEsportMobaStatusDesc addition_esport_moba_status_desc = 1; - // 比赛状态文案 - string title = 2; - // 比赛状态状态 - int32 status = 3; - // 日间色值 - string color = 4; - // 夜间色值 - string night_color = 5; -} - -// 动态-附加卡-电竞卡-moba类-比赛信息-文案类 -message AdditionEsportMobaStatusDesc { - // 文案 - string title = 1; - // 日间色值 - string color = 2; - // 夜间色值 - string night_color = 3; -} - -// 动态-附加卡-电竞卡-战队 -message MatchTeam { - // 战队ID - int64 id = 1; - // 战队名 - string name = 2; - // 战队图标 - string cover = 3; - // 日间色值 - string color = 4; - // 夜间色值 - string night_color = 5; -} - -// up主预约发布卡 -message AdditionUP { - // 标题 - string title = 1; - // 高亮文本,描述文字1 - HighlightText desc_text_1 = 2; - // 描述文字2 - string desc_text_2 = 3; - // 点击跳转链接 - string url = 4; - // 按钮 - AdditionalButton button = 5; - // 附加卡类型 - string card_type = 6; - // 预约人数(用于预约人数变化) - int64 reserve_total = 7; - // 活动皮肤 - AdditionalActSkin act_skin = 8; - // 预约id - int64 rid = 9; -} - -// 活动皮肤 -message AdditionalActSkin { - // 动画SVGA资源 - string svga = 1; - // 动画SVGA最后一帧图片资源 - string last_image = 2; - // 动画播放次数 - int64 play_times = 3; -} - -// 高亮文本 -message HighlightText { - // 展示文本 - string text = 1; - // 高亮类型 - HighlightTextStyle text_style = 2; -} - -// 文本高亮枚举 -enum HighlightTextStyle { - // 默认 - style_none = 0; - // 高亮 - style_highlight = 1; +// 动态详情模块类型 +enum ModuleDynamicType { + mdl_dyn_archive = 0; // 稿件 + mdl_dyn_pgc = 1; // pgc + mdl_dyn_cour_season = 2; // 付费课程-系列 + mdl_dyn_cour_batch = 3; // 付费课程-批次 + mdl_dyn_forward = 4; // 转发卡 + mdl_dyn_draw = 5; // 图文 + mdl_dyn_article = 6; // 专栏 + mdl_dyn_music = 7; // 音频 + mdl_dyn_common = 8; // 通用卡方 + mdl_dyn_live = 9; // 直播卡 + mdl_dyn_medialist = 10; // 播单 + mdl_dyn_applet = 11; // 小程序卡 + mdl_dyn_subscription = 12; // 订阅卡 + mdl_dyn_live_rcmd = 13; // 直播推荐卡 + mdl_dyn_ugc_season = 14; // UGC合集 + mdl_dyn_subscription_new = 15; // 订阅卡 } // 动态-小卡模块 @@ -1565,148 +2977,78 @@ message ModuleExtendItem { } } -// 动态小卡类型 -enum DynExtendType { - // 占位 - dyn_ext_type_none = 0; - // 话题小卡 - dyn_ext_type_topic = 1; - // lbs小卡 - dyn_ext_type_lbs = 2; - // 热门小卡 - dyn_ext_type_hot = 3; - // 游戏小卡 - dyn_ext_type_game = 4; - // 通用小卡 - dyn_ext_type_common = 5; - // 必剪小卡 - dyn_ext_type_biliCut = 6; - // ogv小卡 - dyn_ext_type_ogv = 7; - // 自动附加ogv小卡 - dyn_ext_type_auto_ogv = 8; -} - -// 动态-拓展小卡模块-话题小卡 -message ExtInfoTopic { - // 标题-话题名 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; -} - -// 动态-拓展小卡模块-lbs小卡 -message ExtInfoLBS { - // 标题 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; - // poiType - int32 poi_type = 4; -} - -// 动态-拓展小卡模块-热门小卡 -message ExtInfoHot { - // 标题 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; -} - -// 动态-拓展小卡模块-游戏小卡 -message ExtInfoGame { - // 标题 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; -} - -// 动态-拓展小卡模块-通用小卡 -message ExtInfoCommon { - // 标题 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; - // poiType - int32 poi_type = 4; - // 类型 - DynExtendType type = 5; - // 客户端埋点用 - string sub_module = 6; - // 行动点文案 - string action_text = 7; - // 行动点链接 - string action_url = 8; - // 资源rid - int64 rid = 9; - // 轻浏览是否展示 - bool is_show_light = 10; -} - -// 动态-拓展小卡模块-ogv小卡 -message ExtInfoOGV { - // ogv小卡 - repeated InfoOGV info_ogv = 1; -} - -// 动态-拓展小卡模块-ogv小卡-(one of 片单、榜单、分区) -message InfoOGV { - // 标题 - string title = 1; - // 跳转地址 - string uri = 2; - // 小图标 - string icon = 3; - // 客户端埋点用 - string sub_module = 4; +// 动态-折叠模块 +message ModuleFold { + // 折叠分类 + FoldType fold_type = 1; + // 折叠文案 + string text = 2; + // 被折叠的动态 + string fold_ids = 3; + // 被折叠的用户信息 + repeated UserInfo fold_users = 4; } // 外露交互模块 message ModuleInteraction { // 外露交互模块 - repeated InteractionItem interactionItem = 1; + repeated InteractionItem interaction_item = 1; } -// 外露交互模块 -message InteractionItem { - // 外露模块类型 - LocalIconType icon_type = 1; - // 外露模块文案 - repeated Description desc = 2; - // 外露模块uri相关 根据type不同用法不同 - string uri = 3; - // 动态id - string dynamic_id = 4; - // 评论mid - int64 comment_mid = 6; +// 获取物料失败模块 +message ModuleItemNull { + // 图标 + string icon = 1; + // 文案 + string text = 2; } -// 外露模块类型 -enum LocalIconType { - // - local_icon_comment = 0; - // - local_icon_like = 1; +// 动态-点赞用户模块 +message ModuleLikeUser { + // 点赞用户 + repeated LikeUser like_users = 1; + // 文案 + string display_text = 2; } -// DynUriType -enum DynUriType { - // - dyn_uri_type_none = 0; - // 直接跳转对应uri - dyn_uri_type_direct = 1; - // 作为后缀拼接 - dyn_uri_type_suffix = 2; +// 推荐模块 +message ModuleRcmd { + // 用户头像 + RcmdAuthor author = 1; + // 推荐卡片列表 + repeated RcmdItem items = 2; + // 透传到客户端的埋点字段 + string server_info = 3; +} + +// 相关推荐模块 +message ModuleRecommend { + // 模块标题 + string module_title = 1; + // 图片 + string image = 2; + // 标签 + string tag = 3; + // 标题 + string title = 4; + // 跳转链接 + string jump_url = 5; + // 序列化的广告信息 + repeated google.protobuf.Any ad = 6; +} + +// 分享模块 +message ModuleShareInfo { + // 展示标题 + string title = 1; + // 分享组件列表 + repeated ShareChannel share_channels = 2; + // share_origin + string share_origin = 3; + // 业务id + string oid = 4; + // sid + string sid = 5; } // 动态-计数模块 @@ -1731,58 +3073,352 @@ message ModuleStat { string no_forward_text = 9; } -// 动态-折叠模块 -message ModuleFold { - // 折叠分类 - FoldType fold_type = 1; - // 折叠文案 - string text = 2; - // 被折叠的动态 - string fold_ids = 3; - // 被折叠的用户信息 - repeated UserInfo fold_users = 4; +// +message ModuleStory { + // + string title = 1; + // + repeated StoryItem items = 2; + // + bool show_publish_entrance = 3; + // + int64 fold_state = 4; + // + string uri = 5; + // + string cover = 6; + // + string publish_text = 7; } -// 折叠类型 -enum FoldType { - // 占位 - FoldTypeZore = 0; - // 用户发布折叠 - FoldTypePublish = 1; - // 转发超频折叠 - FoldTypeFrequent = 2; - // 联合投稿折叠 - FoldTypeUnite = 3; - // 动态受限折叠 - FoldTypeLimit = 4; +// +message ModuleTitle { + // + string title = 1; + // + IconButton right_btn = 2; } -// 动态综合页-请求 -message DynAllReq { - // 透传 update_baseline - string update_baseline = 1; - // 透传 history_offset - string offset = 2; - // 向下翻页数 - int32 page = 3; - // 刷新方式 1向上刷新 2向下翻页 - Refresh refresh_type = 4; - // 秒开参数 新版本废弃,统一使用player_args - PlayurlParam playurl_param = 5; - // 综合页当前更新的最大值 - string assist_baseline = 6; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 7; - // 推荐up主入参(new的时候传) - RcmdUPsParam rcmd_ups_param = 8; - // 广告参数 - AdParam ad_param = 9; - // 是否冷启 - int32 cold_start = 10; - // 来源 - string from = 11; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 12; +// 顶部模块 +message ModuleTop { + // 三点模块 + repeated ThreePointItem tp_list = 1; +} + +// +message ModuleTopTag { + // + string tag_name = 1; +} + +// +message ModuleTopic { + // + int64 id = 1; + // + string name = 2; + // + string url = 3; +} + +// +message ModuleTopicBrief { + // + TopicItem topic = 1; +} + +// +message ModuleTopicDetailsExt { + // + string comment_guide = 1; +} + +// 认证名牌 +message Nameplate { + // nid + int64 nid = 1; + // 名称 + string name = 2; + // 图片地址 + string image = 3; + // 小图地址 + string image_small = 4; + // 等级 + string level = 5; + // 获取条件 + string condition = 6; +} + +enum NetworkType { + NT_UNKNOWN = 0; // + WIFI = 1; // + CELLULAR = 2; // + OFFLINE = 3; // + OTHERNET = 4; // + ETHERNET = 5; // +} + +// 最新ep +message NewEP { + // 最新话epid + int32 id = 1; + // 更新至XX话 + string index_show = 2; + // 更新剧集的封面 + string cover = 3; +} + +// 空响应 +message NoReply { + +} + +// 空请求 +message NoReq { + +} + +// +message OfficialAccountInfo { + // + UserInfo author = 1; + // + int64 mid = 2; + // + string uri = 3; + // + Relation relation = 4; + // + string desc_text1 = 5; + // + string desc_text2 = 6; +} + +// +message OfficialAccountsReply { + // + repeated OfficialAccountInfo items = 1; + // + bool has_more = 2; + // + int64 offset = 3; +} + +// +message OfficialAccountsReq { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + int64 offset = 3; +} + +// +message OfficialDynamicsReply { + // + repeated OfficialItem items = 1; + // + int64 offset = 2; + // + bool has_more = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; +} + +// +message OfficialDynamicsReq { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + int64 offset = 3; +} + +message OfficialItem { + int32 type = 1; + oneof rcmd_item { + OfficialRcmdArchive rcmd_archive = 2; + OfficialRcmdDynamic rcmd_dynamic = 3; + }; +} + +// +message OfficialRcmdArchive { + // + string title = 1; + // + string cover = 2; + // + string cover_right_text = 3; + // + int32 desc_icon1 = 4; + // + string desc_text1 = 5; + // + int32 desc_icon2 = 6; + // + string desc_text2 = 7; + // + string reason = 8; + // + bool show_three_point = 9; + // + string uri = 10; + // + int64 aid = 11; + // + int64 mid = 12; + // + string name = 13; + // + int64 dynamic_id = 14; + // + int64 cid = 15; +} + +// +message OfficialRcmdDynamic { + // + string title = 1; + // + string cover = 2; + // + string cover_right_top_text = 3; + // + int32 desc_icon1 = 4; + // + string desc_text1 = 5; + // + int32 desc_icon2 = 6; + // + string desc_text2 = 7; + // + string reason = 8; + // + string uri = 9; + // + int64 dynamic_id = 10; + // + int64 mid = 11; + // + string user_name = 12; + // + int64 rid = 13; +} + +// 认证信息 +message OfficialVerify { + // 127:未认证 0:个人 1:机构 + int32 type = 1; + // 认证描述 + string desc = 2; + // 是否关注 + int32 is_atten = 3; +} + +// PGC单季信息 +message PGCSeason { + // 是否完结 + int32 is_finish = 1; + // 标题 + string title = 2; + // 类型 + int32 type = 3; +} + +// 秒开通用参数 +message PlayurlParam { + // 清晰度 + int32 qn = 1; + // 流版本 + int32 fnver = 2; + // 流类型 + int32 fnval = 3; + // 是否强制使用域名 + int32 force_host = 4; + // 是否4k + int32 fourk = 5; +} + +// +message Popup { + // + string title = 1; + // + string desc = 2; + // + string uri = 3; +} + +// +message RcmdArchive { + // 标题 + string title = 1; + // 封面图 + string cover = 2; + // 视频封面展示项 1 + CoverIcon cover_left_icon_1 = 3; + // 视频封面展示项 1 + string cover_left_text_1 = 4; + // 秒开地址 + string uri = 5; + // 是否PGC + bool is_pgc = 6; + // aid + int64 aid = 7; + // + IconBadge badge = 8; + // + int32 cover_left_icon2 = 9; + // + string cover_left_text2 = 10; + // + int32 cover_left_icon3 = 11; + // + string cover_left_text3 = 12; +} + +// 推荐UP主用户模块 +message RcmdAuthor { + // 用户详情 + UserInfo author = 1; + // 描述:粉丝数、推荐理由 + string desc = 2; + // 关注状态 + Relation relation = 3; +} + +// 推荐卡片列表 +message RcmdItem { + // 卡片类型 + RcmdType type = 1; + // 卡片列表 + oneof rcmd_item { + // + RcmdArchive rcmd_archive = 2; + } +} + +// 分区聚类推荐选项 +message RcmdOption{ + // 视频是否展示标题 + bool show_title = 1; +} + +// +message RcmdTopButton { + // + string text = 1; + // + string url = 2; +} + +// 推荐模块数据类型 +enum RcmdType { + rcmd_archive = 0; // 稿件 + rcmd_dynamic = 1; // 动态 } // 推荐up主入参 @@ -1790,40 +3426,574 @@ message RcmdUPsParam { int64 dislike_ts = 1; } -// 综合页请求广告所需字段,由客户端-网关透传 -message AdParam { - //综合页请求广告所需字段,由客户端-网关透传 - string ad_extra = 1; - // request_id - string request_id = 2; +// 刷新方式 +enum Refresh { + refresh_new = 0; // 刷新列表 + refresh_history = 1; // 请求历史 } -// 动态综合页-响应 -message DynAllReply { - // 卡片列表 - DynamicList dynamic_list = 1; - // 顶部up list - CardVideoUpList up_list = 2; - // 话题广场 - TopicList topic_list = 3; - // 无关注推荐 - Unfollow unfollow = 4; - // 分区UP推荐 - DynRegionRcmd region_rcmd = 5; +// 关注关系 +message Relation { + // 关注状态 + RelationStatus status = 1; + // 关注 + int32 is_follow = 2; + // 被关注 + int32 is_followed = 3; + // 文案 + string title = 4; } -//动态卡片列表 -message DynamicList { - // 动态列表 +// 关注关系 枚举 +enum RelationStatus { + // 1-未关注 2-关注 3-被关注 4-互相关注 5-特别关注 + relation_status_none = 0; + relation_status_nofollow = 1; + relation_status_follow = 2; + relation_status_followed = 3; + relation_status_mutual_concern = 4; + relation_status_special = 5; +} + +// 转发列表-请求 +message RepostListReq { + // 动态ID + string dynamic_id = 1; + // 动态类型 + int64 dyn_type = 2; + // 业务方资源id + int64 rid = 3; + // 偏移,使用上一页回包中的offset字段;第一页不传。 + string offset = 4; + // 来源 + string from = 5; + // 评论类型 + RepostType repost_type = 6; +} + +// 转发列表-响应 +message RepostListRsp { + // 列表 repeated DynamicItem list = 1; - // 更新的动态数 - int64 update_num = 2; - // 历史偏移 - string history_offset = 3; - // 更新基础信息 - string update_baseline = 4; - // 是否还有更多数据 + // 偏移 + string offset = 2; + // 是否还有更多 + bool has_more = 3; + // 转发总数 + int64 total_count = 4; + // 评论类型 + RepostType repost_type = 5; +} + +// 评论类型 +enum RepostType { + repost_hot = 0; // 热门评论 + repost_general = 1; // 普通评论 +} + +// +enum ReserveRelationLotteryType { + reserve_relation_lottery_type_default = 0; // + reserve_relation_lottery_type_cron = 1; // +} + +// +enum ReserveType { + reserve_none = 0; // 占位 + reserve_recall = 1; // 预约召回 +} + +// +message SchoolRecommendReply { + // + repeated CampusInfo items = 1; +} + +// +message SchoolRecommendReq { + // + float lat = 1; + // + float lng = 2; +} + +// +message SchoolSearchReply { + // + repeated CampusInfo items = 1; + // + SearchToast toast = 2; +} + +// +message SchoolSearchReq { + // + string keyword = 1; +} + +// +message SearchChannel { + // + string title = 1; + // + SearchTopicButton more_button = 2; + // + repeated ChannelInfo channels = 3; +} + +// +message SearchInfo { + // + string title = 1; + // + repeated DynamicItem list = 2; + // + string track_id = 3; + // + int64 total = 4; + // bool has_more = 5; + // + string version = 6; +} + +// +message SearchToast { + // + string desc_text1 = 1; + // + string desc_text2 = 2; +} + +// +message SearchTopic { + // + string title = 1; + // + SearchTopicButton more_button = 2; + // + repeated SearchTopicItem items = 3; +} + +// +message SearchTopicButton { + // + string title = 1; + // + string jump_uri = 2; +} + +// +message SearchTopicItem { + // + int64 topic_id = 1; + // + string topic_name = 2; + // + string desc = 3; + // + string url = 4; + // + bool is_activity = 5; +} + +// +message SetDecisionReq { + // + int32 result = 1; +} + +// +message SetRecentCampusReq { + // + int64 campus_id = 1; + // + string campus_name = 2; +} + +// 分享渠道组件 +message ShareChannel { + // 分享名称 + string name = 1; + // 分享按钮图片 + string image = 2; + // 分享渠道 + string channel = 3; + // 预约卡分享图信息,仅分享有预约信息的动态时存在 + ShareReserve reserve = 4; +} + +// 预约卡分享图信息 +message ShareReserve { + // 展示标题 + string title = 1; + // 描述(时间+类型) + string desc = 2; + // 二维码附带icon + string qr_code_icon = 3; + // 二维码附带文本 + string qr_code_text = 4; + // 二维码url + string qr_code_url = 5; + // + AdditionUserInfo user_info = 6; +} + +// +enum ShowType { + show_type_none = 0; // + show_type_backup = 1; // +} + +// 排序类型 +message SortType { + // 排序策略 + // 1:推荐排序 2:最常访问 3:最近关注 + int32 sort_type = 1; + // 排序策略名称 + string sort_type_name = 2; +} + +// +message StoryArchive { + // + string cover = 1; + // + int64 aid = 2; + // + string uri = 3; + // + Dimension dimension = 4; +} + +// +message StoryItem { + // + UserInfo author = 1; + // + string desc = 2; + // + int64 status = 3; + // + int32 type = 4; + oneof rcmd_item { + // + StoryArchive story_archive = 5; + } +} + +// +enum StyleType { + STYLE_TYPE_NONE = 0; // + STYLE_TYPE_LIVE = 1; // + STYLE_TYPE_DYN_UP = 2; // +} + +// +message SubscribeCampusReq { + // + int64 campus_id = 1; + // + string campus_name = 2; +} + +// +enum TFType { + U_CARD = 0; // + U_PKG = 1; // + C_CARD = 2; // + C_PKG = 3; // + T_CARD = 4; // + T_PKG = 5; // +} + +// 三点-关注 +message ThreePointAttention { + // attention icon + string attention_icon = 1; + // 关注时显示的文案 + string attention_text = 2; + // not attention icon + string not_attention_icon = 3; + // 未关注时显示的文案 + string not_attention_text = 4; + // 当前关注状态 + ThreePointAttentionStatus status = 5; +} + +// 枚举-三点关注状态 +enum ThreePointAttentionStatus { + tp_not_attention = 0; // + tp_attention = 1; // +} + +// 三点-自动播放 旧版不维护 +message ThreePointAutoPlay { + // open icon + string open_icon = 1; + // 开启时显示文案 + string open_text = 2; + // close icon + string close_icon = 3; + // 关闭时显示文案 + string close_text = 4; + // 开启时显示文案v2 + string open_text_v2 = 5; + // 关闭时显示文案v2 + string close_text_v2 = 6; + // 仅wifi/免流 icon + string only_icon = 7; + // 仅wifi/免流 文案 + string only_text = 8; + // open icon v2 + string open_icon_v2 = 9; + // close icon v2 + string close_icon_v2 = 10; +} + +// 三点-评论 +message ThreePointComment { + // 精选评论区功能 + CommentDetail up_selection = 1; + // up关闭评论区功能 + CommentDetail up_close = 2; + // icon + string icon = 3; + // 标题 + string title = 4; +} + +// 三点-默认结构(使用此背景、举报、删除) +message ThreePointDefault { + // icon + string icon = 1; + // 标题 + string title = 2; + // 跳转链接 + string uri = 3; + // id + string id = 4; + // + ThreePointDefaultToast toast = 5; +} + +// +message ThreePointDefaultToast { + // + string title = 1; + // + string desc = 2; +} + +// 三点-不感兴趣 +message ThreePointDislike { + // icon + string icon = 1; + // 标题 + string title = 2; +} + +// 三点-收藏 +message ThreePointFavorite { + // icon + string icon = 1; + // 标题 + string title = 2; + // 物料ID + int64 id = 3; + // 是否订阅 + bool is_favourite = 4; + // 取消收藏图标 + string cancel_icon = 5; + // 取消收藏文案 + string cancel_title = 6; +} + +// +message ThreePointHide { + // + string icon = 1; + // + string title = 2; + // + ThreePointHideInteractive interactive = 3; + // + int64 blook_fid = 4; + // + string blook_type = 5; +} + +// +message ThreePointHideInteractive { + // + string title = 1; + // + string confirm = 2; + // + string cancel = 3; + // + string toast = 4; +} + +// 三点Item +message ThreePointItem { + //类型 + ThreePointType type = 1; + oneof item { + // 默认结构 + ThreePointDefault default = 2; + // 自动播放 + ThreePointAutoPlay auto_player = 3; + // 分享 + ThreePointShare share = 4; + // 关注 + ThreePointAttention attention = 5; + // 稍后在看 + ThreePointWait wait = 6; + // 不感兴趣 + ThreePointDislike dislike = 7; + // 收藏 + ThreePointFavorite favorite = 8; + // 置顶 + ThreePointTop top = 9; + // 评论 + ThreePointComment comment = 10; + // + ThreePointHide hide = 11; + // + ThreePointTopicIrrelevant topic_irrelevant = 12; + } +} + +// 三点-分享 +message ThreePointShare { + // icon + string icon = 1; + // 标题 + string title = 2; + // 分享渠道 + repeated ThreePointShareChannel channel = 3; + // 分享渠道名 + string channel_name = 4; + // 预约卡分享图信息,仅分享有预约信息的动态时存在 + ShareReserve reserve = 5; +} + +// 三点-分享渠道 +message ThreePointShareChannel { + // icon + string icon = 1; + // 名称 + string title = 2; +} + +// 三点-置顶 +message ThreePointTop { + // icon + string icon = 1; + // 标题 + string title = 2; + // 状态 + TopType type = 3; +} + +// +message ThreePointTopicIrrelevant { + // + string icon = 1; + // + string title = 2; + // + string toast = 3; + // + int64 topic_id = 4; + // + int64 res_id = 5; + // + int64 res_type = 6; + // + string reason = 7; +} + +// 三点类型 +enum ThreePointType { + tp_none = 0; // 占位 + background = 1; // 使用此背景 + auto_play = 2; // 自动播放 + share = 3; // 分享 + wait = 4; // 稍后再播 + attention = 5; // 关注 + report = 6; // 举报 + delete = 7; // 删除 + dislike = 8; // 不感兴趣 + favorite = 9; // 收藏 + top = 10; // 置顶 + comment = 11; // 评论 + hide = 12; // + campus_delete = 13; // + topic_irrelevant = 14; // +} + +// 三点-稍后在看 +message ThreePointWait { + // addition icon + string addition_icon = 1; + // 已添加时的文案 + string addition_text = 2; + // no addition icon + string no_addition_icon = 3; + // 未添加时的文案 + string no_addition_text = 4; + // avid + int64 id = 5; +} + +// +enum ThumbType { + cancel = 0; // + thumb = 1; // +} + +// 顶部预约卡 +message TopAdditionUP { + // 预约卡 + repeated AdditionUP up = 1; + // 折叠数量,大于多少个进行折叠 + int32 has_fold = 2; +} + +// 状态 +enum TopType { + top_none = 0; // 默认 置顶 + top_cancel = 1; // 取消置顶 +} + +// 话题广场操作按钮 +message TopicButton { + // 按钮图标 + string icon = 1; + // 按钮文案 + string title = 2; + // 跳转 + string jump_uri = 3; + // + bool red_dot = 4; +} + +// +message TopicItem { + // + int64 topic_id = 1; + // + string topic_name = 2; + // + string url = 3; + // + string desc = 4; + // + string desc2 = 5; + // + string rcmd_desc = 6; } // 综合页-话题广场 @@ -1856,16 +4026,72 @@ message TopicListItem { int64 pos = 6; // 透传服务端上报 string server_info = 7; + // + string head_icon_url = 8; + // + int64 up_mid = 9; + // + string tail_icon_url = 10; + // + string extension = 11; } -// 话题广场操作按钮 -message TopicButton { - // 按钮图标 - string icon = 1; - // 按钮文案 - string title = 2; - // 跳转 - string jump_uri = 3; +// +message TopicListReply { + // + repeated TopicItem items = 1; + // + bool has_more = 2; + // + string offset = 3; +} + +// +message TopicListReq { + // + int64 campus_id = 1; + // + string offset = 2; +} + +// +message TopicRcmdCard { + // + int64 topic_id = 1; + // + string topic_name = 2; + // + string url = 3; + // + CampusLabel button = 4; + // + string desc1 = 5; + // + string desc2 = 6; + // + string update_desc = 7; +} + +// +message TopicSquareInfo { + // + string title = 1; + // + CampusLabel button = 2; + // + TopicRcmdCard rcmd = 3; +} + +// +message TopicSquareReply { + // + TopicSquareInfo info = 1; +} + +// +message TopicSquareReq { + // + int64 campus_id = 1; } // 综合页-无关注列表 @@ -1906,102 +4132,6 @@ message UnfollowUserItem { string uri = 12; } -// 批量动态id获取动态详情-请求 -message DynDetailsReq { - // 动态id - string dynamic_ids = 1; - // 秒开参数 新版本废弃,统一使用player_args - PlayurlParam playurl_param = 2; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 3; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; -} - -// 批量动态id获取动态详情-响应 -message DynDetailsReply { - // 动态列表 - repeated DynamicItem list = 1; -} - -// 最近访问-个人feed流列表-请求 -message DynVideoPersonalReq { - // 被访问者的 UID - int64 host_uid = 1; - // 偏移量 第一页可传空 - string offset = 2; - // 标明下拉几次 - int32 page = 3; - // 是否是预加载 - int32 is_preload = 4; - // 秒开参数 新版本废弃,统一使用player_args - PlayurlParam playurl_param = 5; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 6; - // 服务端生成的透传上报字段 - string footprint = 7; - // 来源 - string from = 8; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; -} - -// 最近访问-个人feed流列表-响应 -message DynVideoPersonalReply { - // 动态列表 - repeated DynamicItem list = 1; - // 偏移量 - string offset = 2; - // 是否还有更多数据 - bool has_more = 3; - // 已读进度 - string read_offset = 4; - // 关注状态 - Relation relation = 5; - // 顶部预约卡 - TopAdditionUP addition_up = 6; -} - -// 最近访问-标记已读-请求 -message DynVideoUpdOffsetReq { - // 被访问者的UID - int64 host_uid = 1; - // 用户已读进度 - string read_offset = 2; - // 服务端生成的透传上报字段 - string footprint = 3; -} - -// 视频页-最近访问 -message CardVideoUpList { - // 标题展示文案 - string title = 1; - // up主列表 - repeated UpListItem list = 2; - // 服务端生成的透传上报字段 - string footprint = 3; - // 直播数 - int32 show_live_num = 4; - // 跳转label - UpListMoreLabel more_label = 5; - // 标题开关(综合页) - int32 title_switch = 6; - // 是否展示右上角查看更多label - bool show_more_label = 7; - // 是否在快速消费页查看更多按钮 - bool show_in_personal = 8; - // 是否展示右侧查看更多按钮 - bool show_more_button = 9; -} - -// 最常访问-查看更多 -message UpListMoreLabel { - // 文案 - string title = 1; - // 跳转地址 - string uri = 2; -} - // 动态顶部up列表-up主信息 message UpListItem { // 是否有更新 @@ -2032,18 +4162,42 @@ message UpListItem { bool is_recall = 13; } -// 用户类型 -enum UserItemType { +// 最常访问-查看更多 +message UpListMoreLabel { + // 文案 + string title = 1; + // 跳转地址 + string uri = 2; +} + +// 用户信息 +message UserInfo { + // 用户mid + int64 mid = 1; + // 用户昵称 + string name = 2; + // 用户头像 + string face = 3; + // 认证信息 + OfficialVerify official = 4; + // 大会员信息 + VipInfo vip = 5; + // 直播信息 + LiveInfo live = 6; + // 空间页跳转链接 + string uri = 7; + // 挂件信息 + UserPendant pendant = 8; + // 认证名牌 + Nameplate nameplate = 9; + // 用户等级 + int32 level = 10; + // 用户简介 + string sign = 11; // - user_item_type_none = 0; + int32 face_nft = 12; // - user_item_type_live = 1; - // - user_item_type_live_custom = 2; - // - user_item_type_normal = 3; - // - user_item_type_extend = 4; + int32 face_nft_new = 13; } // 直播头像样式 @@ -2060,634 +4214,102 @@ message UserItemStyle { string outer_animation = 5; } -// 视频页-我的追番 -message CardVideoFollowList { - // 查看全部(跳转链接) - string view_all_link = 1; - // 追番列表 - repeated FollowListItem list = 2; +// 用户类型 +enum UserItemType { + user_item_type_none = 0; // + user_item_type_live = 1; // + user_item_type_live_custom = 2; // + user_item_type_normal = 3; // + user_item_type_extend = 4; // } -// 视频页-我的追番-番剧信息 -message FollowListItem { - // season_id - int64 season_id = 1; - // 标题 - string title = 2; - // 封面图 - string cover = 3; - // 跳转链接 - string url = 4; - // new_ep - NewEP new_ep = 5; - // 子标题 - string sub_title = 6; - // 卡片位次 - int64 pos = 7; +// 头像挂件信息 +message UserPendant { + // pid + int64 pid = 1; + // 名称 + string name = 2; + // 图片链接 + string image = 3; + // 有效期 + int64 expire = 4; } -// 最新ep -message NewEP { - // 最新话epid - int32 id = 1; - // 更新至XX话 - string index_show = 2; - // 更新剧集的封面 - string cover = 3; -} - -// 扩展字段,用于动态部分操作使用 -message Extend { - // 动态id - string dyn_id_str = 1; - // 业务方id - string business_id = 2; - // 源动态id - string orig_dyn_id_str = 3; - // 转发卡:用户名 - string orig_name = 4; - // 转发卡:图片url - string orig_img_url = 5; - // 转发卡:文字内容 - repeated Description orig_desc = 6; - // 填充文字内容 - repeated Description desc = 7; - // 被转发的源动态类型 - DynamicType orig_dyn_type = 8; - // 分享到站外展示类型 - string share_type = 9; - // 分享的场景 - string share_scene = 10; - // 是否快速转发 - bool is_fast_share = 11; - // r_type 分享和转发 - int32 r_type = 12; - // 数据源的动态类型 - int64 dyn_type = 13; - // 用户id - int64 uid = 14; - // 卡片跳转 - string card_url = 15; - // 透传字段 - google.protobuf.Any source_content = 16; - // 转发卡:用户头像 - string orig_face = 17; - // 评论跳转 - ExtendReply reply = 18; -} - -// 评论扩展 -message ExtendReply { - // 基础跳转地址 - string uri = 1; - // 参数部分 - repeated ExtendReplyParam params = 2; -} - -// 评论扩展参数部分 -message ExtendReplyParam { - // 参数名 - string key = 1; - // 参数值 - string value = 2; -} - -// 动态模块类型 -enum DynModuleType { - // 占位 - module_none = 0; - // 发布人模块 - module_author = 1; - // 争议小黄条 - module_dispute = 2; - // 描述文案 - module_desc = 3; - // 动态卡片 - module_dynamic = 4; - // 转发模块 - module_forward = 5; - // 点赞用户(废弃) - module_likeUser = 6; - // 小卡模块 - module_extend = 7; - // 附加卡 - module_additional = 8; - // 计数信息 - module_stat = 9; - // 折叠 - module_fold = 10; - // 评论外露(废弃) - module_comment = 11; - // 外露交互模块(点赞、评论) - module_interaction = 12; - // 转发卡的发布人模块 - module_author_forward = 13; - // 广告卡模块 - module_ad = 14; - // 通栏模块 - module_banner = 15; - // 获取物料失败模块 - module_item_null = 16; - // 分享组件 - module_share_info = 17; - // 相关推荐模块 - module_recommend = 18; - // 转发卡计数信息 - module_stat_forward = 19; - // 顶部模块 - module_top = 20; - // 底部模块 - module_bottom = 21; -} - -// 动态列表-用户模块-转发模板 -message ModuleAuthorForward { - // 展示标题 - repeated ModuleAuthorForwardTitle title = 1; - // 源卡片跳转链接 - string url = 2; - // 用户uid - int64 uid = 3; - // 时间标签 - string ptime_label_text = 4; - // 是否展示关注 - bool show_follow = 5; - // 源up主头像 - string face_url = 6; - // 双向关系 - Relation relation = 7; - // 右侧操作区域 - 三点样式 - repeated ThreePointItem tp_list = 8; -} - -// 动态列表-用户模块-转发模板-title部分 -message ModuleAuthorForwardTitle { +// 角标信息 +message VideoBadge { // 文案 string text = 1; - // 跳转链接 - string url = 2; + // 文案颜色-日间 + 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; + // 背景透明度-日间 + int32 bg_alpha = 9; + // 背景透明度-夜间 + int32 bg_alpha_night = 10; } -// 动态列表-用户模块-广告卡 -message ModuleAd { - // 广告透传信息 - google.protobuf.Any source_content = 1; - // 用户模块 - ModuleAuthor module_author = 2; +// 番剧类型 +enum VideoSubType { + VideoSubTypeNone = 0; // 没有子类型 + VideoSubTypeBangumi = 1; // 番剧 + VideoSubTypeMovie = 2; // 电影 + VideoSubTypeDocumentary = 3; // 纪录片 + VideoSubTypeDomestic = 4; // 国创 + VideoSubTypeTeleplay = 5; // 电视剧 } -// 动态列表-通栏 -message ModuleBanner { - // 模块标题 - string title = 1; - // 卡片类型 - ModuleBannerType type = 2; - // 卡片 - oneof item{ - ModuleBannerUser user = 3; - } - // 不感兴趣文案 - string dislike_text = 4; - // 不感兴趣图标 - string dislike_icon = 5; +// 视频类型 +enum VideoType { + video_type_general = 0; //普通视频 + video_type_dynamic = 1; //动态视频 + video_type_playback = 2; //直播回放视频 + video_type_story = 3; // } -// 动态模块-投票 -message AdditionVote2 { - // 投票类型 - AdditionVoteType addition_vote_type = 1; - // 投票ID - int64 vote_id = 2; - // 标题 - string title = 3; - // 已过期: xxx人参与· 投票已过期。button 展示去查看 - // 未过期: xxx人参与· 剩xx天xx时xx分。button展示去投票 - string label = 4; - // 剩余时间 - int64 deadline = 5; - // 生效文案 - string open_text = 6; - // 过期文案 - string close_text = 7; - // 已投票 - string voted_text = 8; - // 投票状态 - AdditionVoteState state = 9; - // 投票信息 - oneof item { - // - AdditionVoteWord addition_vote_word = 10; - // - AdditionVotePic addition_vote_pic = 11; - // - AdditionVoteDefaule addition_vote_defaule = 12; - } - // 业务类型 - // 0:动态投票 1:话题h5组件 - int32 biz_type = 13; - // 投票总人数 - int64 total = 14; - // 附加卡类型 - string card_type = 15; - // 异常提示 - string tips = 16; - // 跳转地址 - string uri = 17; - // 是否投票 - bool is_voted = 18; - // 投票最多多选个数,单选为1 - int32 choice_cnt = 19; - // 是否默认选中分享到动态 - bool defaule_select_share = 20; +// 大会员信息 +message VipInfo { + // 大会员类型 + int32 Type = 1; + // 大会员状态 + int32 status = 2; + // 到期时间 + int64 due_date = 3; + // 标签 + VipLabel label = 4; + // 主题 + int32 theme_type = 5; + // 大会员角标 + // 0:无角标 1:粉色大会员角标 2:绿色小会员角标 + int32 avatar_subscript = 6; + // 昵称色值,可能为空,色值示例:#FFFB9E60 + string nickname_color = 7; } -// 投票类型 -enum AdditionVoteType { - // - addition_vote_type_none = 0; - // - addition_vote_type_word = 1; - // - addition_vote_type_pic = 2; - // - addition_vote_type_default = 3; -} - -// 外露文字类型 -message AdditionVoteWord { - // 外露文字投票详情 - repeated AdditionVoteWordItem item = 1; -} - -// 外露文字投票详情 -message AdditionVoteWordItem { - // 选项索引,从1开始 - int32 opt_idx = 1; - // 文案 - string title = 2; - // 选中状态 - bool is_vote = 3; - // 人数 - int32 total = 4; - // 占比 - double persent = 5; - // 是否投票人数最多的选项 - bool is_max_option = 6; -} - -// 外露图片类型 -message AdditionVotePic { - // 图片投票详情 - repeated AdditionVotePicItem item = 1; -} - -// 图片投票详情 -message AdditionVotePicItem { - // 选项索引,从1开始 - int32 opt_idx = 1; - // 图片 - string cover = 2; - // 选中状态 - bool is_vote = 3; - // 人数 - int32 total = 4; - // 占比 - double persent = 5; - // 标题文案 - string title = 6; - // 是否投票人数最多的选项 - bool is_max_option = 7; -} - -// 外露投票 -message AdditionVoteDefaule { - // 图片 多张 - repeated string cover = 1; -} - -// 投票状态 -enum AdditionVoteState { - // - addition_vote_state_none = 0; - // - addition_vote_state_open = 1; - // - addition_vote_state_close = 2; -} - -// 动态列表-通栏类型 -enum ModuleBannerType { - // - module_banner_type_none = 0; - // - module_banner_type_user = 1; -} - -// 获取物料失败模块 -message ModuleItemNull { - // 图标 - string icon = 1; - // 文案 +// 大会员标签 +message VipLabel { + // 图片地址 + string path = 1; + // 文本值 string text = 2; -} - -// 动态通栏-用户 -message ModuleBannerUser { - // 卡片列表 - repeated ModuleBannerUserItem list = 1; -} - -// 动态通栏-推荐用户卡 -message ModuleBannerUserItem { - // up主头像 - string face = 1; - // up主昵称 - string name = 2; - // up主uid - int64 uid = 3; - // 直播状态 - LiveState live_state = 4; - // 认证信息 - OfficialVerify official = 5; - // 大会员信息 - VipInfo vip = 6; - // 标签信息 - string label = 7; - // 按钮 - AdditionalButton button = 8; - // 跳转地址 - string uri = 9; -} - -// 动态-点赞用户模块 -message ModuleLikeUser { - // 点赞用户 - repeated LikeUser like_users = 1; - // 文案 - string display_text = 2; -} - -// 点赞用户 -message LikeUser { - // 用户mid - int64 uid = 1; - // 用户昵称 - string uname = 2; - // 点击跳转链接 - string uri = 3; -} - -// 点赞拓展信息 -message LikeInfo { - // 点赞动画 - LikeAnimation animation = 1; - // 是否点赞 - bool is_like = 2; -} - -// 点赞动画 -message LikeAnimation { - // 开始动画 - string begin = 1; - // 过程动画 - string proc = 2; - // 结束动画 - string end = 3; - // id - int64 like_icon_id = 4; -} - -// 右侧操作区域样式枚举 -enum ModuleAuthorBadgeType { - // 占位 - module_author_badge_type_none = 0; - // 三点 - module_author_badge_type_threePoint = 1; - // 按钮类型 - module_author_badge_type_button = 2; - // 提权 - module_author_badge_type_weight = 3; -} - -// 三点Item -message ThreePointItem { - //类型 - ThreePointType type = 1; - oneof item { - // 默认结构 - ThreePointDefault default = 2; - // 自动播放 - ThreePointAutoPlay auto_player = 3; - // 分享 - ThreePointShare share = 4; - // 关注 - ThreePointAttention attention = 5; - // 稍后在看 - ThreePointWait wait = 6; - // 不感兴趣 - ThreePointDislike dislike = 7; - // 收藏 - ThreePointFavorite favorite = 8; - // 置顶 - ThreePointTop top = 9; - // 评论 - ThreePointComment comment = 10; - } -} - -// 三点类型 -enum ThreePointType { - // 占位 - tp_none = 0; - // 使用此背景 - background = 1; - // 自动播放 - auto_play = 2; - // 分享 - share = 3; - // 稍后再播 - wait = 4; - // 关注 - attention = 5; - // 举报 - report = 6; - // 删除 - delete = 7; - // 不感兴趣 - dislike = 8; - // 收藏 - favorite = 9; - // 置顶 - top = 10; - // 评论 - comment = 11; -} - -// 动态列表渲染部分-用户模块-按钮 -message ModuleAuthorBadgeButton { - // 图标 - string icon = 1; - // 文案 - string title = 2; - // 状态 - int32 state = 3; - // 物料ID - int64 id = 4; -} - -// 三点-默认结构(使用此背景、举报、删除) -message ThreePointDefault { - // icon - string icon = 1; - // 标题 - string title = 2; - // 跳转链接 - string uri = 3; - // id - string id = 4; -} - -// 三点-自动播放 旧版不维护 -message ThreePointAutoPlay { - // open icon - string open_icon = 1; - // 开启时显示文案 - string open_text = 2; - // close icon - string close_icon = 3; - // 关闭时显示文案 - string close_text = 4; - // 开启时显示文案v2 - string open_text_v2 = 5; - // 关闭时显示文案v2 - string close_text_v2 = 6; - // 仅wifi/免流 icon - string only_icon = 7; - // 仅wifi/免流 文案 - string only_text = 8; - // open icon v2 - string open_icon_v2 = 9; - // close icon v2 - string close_icon_v2 = 10; -} - -// 三点-分享 -message ThreePointShare { - // icon - string icon = 1; - // 标题 - string title = 2; - // 分享渠道 - repeated ThreePointShareChannel channel = 3; - // 分享渠道名 - string channel_name = 4; - // 预约卡分享图信息,仅分享有预约信息的动态时存在 - ShareReserve reserve = 5; -} - -// 三点-分享渠道 -message ThreePointShareChannel { - // icon - string icon = 1; - // 名称 - string title = 2; -} - -// 三点-关注 -message ThreePointAttention { - // attention icon - string attention_icon = 1; - // 关注时显示的文案 - string attention_text = 2; - // not attention icon - string not_attention_icon = 3; - // 未关注时显示的文案 - string not_attention_text = 4; - // 当前关注状态 - ThreePointAttentionStatus status = 5; -} - -// 枚举-三点关注状态 -enum ThreePointAttentionStatus { - tp_not_attention = 0; - tp_attention = 1; -} - -// 三点-稍后在看 -message ThreePointWait { - // addition icon - string addition_icon = 1; - // 已添加时的文案 - string addition_text = 2; - // no addition icon - string no_addition_icon = 3; - // 未添加时的文案 - string no_addition_text = 4; - // avid - int64 id = 5; -} - -// 三点-不感兴趣 -message ThreePointDislike { - // icon - string icon = 1; - // 标题 - string title = 2; -} - -// 三点-收藏 -message ThreePointFavorite { - // icon - string icon = 1; - // 标题 - string title = 2; - // 物料ID - int64 id = 3; - // 是否订阅 - bool is_favourite = 4; - // 取消收藏图标 - string cancel_icon = 5; - // 取消收藏文案 - string cancel_title = 6; -} - -// 三点-置顶 -message ThreePointTop { - // icon - string icon = 1; - // 标题 - string title = 2; - // 状态 - TopType type = 3; + // 对应颜色类型 + string label_theme = 3; } // 状态 -enum TopType { - // 默认 置顶 - top_none = 0; - // 取消置顶 - top_cancel = 1; -} - -// 三点-评论 -message ThreePointComment { - // 精选评论区功能 - CommentDetail up_selection = 1; - // up关闭评论区功能 - CommentDetail up_close = 2; - // icon - string icon = 3; - // 标题 - string title = 4; -} - -// 精选评论区 -message CommentDetail { - // 该功能能不能用 - bool can_modify = 1; - // up关闭评论区功能 1允许关闭 0允许开放 - // 精选评论区功能 1允许停止评论精选 0允许评论精选 - int64 status = 2; +enum VoteStatus { + normal = 0; // 正常 + anonymous = 1; // 匿名 } // 提权样式 @@ -2700,6 +4322,21 @@ message Weight { string icon = 3; } +// 热门默认跳转按钮 +message WeightButton { + string jump_url = 1; + // 展示文案 + string title = 2; +} + +// 提权不感兴趣 +message WeightDislike { + // 负反馈业务类型 作为客户端调用负反馈接口的参数 + string feed_back_type = 1; + // 展示文案 + string title = 2; +} + // 提权样式 message WeightItem { // 类型 @@ -2712,602 +4349,9 @@ message WeightItem { } } -// WeightType 枚举-提权类型 +// 枚举-提权类型 enum WeightType { - // 默认 占位 - weight_none = 0; - // 不感兴趣 - weight_dislike = 1; - // 跳链 - weight_jump = 2; + weight_none = 0; // 默认 占位 + weight_dislike = 1; // 不感兴趣 + weight_jump = 2; // 跳链 } - -// 提权不感兴趣 -message WeightDislike { - // 负反馈业务类型 作为客户端调用负反馈接口的参数 - string feed_back_type = 1; - // 展示文案 - string title = 2; -} - -// 热门默认跳转按钮 -message WeightButton { - string jump_url = 1; - // 展示文案 - string title = 2; -} - -// 评论外露模块 -message ModuleComment { - // 评论外露展示项 - repeated CmtShowItem cmtShowItem = 1; -} - -// 评论外露展示项 -message CmtShowItem { - // 用户mid - int64 uid = 1; - // 用户昵称 - string uname = 2; - // 点击跳转链接 - string uri = 3; - // 评论内容 - string comment = 4; -} - -// 动态通用附加卡-follow/取消follow-请求 -message DynAdditionCommonFollowReq { - // - AdditionalButtonStatus status = 1; - // - string dyn_id = 2; - // - string card_type = 3; -} - -// -enum FollowType { - // - ft_not_follow = 0; - // - ft_follow = 1; -} - -// 动态通用附加卡-follow/取消follow-响应 -message DynAdditionCommonFollowReply { - // - AdditionalButtonStatus status = 1; -} - -// 动态点赞-请求 -message DynThumbReq { - // 用户uid - int64 uid = 1; - // 动态id - string dyn_id = 2; - // 动态类型(透传extend中的dyn_type) - int64 dyn_type = 3; - // 业务方资源id - string rid = 4; - // 点赞类型 - ThumbType type = 5; -} - -// -enum ThumbType { - // - cancel = 0; - // - thumb = 1; -} - -// 动态发布生成临时卡-请求 -message DynFakeCardReq { - //卡片内容json string - string content = 1; -} - -// 动态发布生成临时卡-响应 -message DynFakeCardReply { - // 动态卡片 - DynamicItem item = 1; -} - -// 关注推荐up主换一换-请求 -message DynRcmdUpExchangeReq { - // 登录用户id - int64 uid = 1; - // 上一次不感兴趣的ts,单位:秒;该字段透传给搜索 - int64 dislikeTs = 2; - // 需要与服务端确认或参照客户端现有参数 - string from = 3; -} - -// 关注推荐up主换一换-响应 -message DynRcmdUpExchangeReply { - // 无关注推荐 - Unfollow unfollow = 1; -} - -// 最近访问-个人feed流列表-请求 -message DynAllPersonalReq { - // 被访问者的 UID - int64 host_uid = 1; - // 偏移量 第一页可传空 - string offset = 2; - // 标明下拉几次 - int32 page = 3; - // 是否是预加载 默认是1;客户端预加载。1:是预加载,不更新已读进度,不会影响小红点;0:非预加载,更新已读进度 - int32 is_preload = 4; - // 秒开参数 新版本废弃,统一使用player_args - PlayurlParam playurl_param = 5; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 6; - // 服务端生成的透传上报字段 - string footprint = 7; - // 来源 - string from = 8; - // 秒开用 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; -} - -// 最近访问-个人feed流列表-返回 -message DynAllPersonalReply { - // 动态列表 - repeated DynamicItem list = 1; - // 偏移量 - string offset = 2; - // 是否还有更多数据 - bool has_more = 3; - // 已读进度 - string read_offset = 4; - // 关注状态 - Relation relation = 5; - // 顶部预约卡 - TopAdditionUP addition_up = 6; -} - -// 顶部预约卡 -message TopAdditionUP { - // 预约卡 - repeated AdditionUP up = 1; - // 折叠数量,大于多少个进行折叠 - int32 has_fold = 2; -} - -// 最近访问-标记已读-请求 -message DynAllUpdOffsetReq { - // 被访问者的UID - int64 host_uid = 1; - // 用户已读进度 - string read_offset = 2; - // 服务端生成的透传上报字段 - string footprint = 3; -} - -// 投票操作-请求 -message DynVoteReq { - // 投票ID - int64 vote_id = 1; - // 选项索引数组 - repeated int64 votes = 2; - // 状态 - VoteStatus status = 3; - // 动态ID - string dynamic_id = 4; - // 是否分享 - bool share = 5; -} - -// 状态 -enum VoteStatus { - // 正常 - normal = 0; - // 匿名 - anonymous = 1; -} - -// 投票操作-响应 -message DynVoteReply { - // 投票详情 - AdditionVote2 item = 1; - // 投票操作返回状态 - string toast = 2; -} - -// 关注关系 -message Relation { - // 关注状态 - RelationStatus status = 1; - // 关注 - int32 is_follow = 2; - // 被关注 - int32 is_followed = 3; - // 文案 - string title = 4; -} - -// 关注关系 枚举 -enum RelationStatus { - // 1-未关注 2-关注 3-被关注 4-互相关注 5-特别关注 - relation_status_none = 0; - relation_status_nofollow = 1; - relation_status_follow = 2; - relation_status_followed = 3; - relation_status_mutual_concern = 4; - relation_status_special = 5; -} - -message MixUpListLiveItem { - // 直播状态 - // 0:未直播 1:直播中 - bool status = 1; - // 房间号 - int64 room_id = 2; - // 跳转地址 - string uri = 3; -} - -// 查看更多-列表单条数据 -message MixUpListItem { - // 用户mid - int64 uid = 1; - // 特别关注 - // 0:否 1:是 - int32 special_attention = 2; - // 小红点状态 - // 0:没有 1:有 - int32 reddot_state = 3; - // 直播信息 - MixUpListLiveItem live_info = 4; - // 昵称 - string name = 5; - // 头像 - string face = 6; - // 认证信息 - OfficialVerify official = 7; - // 大会员信息 - VipInfo vip = 8; - // 关注状态 - Relation relation = 9; -} - -// 查看更多-请求 -message DynMixUpListViewMoreReq { - // 排序策略 - // 1:推荐排序 2:最常访问 3:最近关注,其他值为默认排序 - int32 sort_type = 1; -} - -// 排序类型 -message SortType { - // 排序策略 - // 1:推荐排序 2:最常访问 3:最近关注 - int32 sort_type = 1; - // 排序策略名称 - string sort_type_name = 2; -} - -// 查看更多-列表-响应 -message DynMixUpListViewMoreReply { - // - repeated MixUpListItem items = 1; - // - string search_default_text = 2; - // 排序类型列表 - repeated SortType sort_types = 3; - // 是否展示更多的排序策略 - bool show_more_sort_types = 4; - // 默认排序策略 - int32 default_sort_type = 5; -} - -// 轻浏览-请求 -message DynLightReq { - // 透传 history_offset - string history_offset = 1; - // 向下翻页数 - int32 page = 2; - // 来源 - string from = 3; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 5; -} - -// 轻浏览-响应 -message DynLightReply { - // 卡片列表 - DynamicList dynamic_list = 1; -} - -// 动态详情页-请求 -message DynDetailReq { - // up主uid - int64 uid = 1; - // 动态ID - string dynamic_id = 2; - // 动态类型 - int64 dyn_type = 3; - // 业务方资源id - int64 rid = 4; - // 广告参数 - AdParam ad_param = 5; - // From来源 - string from = 6; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 7; - // 分享id - string share_id = 8; - // 分享类型 - // 1:文字 2:图片 3:链接 4:视频 5:音频 - int32 share_mode = 9; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 10; - // pattern - string pattern = 11; -} - -// 动态详情页-响应 -message DynDetailReply { - // 动态详情 - DynamicItem item = 1; -} - -// 点赞列表-请求 -message LikeListReq { - // 动态ID - string dynamic_id = 1; - // 动态类型 - int64 dyn_type = 2; - // 业务方资源id - int64 rid = 3; - //上一页最后一个uid - int64 uid_offset = 4; - // 下拉页数 - int32 page = 5; -} - -// 点赞列表-响应 -message LikeListReply { - // 用户模块列表 - repeated ModuleAuthor list = 1; - // 是否还有更多数据 - bool has_more = 2; - // 点赞总数 - int64 total_count = 3; -} - -// 转发列表-请求 -message RepostListReq { - // 动态ID - string dynamic_id = 1; - // 动态类型 - int64 dyn_type = 2; - // 业务方资源id - int64 rid = 3; - // 偏移,使用上一页回包中的offset字段;第一页不传。 - string offset = 4; - // 来源 - string from = 5; - // 评论类型 - RepostType repost_type = 6; -} - -// 转发列表-响应 -message RepostListRsp { - // 列表 - repeated DynamicItem list = 1; - // 偏移 - string offset = 2; - // 是否还有更多 - bool has_more = 3; - // 转发总数 - int64 total_count = 4; - // 评论类型 - RepostType repost_type = 5; -} - -// 评论类型 -enum RepostType { - // 热门评论 - repost_hot = 0; - // 普通评论 - repost_general = 1; -} - -// 分享模块 -message ModuleShareInfo { - // 展示标题 - string title = 1; - // 分享组件列表 - repeated ShareChannel share_channels = 2; - // share_origin - string share_origin = 3; - // 业务id - string oid = 4; - // sid - string sid = 5; -} - -// 分享渠道组件 -message ShareChannel { - // 分享名称 - string name = 1; - // 分享按钮图片 - string image = 2; - // 分享渠道 - string channel = 3; - // 预约卡分享图信息,仅分享有预约信息的动态时存在 - ShareReserve reserve = 4; -} - -// 预约卡分享图信息 -message ShareReserve { - // 展示标题 - string title = 1; - // 描述(时间+类型) - string desc = 2; - // 二维码附带icon - string qr_code_icon = 3; - // 二维码附带文本 - string qr_code_text = 4; - // 二维码url - string qr_code_url = 5; -} - -// 相关推荐模块 -message ModuleRecommend { - // 模块标题 - string module_title = 1; - // 图片 - string image = 2; - // 标签 - string tag = 3; - // 标题 - string title = 4; - // 跳转链接 - string jump_url = 5; - // 序列化的广告信息 - repeated google.protobuf.Any ad = 6; -} - -// 空间页动态-请求 -message DynSpaceReq { - // 被访问者,也就是空间主人的uid - int64 host_uid = 1; - // 动态偏移history_offset - string history_offset = 2; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 4; - // 向下翻页数,默认从1开始 - int64 page = 5; - // 来源,空间页:space,直播tab:live - string from = 6; -} - -// 空间页动态-响应 -message DynSpaceRsp { - // 卡片列表 - repeated DynamicItem list = 1; - // 历史偏移 - string history_offset = 2; - // 是否还有更多数据 - bool has_more = 3; -} - -// 顶部模块 -message ModuleTop { - // 三点模块 - repeated ThreePointItem tp_list = 1; -} - -// 底部模块 -message ModuleButtom { - // 计数模块 - ModuleStat module_stat = 1; -} - -// 推荐页-请求 -message DynRcmdReq { - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 1; - // 客户端时区 兼容UTC-14和Etc/GMT+12,时区区间[-12,14] 东八区为8 - int32 local_time = 2; -} - -// 推荐页-响应 -message DynRcmdReply { - // 推荐页返回参数 - DynRegionRcmd region_rcmd = 1; -} - -// 推荐页返回参数 -message DynRegionRcmd { - // 分区推荐项目列表 - repeated DynRegionRcmdItem items = 1; - // 分区聚类推荐选项 - RcmdOption opts = 2; -} - -// 分区聚类推荐选项 -message RcmdOption{ - // 视频是否展示标题 - bool show_title = 1; -} - -// 分区推荐项目 -message DynRegionRcmdItem { - // 分区id - int64 rid = 1; - // 标题 - string title = 2; - // 推荐模块 - repeated ModuleRcmd items = 3; -} - -// 推荐模块 -message ModuleRcmd { - // 用户头像 - RcmdAuthor author = 1; - // 推荐卡片列表 - repeated RcmdItem items = 2; - // 透传到客户端的埋点字段 - string server_info = 3; -} - -// 推荐UP主用户模块 -message RcmdAuthor { - // 用户详情 - UserInfo author = 1; - // 描述:粉丝数、推荐理由 - string desc = 2; - // 关注状态 - Relation relation = 3; -} - -// 推荐卡片列表 -message RcmdItem { - // 卡片类型 - RcmdType type = 1; - // 卡片列表 - oneof rcmd_item { - // - RcmdArchive rcmd_archive = 2; - } -} - -// 推荐模块数据类型 -enum RcmdType { - // 稿件 - rcmd_archive = 0; -} - -// -message RcmdArchive { - // 标题 - string title = 1; - // 封面图 - string cover = 2; - // 视频封面展示项 1 - CoverIcon cover_left_icon_1 = 3; - // 视频封面展示项 1 - string cover_left_text_1 = 4; - // 秒开地址 - string uri = 5; - // 是否PGC - bool is_pgc = 6; - // aid - int64 aid = 7; -} - -// -enum CoverIcon { - // 占位 啥都不展示 - cover_icon_none = 0; - // 播放icon - cover_icon_play = 1; -} \ No newline at end of file diff --git a/grpc_api/bilibili/app/interfaces/v1/history.proto b/grpc_api/bilibili/app/interfaces/v1/history.proto index e710ed4..85bbf1b 100644 --- a/grpc_api/bilibili/app/interfaces/v1/history.proto +++ b/grpc_api/bilibili/app/interfaces/v1/history.proto @@ -22,79 +22,113 @@ service History { rpc LatestHistory (LatestHistoryReq) returns (LatestHistoryReply); } -// 获取历史记录tab-请求 -message HistoryTabReq { +// 专栏卡片 +message CardArticle { + // 封面url + repeated string covers = 1; + // UP主昵称 + string name = 2; + // UP主mid + int64 mid = 3; + // 是否展示关注按钮 + bool displayAttention = 4; + // 角标 + string badge = 5; + // 关系信息 + Relation relation = 6; +} + +// 课程卡片 +message CardCheese { + // 封面url + string cover = 1; + // 观看进度 + int64 progress = 2; + // 总计时长 + int64 duration = 3; + // 单集标题 + string subtitle = 4; +} + +// 直播卡片 +message CardLive { + // 封面url + string cover = 1; + // 主播昵称 + string name = 2; + // 主播mid + int64 mid = 3; + // 直播分区名 + string tag = 4; + // 直播状态 + int32 ststus = 5; + // 是否展示关注按钮 + bool display_attention = 6; + // 关系信息 + Relation relation = 7; +} + +// pgc稿件卡片 +message CardOGV { + // 封面url + string cover = 1; + // 观看进度 + int64 progress = 2; + // 总计时长 + int64 duration = 3; + // 单集标题 + string subtitle = 4; +} + +// ugc稿件卡片 +message CardUGC { + // 封面url + string cover = 1; + // 观看进度 + int64 progress = 2; + // 视频长度 + int64 duration = 3; + // UP主昵称 + string name = 4; + // UP主mid + int64 mid = 5; + // 是否展示关注按钮 + bool display_attention = 6; + // 历史观看视频cid + int64 cid = 7; + // 历史观看视频分P + int32 page = 8; + // 历史观看视频分P的标题 + string subtitle = 9; + // 关系信息 + Relation relation = 10; + // 稿件bvid + string bvid = 11; + // 总分P数 + int64 videos = 12; + // 短链接 + string short_link = 13; + // 分享副标题 + string share_subtitle = 14; + // 播放数 + int64 view = 15; + // + int64 state = 16; +} + +// 清空历史记录-请求 +message ClearReq { // 业务类型 // archive:视频 live:直播 article:专栏 goods:商品 show:展演 string business = 1; - // 查询请求来源 - HistorySource source = 2; - // 搜索关键词 - string keyword = 3; } -// 获取历史记录tab-响应 -message HistoryTabReply { - // tab列表 - repeated CursorTab tab = 1; -} - -// 搜索历史记录来源 -enum HistorySource { - // 主站历史记录页 - history_VALUE = 0; - // 会员购浏览记录 - shopping_VALUE = 1; -} - -// 获取历史记录列表(旧版)-请求 -message CursorReq { - // 游标信息 - Cursor cursor = 1; - // 业务类型 - // all:全部 archive:视频 live:直播 article:专栏 - string business = 2; - // 秒开参数(旧版) - PlayerPreloadParams player_preload = 3; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; -} - -// 获取历史记录列表(旧版)-响应 -message CursorReply { - // 卡片内容 - repeated CursorItem items = 1; - // 顶部tab - repeated CursorTab tab = 2; - // 游标信息 - Cursor cursor = 3; - // 是否未拉取完 - bool hasMore = 4; -} - -// 获取历史记录列表-请求 -message CursorV2Req { - // 游标信息 - Cursor cursor = 1; - // 业务类型 - // archive:视频 live:直播 article:专栏 goods:商品 show:展演 - string business = 2; - // 秒开参数(旧版) - PlayerPreloadParams player_preload = 3; - // 秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; - // 是否选择本机的播放历史 - bool is_local = 5; -} - -// 获取历史记录列表-响应 -message CursorV2Reply { - // 卡片内容 - repeated CursorItem items = 1; - // 游标信息 - Cursor cursor = 2; - // 是否未拉取完 - bool hasMore = 3; +// 游标信息 +message Cursor { + // 本页最大值游标值 + int64 max = 1; + // 本页最大值游标类型 + int32 maxTp = 2; } // 历史记录卡片信息 @@ -133,96 +167,29 @@ message CursorItem { bool has_share = 14; } -// ugc稿件卡片 -message CardUGC { - // 封面url - string cover = 1; - // 观看进度 - int64 progress = 2; - // 视频长度 - int64 duration = 3; - // UP主昵称 - string name = 4; - // UP主mid - int64 mid = 5; - // 是否展示关注按钮 - bool display_attention = 6; - // 历史观看视频cid - int64 cid = 7; - // 历史观看视频分P - int32 page = 8; - // 历史观看视频分P的标题 - string subtitle = 9; - // 关系信息 - Relation relation = 10; - // 稿件bvid - string bvid = 11; - // 总分P数 - int64 videos = 12; - // 短链接 - string short_link = 13; - // 分享副标题 - string share_subtitle = 14; - // 播放数 - int64 view = 15; +// 获取历史记录列表(旧版)-响应 +message CursorReply { + // 卡片内容 + repeated CursorItem items = 1; + // 顶部tab + repeated CursorTab tab = 2; + // 游标信息 + Cursor cursor = 3; + // 是否未拉取完 + bool hasMore = 4; } -// pgc稿件卡片 -message CardOGV { - // 封面url - string cover = 1; - // 观看进度 - int64 progress = 2; - // 总计时长 - int64 duration = 3; - // 单集标题 - string subtitle = 4; -} - -// 专栏卡片 -message CardArticle { - // 封面url - repeated string covers = 1; - // UP主昵称 - string name = 2; - // UP主mid - int64 mid = 3; - // 是否展示关注按钮 - bool displayAttention = 4; - // 角标 - string badge = 5; - // 关系信息 - Relation relation = 6; -} - -// 直播卡片 -message CardLive { - // 封面url - string cover = 1; - // 主播昵称 - string name = 2; - // 主播mid - int64 mid = 3; - // 直播分区名 - string tag = 4; - // 直播状态 - int32 ststus = 5; - // 是否展示关注按钮 - bool display_attention = 6; - // 关系信息 - Relation relation = 7; -} - -// 课程卡片 -message CardCheese { - // 封面url - string cover = 1; - // 观看进度 - int64 progress = 2; - // 总计时长 - int64 duration = 3; - // 单集标题 - string subtitle = 4; +// 获取历史记录列表(旧版)-请求 +message CursorReq { + // 游标信息 + Cursor cursor = 1; + // 业务类型 + // all:全部 archive:视频 live:直播 article:专栏 + string business = 2; + // 秒开参数(旧版) + PlayerPreloadParams player_preload = 3; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; } // 业务分类表 @@ -237,41 +204,34 @@ message CursorTab { bool focus = 4; } -// 游标信息 -message Cursor { - // 本页最大值游标值 - int64 max = 1; - // 本页最大值游标类型 - int32 maxTp = 2; +// 获取历史记录列表-响应 +message CursorV2Reply { + // 卡片内容 + repeated CursorItem items = 1; + // 游标信息 + Cursor cursor = 2; + // 是否未拉取完 + bool hasMore = 3; + // + string empty_link = 4; } -// 删除历史记录-请求 -message DeleteReq { - // 历史记录信息 - HisInfo his_info = 1; -} - -// 历史记录信息 -message HisInfo { +// 获取历史记录列表-请求 +message CursorV2Req { + // 游标信息 + Cursor cursor = 1; // 业务类型 // archive:视频 live:直播 article:专栏 goods:商品 show:展演 - string business = 1; - // 历史记录id - int64 kid = 2; + string business = 2; + // 秒开参数(旧版) + PlayerPreloadParams player_preload = 3; + // 秒开参数 + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // 是否选择本机的播放历史 + bool is_local = 5; } -// 空响应 -message NoReply {} - -// 设备类型 -message DeviceType { - // 设备标识代码 - DT type = 1; - // 图标url - string icon = 2; -} - -//设备标识代码 +// 设备标识代码 enum DT { Unknown = 0; // 未知 Phone = 1; // 手机端 @@ -283,36 +243,76 @@ enum DT { AndPad = 7; // apad端 } -// 关系信息 -message Relation { - // 关系状态 - // 1:未关注 2:已关注 3:被关注 4:互关 - int32 status = 1; - // 用户关注UP主 - int32 is_follow = 2; - // UP主关注用户 - int32 is_followed = 3; +// 删除历史记录-请求 +message DeleteReq { + // 历史记录信息 + HisInfo his_info = 1; } -// 搜索历史记录-请求 -message SearchReq { - // 关键词 - string keyword = 1; - // 页码 - int64 pn = 2; +// 设备类型 +message DeviceType { + // 设备标识代码 + DT type = 1; + // 图标url + string icon = 2; +} + +// 历史记录信息 +message HisInfo { // 业务类型 // archive:视频 live:直播 article:专栏 goods:商品 show:展演 - string business = 3; + string business = 1; + // 历史记录id + int64 kid = 2; } -// 搜索历史记录-响应 -message SearchReply { +// 搜索历史记录来源 +enum HistorySource { + history_VALUE = 0; // 主站历史记录页 + shopping_VALUE = 1; // 会员购浏览记录 +} + +// 获取历史记录tab-响应 +message HistoryTabReply { + // tab列表 + repeated CursorTab tab = 1; +} + +// 获取历史记录tab-请求 +message HistoryTabReq { + // 业务类型 + // archive:视频 live:直播 article:专栏 goods:商品 show:展演 + string business = 1; + // 查询请求来源 + HistorySource source = 2; + // 搜索关键词 + string keyword = 3; +} + +// 获取最新的历史记录-响应 +message LatestHistoryReply { // 卡片内容 - repeated CursorItem items = 1; - // 是否未拉取完 - bool hasMore = 2; - // 页面信息 - Page page = 3; + CursorItem items = 1; + // 场景 + string scene = 2; + // 弹窗停留时间 + int64 rtime = 3; + // 分组的标志(客户端埋点上报) + string flag = 4; +} + +// 获取最新的历史记录-请求 +message LatestHistoryReq { + // 业务类型 + // archive:视频 live:直播 article:专栏 goods:商品 show:展演 + string business = 1; + // 秒开参数 + PlayerPreloadParams player_preload = 2; +} + +// 空响应 +message NoReply { + } // 页面信息 @@ -337,30 +337,34 @@ message PlayerPreloadParams { int64 fourk = 5; } -// 清空历史记录-请求 -message ClearReq { - // 业务类型 - // archive:视频 live:直播 article:专栏 goods:商品 show:展演 - string business = 1; +// 关系信息 +message Relation { + // 关系状态 + // 1:未关注 2:已关注 3:被关注 4:互关 + int32 status = 1; + // 用户关注UP主 + int32 is_follow = 2; + // UP主关注用户 + int32 is_followed = 3; } -// 获取最新的历史记录-请求 -message LatestHistoryReq { - // 业务类型 - // archive:视频 live:直播 article:专栏 goods:商品 show:展演 - string business = 1; - // 秒开参数 - PlayerPreloadParams player_preload = 2; -} - -// 获取最新的历史记录-响应 -message LatestHistoryReply { +// 搜索历史记录-响应 +message SearchReply { // 卡片内容 - CursorItem items = 1; - // 场景 - string scene = 2; - // 弹窗停留时间 - int64 rtime = 3; - // 分组的标志(客户端埋点上报) - string flag = 4; + repeated CursorItem items = 1; + // 是否未拉取完 + bool hasMore = 2; + // 页面信息 + Page page = 3; +} + +// 搜索历史记录-请求 +message SearchReq { + // 关键词 + string keyword = 1; + // 页码 + int64 pn = 2; + // 业务类型 + // archive:视频 live:直播 article:专栏 goods:商品 show:展演 + string business = 3; } diff --git a/grpc_api/bilibili/app/interfaces/v1/space.proto b/grpc_api/bilibili/app/interfaces/v1/space.proto new file mode 100644 index 0000000..3989ea0 --- /dev/null +++ b/grpc_api/bilibili/app/interfaces/v1/space.proto @@ -0,0 +1,115 @@ +syntax = "proto3"; + +package bilibili.app.interfaces.v1; + +import "bilibili/app/archive/middleware/v1/preload.proto"; +import "bilibili/app/archive/v1/archive.proto"; +import "bilibili/app/dynamic/v2/dynamic.proto"; + +// +service Space { + // + rpc SearchTab(SearchTabReq) returns (SearchTabReply); + // + rpc SearchArchive(SearchArchiveReq) returns (SearchArchiveReply); + // + rpc SearchDynamic(SearchDynamicReq) returns (SearchDynamicReply); +} + +// +message Arc { + // + bilibili.app.archive.v1.Arc archive = 1; + // + string uri = 2; +} + + +// +message Dynamic { + // + bilibili.app.dynamic.v2.DynamicItem dynamic = 1; +} + +enum From { + ArchiveTab = 0; // + DynamicTab = 1; // +} + +// +message OfficialVerify { + // + int32 type = 1; + // + string desc = 2; +} + +// +message SearchTabReply { + // + int64 focus = 1; + // + repeated Tab tabs = 2; +} + +// +message SearchTabReq { + // + string keyword = 1; + // + int64 mid = 2; + // + int32 from = 3; +} + +// +message SearchArchiveReply { + // + repeated Arc archives = 1; + // + int64 total = 2; +} + +// +message SearchArchiveReq { + // + string keyword = 1; + // + int64 mid = 2; + // + int64 pn = 3; + // + int64 ps = 4; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5; +} + +// +message SearchDynamicReply { + // + repeated Dynamic dynamics = 1; + // + int64 total = 2; +} + +// +message SearchDynamicReq { + // + string keyword = 1; + // + int64 mid = 2; + // + int64 pn = 3; + // + int64 ps = 4; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5; +} + +// +message Tab { + // + string title = 1; + // + string uri = 2; +} \ No newline at end of file diff --git a/grpc_api/bilibili/app/listener/v1/listener.proto b/grpc_api/bilibili/app/listener/v1/listener.proto new file mode 100644 index 0000000..b00c79e --- /dev/null +++ b/grpc_api/bilibili/app/listener/v1/listener.proto @@ -0,0 +1,928 @@ +syntax = "proto3"; + +package bilibili.app.listener.v1; + +import "google/protobuf/empty.proto"; +import "bilibili/app/archive/middleware/v1/preload.proto"; + +// 听视频 +service Listener { + // + rpc Ping (google.protobuf.Empty) returns (google.protobuf.Empty); + // 获取音频URL + rpc PlayUrl (PlayURLReq) returns (PlayURLResp); + // + rpc BkarcDetails (BKArcDetailsReq) returns (BKArcDetailsResp); + // + rpc Playlist (PlaylistReq) returns (PlaylistResp); + // + rpc PlaylistAdd (PlaylistAddReq) returns (google.protobuf.Empty); + // + rpc PlaylistDel (PlaylistDelReq) returns (google.protobuf.Empty); + // 推荐列表 + rpc RcmdPlaylist (RcmdPlaylistReq) returns (RcmdPlaylistResp); + // + rpc PlayHistory (PlayHistoryReq) returns (PlayHistoryResp); + // 添加历史记录 + rpc PlayHistoryAdd (PlayHistoryAddReq) returns (google.protobuf.Empty); + // + rpc PlayHistoryDel (PlayHistoryDelReq) returns (google.protobuf.Empty); + // 播放上报 + rpc PlayActionReport (PlayActionReportReq) returns (google.protobuf.Empty); + // 三联 + rpc TripleLike (TripleLikeReq) returns (TripleLikeResp); + // 点赞 + rpc ThumbUp (ThumbUpReq) returns (ThumbUpResp); + // 投币 + rpc CoinAdd (CoinAddReq) returns (CoinAddResp); + // + rpc FavItemAdd (FavItemAddReq) returns (FavItemAddResp); + // + rpc FavItemDel (FavItemDelReq) returns (FavItemDelResp); + // 批量处理收藏 + rpc FavItemBatch (FavItemBatchReq) returns (FavItemBatchResp); + // + rpc FavoredInAnyFolders (FavoredInAnyFoldersReq) returns (FavoredInAnyFoldersResp); + // 用户收藏夹列表 + rpc FavFolderList (FavFolderListReq) returns (FavFolderListResp); + // 收藏夹详细信息 + rpc FavFolderDetail (FavFolderDetailReq) returns (FavFolderDetailResp); + // 创建收藏夹 + rpc FavFolderCreate (FavFolderCreateReq) returns (FavFolderCreateResp); + // + rpc FavFolderDelete (FavFolderDeleteReq) returns (FavFolderDeleteResp); + // 每日播单列表 + rpc PickFeed (PickFeedReq) returns (PickFeedResp); + // 每日播单详情 + rpc PickCardDetail (PickCardDetailReq) returns (PickCardDetailResp); +} + +// +message Author { + // + int64 mid = 1; + // + string name = 2; + // + string avatar = 3; + // + FollowRelation relation = 4; +} + +// +message BKArcDetailsReq { + // + repeated PlayItem items = 1; + // + bilibili.app.archive.middleware.v1.PlayerArgs playerArgs = 2; +} + +// +message BKArcDetailsResp { + // + repeated DetailItem list = 1; +} + +// +message BKArchive { + // + int64 oid = 1; + // + string title = 2; + // + string cover = 3; + // + string desc = 4; + // + int64 duration = 5; + // + int32 rid = 6; + // + string rname = 7; + // + int64 publish = 8; + // + string displayed_oid = 9; + // + int32 copyright = 10; + // + BKArcRights rights = 11; +} + +// +message BKArcPart { + // + int64 oid = 1; + // + int64 sub_id = 2; + // + string title = 3; + // + int64 duration = 4; + // + int32 page = 5; +} + +// +message BKArcRights { + // + int32 no_reprint = 1; +} + +// +message BKStat { + // + int32 like = 1; + // + int32 coin = 2; + // + int32 favourite = 3; + // + int32 reply = 4; + // + int32 share = 5; + // + int32 view = 6; + // + bool has_like = 7; + // + bool has_coin = 8; + // + bool has_fav = 9; +} + +// +message CardModule { + // + int32 module_type = 1; + oneof module { + // + PkcmHeader module_header = 2; + // + PkcmArchive module_archive = 3; + // + PkcmCenterButton module_cbtn = 4; + } +} + +// +enum CardModuleType { + Module_invalid = 0; + Module_header = 1; + Module_archive = 2; + Module_cbtn = 3; +} + +// +message CoinAddReq { + // + PlayItem item = 1; + // + int32 num = 2; + // + bool thumb_up = 3; +} + +// +message CoinAddResp { + // + string message = 1; +} + +// +message DashItem { + // + int32 id = 1; + // + string base_url = 2; + // + repeated string backup_url = 3; + // + int32 bandwidth = 4; + // + string mime_type = 5; + // + string codecs = 6; + // + DashSegmentBase segment_base = 12; + // + int32 codecid = 13; + // + string md5 = 14; + // + int64 size = 15; +} + +// +message DashSegmentBase { + // + string initialization = 1; + // + string index_range = 2; +} + +// +message DetailItem { + // + PlayItem item = 1; + // + BKArchive arc = 2; + // + repeated BKArcPart parts = 3; + // + Author owner = 4; + // + BKStat stat = 5; + // + int64 last_part = 6; + // + int64 progress = 7; + // + int32 playable = 8; + // + string message = 9; + // + map player_info = 10; +} + +// +message EventTracking { + // + string operator = 1; + // + string batch = 2; + // + string track_id = 3; + // + string entity_type = 4; + // + string entity_id = 5; +} + +// +message FavFolder { + // + int64 fid = 1; + // + int32 folder_type = 2; + // + FavFolderAuthor owner = 3; + // + string name = 4; + // + string cover = 5; + // + string desc = 6; + // + int32 count = 7; + // + int32 attr = 8; + // + int32 state = 9; + // + int32 favored = 10; + // + int64 ctime = 11; + // + int64 mtime = 12; + // + int32 stat_fav_cnt = 13; + // + int32 stat_share_cnt = 14; + // + int32 stat_like_cnt = 15; + // + int32 stat_Play_cnt = 16; + // + int32 stat_reply_cnt = 17; + // + int32 fav_state = 18; +} + +// +message FavFolderAction { + // + int64 fid = 1; + // + int32 folder_type = 2; + // + int32 action = 3; +} + +// +message FavFolderAuthor { + // + int64 mid = 1; + // + string name = 2; +} + +// +message FavFolderCreateReq { + // + string name = 1; + // + string desc = 2; + // + int32 public = 3; + // + int32 folder_type = 4; +} + +// +message FavFolderCreateResp { + // + int64 fid = 1; + // + int32 folder_type = 2; + // + string message = 3; +} + +// +message FavFolderDeleteReq { + // + int64 fid = 1; + // + int32 folder_type = 2; +} + +// +message FavFolderDeleteResp { + // + string message = 1; +} + +// +message FavFolderDetailReq { + // + int64 fid = 1; + // + int32 folder_type = 2; + // + int64 fav_mid = 3; + // + FavItem last_item = 4; + // + int32 page_size = 5; + // + bool need_folder_info = 6; +} + +// +message FavFolderDetailResp { + // + int32 total = 1; + // + bool reach_end = 2; + // + repeated FavItemDetail list = 3; + // + FavFolder folder_info = 4; +} + +// +message FavFolderListReq { + // + repeated int32 folder_types = 1; + // + PlayItem item = 2; +} + +// +message FavFolderListResp { + // + repeated FavFolder list = 1; +} + +// +message FavFolderMeta { + // + int64 fid = 1; + // + int32 folder_type = 2; +} + +// +message FavItem { + // + int32 item_type = 1; + // + int64 oid = 2; + // + int64 fid = 3; + // + int64 mid = 4; + // + int64 mtime = 5; + // + int64 ctime = 6; + // + EventTracking et = 7; +} + +// +message FavItemAddReq { + // + int64 fid = 1; + // + int32 folder_type = 2; + oneof item { + // + PlayItem play = 3; + // + FavItem fav = 4; + } +} + +// +message FavItemAddResp { + // + string message = 1; +} + +// +message FavItemAuthor { + // + int64 mid = 1; + // + string name = 2; +} + +// +message FavItemBatchReq { + // + repeated FavFolderAction actions = 1; + oneof item { + // + PlayItem play = 2; + // + FavItem fav = 3; + } +} + +// +message FavItemBatchResp { + // + string message = 1; +} + +// +message FavItemDelReq { + // + int64 fid = 1; + // + int32 folder_type = 2; + oneof item { + // + PlayItem play = 3; + // + FavItem fav = 4; + } +} + +// +message FavItemDelResp { + // + string message = 1; +} + +// +message FavItemDetail { + // + FavItem item = 1; + // + FavItemAuthor owner = 2; + // + FavItemStat stat = 3; + // + string cover = 4; + // + string name = 5; + // + int64 duration = 6; + // + int32 state = 7; + // + string message = 8; + // + int32 parts = 9; +} + +// +message FavItemStat { + // + int32 view = 1; + // + int32 reply = 2; +} + +// +message FavoredInAnyFoldersReq { + // + repeated int32 folder_types = 1; + // + PlayItem item = 2; +} + +// +message FavoredInAnyFoldersResp { + // + repeated FavFolderMeta folders = 1; + // + PlayItem item = 2; +} + +// +message FollowRelation { + // + int32 status = 1; +} + +// +message FormatDescription { + // + int32 quality = 1; + // + string format = 2; + // + string description = 3; + // + string display_desc = 4; + // + string superscript = 5; +} + +// +message PageOption { + // + int32 page_size = 1; + // + int32 direction = 2; + // + PlayItem last_item = 3; +} + +// +message PickArchive { + // + PlayItem item = 1; + // + string title = 2; + // + PickArchiveAuthor owner = 3; + // + string cover = 4; + // + int64 duration = 5; + // + int32 parts = 6; + // + int32 stat_view = 7; + // + int32 stat_reply = 8; + // + int32 state = 9; + // + string message = 10; +} + +// +message PickArchiveAuthor { + // + int64 mid = 1; + // + string name = 2; +} + +// +message PickCard { + // + int64 pick_id = 1; + // + int64 card_id = 2; + // + string card_name = 3; + // + repeated CardModule modules = 4; +} + +// +message PickCardDetailReq { + // + int64 card_id = 1; + // + int64 pick_id = 2; +} + +// +message PickCardDetailResp { + // + int64 card_id = 1; + // + int64 pick_id = 2; + // + repeated CardModule modules = 3; +} + +// +message PickFeedReq { + // + int64 offset = 1; +} + +// +message PickFeedResp { + // + int64 offset = 1; + // + repeated PickCard cards = 2; +} + +// +message PkcmArchive { + // + PickArchive arc = 1; + // + string pick_reason = 2; +} + +// +message PkcmCenterButton { + // + string icon_head = 1; + // + string icon_tail = 2; + // + string title = 3; + // + string uri = 4; +} + +// +message PkcmHeader { + // + string title = 1; + // + string desc = 2; + // + string btn_icon = 3; + // + string btn_text = 4; + // + string btn_uri = 5; +} + +// +message PlayActionReportReq { + // + PlayItem item = 1; +} + +// +message PlayDASH { + // + int32 duration = 1; + // + float min_buffer_time = 2; + // + repeated DashItem audio = 3; +} + +// +message PlayHistoryAddReq { + // + PlayItem item = 1; + // + int64 progress = 2; + // + int64 duration = 3; + // + int32 play_style = 4; +} + +// +message PlayHistoryDelReq { + // + repeated PlayItem items = 1; + // + bool truncate = 2; +} + +// +message PlayHistoryReq { + PageOption page_opt = 1; +} + +// +message PlayHistoryResp { + // + int32 total = 1; + // + bool reach_end = 2; + // + repeated DetailItem list = 3; +} + +// +message PlayInfo { + // + int32 qn = 1; + // + string format = 2; + // + int32 qn_type = 3; + oneof info { + // + PlayURL play_url = 4; + // + PlayDASH play_dash = 5; + } + int32 fnver = 6; + // + int32 fnval = 7; + // + repeated int32 formats = 8; + // + int32 video_codecid = 9; + // + int64 length = 10; + // + int32 code = 11; + // + string message = 12; +} + +// +message PlayItem { + // + int32 item_type = 1; + // + int64 oid = 3; + // + repeated int64 sub_id = 4; + // + EventTracking et = 5; +} + +// +message PlaylistAddReq { + // + repeated PlayItem items = 1; + oneof pos { + // + PlayItem after = 2; + // + bool head = 3; + // + bool tail = 4; + } +} + +// +message PlaylistDelReq { + // + repeated PlayItem items = 1; + // + bool truncate = 2; +} + +// +message PlaylistReq { + // + int32 from = 1; + // + int64 id = 2; + // + PlayItem anchor = 3; + // + PageOption page_opt = 4; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5; + // + int64 extra_id = 6; +} + +// +message PlaylistResp { + // + int32 total = 1; + // + bool reach_start = 2; + // + bool reach_end = 3; + // + repeated DetailItem list = 4; + // + PlayItem last_play = 5; + // + int64 last_progress = 6; +} + +// +enum PlaylistSource { + DEFAULT = 0; + MEM_SPACE = 1; + AUDIO_COLLECTION = 2; + AUDIO_CARD = 3; + USER_FAVOURITE = 4; + UP_ARCHIVE = 5; + AUDIO_CACHE = 6; + PICK_CARD = 7; +} + +// +message PlayURL { + // + repeated ResponseUrl durl = 1; +} + +// +message PlayURLReq { + // + PlayItem item = 1; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 2; +} + +// +message PlayURLResp { + // + PlayItem item = 1; + // + int32 playable = 2; + // + string message = 3; + // + map playerInfo = 4; +} + +// +message RcmdPlaylistReq { + // + int32 from = 1; + // + int64 id = 2; + // + bool need_history = 3; +} + +// +message RcmdPlaylistResp { + // + repeated DetailItem list = 1; + // + int64 history_len = 2; +} + +// +message ResponseUrl { + // + int32 order = 1; + // + int64 length = 2; + // + int64 size = 3; + // + string ahead = 4; + // + string vhead = 5; + // + string url = 6; + // + repeated string backup_url = 7; + // + string md5 = 8; +} + +// +message ThumbUpReq { + // + PlayItem item = 1; + // + int32 action = 2; +} + +// +message ThumbUpResp { + // + string message = 1; +} + +// +message TripleLikeReq { + // + PlayItem item = 1; +} + +// +message TripleLikeResp { + // + string message = 1; + // + bool thumb_ok = 2; + // + bool coin_ok = 3; + // + bool fav_ok = 4; +} diff --git a/grpc_api/bilibili/app/nativeact/v1/nativeact.proto b/grpc_api/bilibili/app/nativeact/v1/nativeact.proto new file mode 100644 index 0000000..988ddd1 --- /dev/null +++ b/grpc_api/bilibili/app/nativeact/v1/nativeact.proto @@ -0,0 +1,816 @@ +syntax = "proto3"; + +package bilibili.app.nativeact.v1; + +import "google/protobuf/any.proto"; +import "bilibili/app/dynamic/v2/dynamic.proto"; +import "bilibili/app/archive/middleware/v1/preload.proto"; + +// +message Badge { + // + string text = 1; + // + string bg_color = 2; + // + string bg_color_night = 3; +} + +// +message CarouselImgCard { + // + int64 content_style = 1; + // + repeated CarouselImgItem images = 2; +} + +// +message CarouselImgItem { + // + string image = 1; + // + string uri = 2; + // + int64 length = 3; + // + int64 width = 4; + // + TopTab top_tab = 5; + // + int64 height = 6; +} + +// +message CarouselWordCard { + // + int64 content_style = 1; + // + int64 scroll_type = 2; + // + repeated CarouselWordItem words = 3; +} + +// +message CarouselWordItem { + // + string content = 1; +} + +// +message Color { + // + string bg_color = 1; + // + string title_color = 2; + // + string top_font_color = 3; + // + string bottom_font_color = 4; + // + string font_color = 5; + // + string text_title_font_color = 6; + // + string indicator_color = 7; + // + string card_bg_color = 8; + // + string card_title_font_color = 9; + // + string card_title_bg_color = 10; + // + string view_more_font_color = 11; + // + string view_more_bg_color = 12; + // + string timeline_color = 13; + // + string rcmd_font_color = 14; + // + string subtitle_font_color = 15; + // + string selected_font_color = 16; + // + string selected_bg_color = 17; + // + string unselected_font_color = 18; + // + string unselected_bg_color = 19; + // + string nt_selected_font_color = 20; + // + string nt_selected_bg_color = 21; + // + string nt_unselected_font_color = 22; + // + string nt_unselected_bg_color = 23; + // + string progress_bar_color = 24; +} + +// +message DynamicActMoreCard { + // + string text = 1; + // + string uri = 2; + // + SubpageData subpage_data = 3; +} + +// +message DynamicCard { + // + bilibili.app.dynamic.v2.DynamicItem dynamic = 1; +} + +// +message DynamicMoreCard { + // + string text = 1; + // + string uri = 2; + // + SubpageData subpage_data = 3; +} + +// +message DynamicParams { + // + google.protobuf.Any feed_offset = 1; + // + int64 offset = 2; + // + int64 last_group = 3; + // + int64 module_id = 4; + // + int64 sort_type = 5; +} + +// +message DynamicReq { + // + string raw_params = 1; + // + DynamicParams params = 2; + // + string from_spmid = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + int32 local_time = 5; + // + bool is_cold_start = 6; + // + int64 primary_page_id = 7; +} + +// +message DynamicResp { + // + Module module = 1; +} + +// +message EditorParams { + // + int64 offset = 1; + // + int64 module_id = 2; +} + +// +message EditorRecommendCard { + // + string top_icon = 1; + // + string top_content = 2; + // + string bottom_icon = 3; + // + string bottom_content = 4; + // + string cover_image_uri = 5; + // + string title = 6; + // + string uri = 7; + // + string position1 = 8; + // + string position2 = 9; + // + string position3 = 10; + // + string position4 = 11; + // + string position5 = 12; + // + Share share = 13; + // + Badge badge = 14; + // + ReportDic report_dic = 15; + // + Setting setting = 16; + // + string middle_icon = 17; + // + string resource_type = 18; +} + +// +message EditorReq { + // + string raw_params = 1; + // + EditorParams params = 2; + // + int64 primary_page_id = 3; +} + +// +message EditorResp { + // + Module module = 1; +} + +// +message GameCard { + // + string image = 1; + // + string title = 2; + // + string uri = 3; + // + string subtitle = 4; + // + string content = 5; +} + +// +message HeaderCard { + // + string user_image = 1; + // + string user_name = 2; + // + string sponsor_content = 3; + // + string high_light_image = 4; + // + string low_light_image = 5; + // + string uri = 6; + // + string view_num = 7; + // + string discuss_num = 8; + // + bool is_subscribed = 9; +} + +// +message ImageTitleCard { + // + string image = 1; +} + +// +message IndexReq { + // + int64 page_id = 1; + // + string activity_from = 2; + // + int64 dynamic_id = 3; + // + string share_origin = 4; + // + int64 tab_id = 5; + // + int64 tab_module_id = 6; + // + int32 https_url_req = 7; + // + string from_spmid = 8; + // + string current_tab = 9; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 10; + // + int32 local_time = 11; + // + bool is_cold_start = 12; + // + int64 primary_page_id = 13; + // + string tab_from = 14; +} + +// +message InlineIndexReq { + int64 page_id = 1; + // + int32 https_url_req = 2; + // + string from_spmid = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + int32 local_time = 5; + // + bool is_cold_start = 6; +} + +// +message LayerDynamic { + // + string title = 1; + // + bilibili.app.dynamic.v2.DynamicItem dynamic = 2; +} + +// +message LiveCard { + // + int32 has_live = 1; + // + LiveItem content = 2; +} + +// +message LiveItem { + // + int64 room_id = 1; + // + int64 uid = 2; + // + int64 live_status = 3; + // + int64 room_type = 4; + // + int64 play_type = 5; + // + string title = 6; + // + string cover = 7; + // + int64 online = 8; + // + int64 area_id = 9; + // + string area_name = 10; + // + int64 parent_area_id = 11; + // + string parent_area_name = 12; + // + int64 live_screen_type = 13; + // + int64 last_end_time = 14; + // + string link = 15; + // + int64 live_id = 16; +} + +// +message Module { + // + string module_type = 1; + // + int64 module_id = 2; + // + Color module_color = 3; + // + Setting module_setting = 4; + // + repeated ModuleItem module_items = 5; + // + string subpage_params = 6; + // + string module_ukey = 7; + // + bool has_more = 8; + // + bool is_feed = 9; +} + +// +message ModuleItem { + // + string card_type = 1; + // + string card_id = 2; + oneof card_detail { + // + EditorRecommendCard editor_recommend_card = 10; + // + ParticipationCard participation_card = 11; + // + HeaderCard header_card = 12; + // + DynamicCard dynamic_card = 13; + // + TextCard text_card = 14; + // + TextTitleCard text_title_card = 15; + // + ImageTitleCard image_title_card = 16; + // + DynamicMoreCard dynamic_more_card = 17; + // + DynamicActMoreCard dynamic_act_more_card = 18; + // + LiveCard live_card = 19; + // + CarouselImgCard carousel_img_card = 20; + // + CarouselWordCard carousel_word_card = 21; + // + ResourceCard resource_card = 22; + // + ResourceMoreCard resource_more_card = 23; + // + GameCard game_card = 24; + // + VideoCard video_card = 25; + // + VideoMoreCard video_more_card = 26; + } +} + +// +message PageResp { + // + bool is_online = 1; + // + bool ignore_app_dark_theme = 2; + // + Color page_color = 3; + // + PageShare page_share = 4; + // + Module page_header = 5; + // + Module participation = 6; + // + repeated Module module_list = 7; + // + bool is_dynamic_feed = 8; + // + LayerDynamic layer_dynamic = 9; + // + bool is_editor_feed = 10; + // + int64 sponsor_type = 11; + // + TopTab top_tab = 12; +} + +// +message PageShare { + // + int64 type = 1; + // + string title = 2; + // + string desc = 3; + // + string image = 4; + // + string inside_uri = 5; + // + string outside_uri = 6; +} + +// +message ParticipationCard { + // + string image = 1; + // + string selected_image = 2; + // + repeated ParticipationCardItem items = 3; +} + +// +message ParticipationCardItem { + // + string image = 1; + // + string uri = 2; + // + string title = 3; + // + string type = 4; +} + +// +message PlayerDimension { + // + int64 width = 1; + // + int64 height = 2; + // + bool rotate = 3; +} + +// +message ReportDic { + // + string biz_type = 1; + // + string season_type = 2; + // + int64 aid = 3; + // + int64 cid = 4; + // + int32 sub_type = 5; + // + int64 ep_id = 6; + // + int32 is_preview = 7; + // + int64 season_id = 8; + // + string author_name = 9; +} + +// +message ResourceCard { + // + string title = 1; + // + string cover_image_uri = 2; + // + string uri = 3; + // + string cover_right_text = 4; + // + string cover_left_text1 = 5; + // + int64 cover_left_icon1 = 6; + // + string cover_left_text2 = 7; + // + int64 cover_left_icon2 = 8; + // + Badge badge = 9; + // + ReportDic report_dic = 10; + // + string resource_type = 11; +} + +// +message ResourceMoreCard { + // + string text = 1; + // + string uri = 2; + // + SubpageData subpage_data = 3; +} + +// +message ResourceParams { + // + int64 offset = 1; + // + string topic_offset = 2; + // + int64 module_id = 3; + // + int64 sort_type = 4; +} + +// +message ResourceReq { + // + string raw_params = 1; + // + ResourceParams params = 2; + // + int64 primary_page_id = 3; +} + +// +message ResourceResp { + // + Module module = 1; +} + +// +message Setting { + // + bool display_more_button = 1; + // + bool display_title = 2; + // + bool auto_carousel = 3; + // + bool top_tab_follow_img = 4; + // + bool top_tab_fade_away = 5; + // + bool auto_play = 6; + // + bool display_unfold_button = 7; + // + bool display_num = 8; + // + bool display_view_num = 9; + // + bool display_subscribe_btn = 10; + // + bool unfold_rest = 11; + // + bool display_progress_num = 12; + // + bool display_node_num = 13; + // + bool display_node_desc = 14; +} + +// +message Share { + // + bool display_later = 1; + // + int64 oid = 2; + // + string share_origin = 3; + // + int64 share_type = 4; +} + +// +message SubpageData { + // + string title = 1; + // + string params = 2; + // + repeated SubpageTab tabs = 3; +} + +// +message SubpageTab { + // + string name = 1; + // + string params = 2; +} + +// +message TabIndexReq { + // + int64 page_id = 1; + // + int32 https_url_req = 2; + // + string from_spmid = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + int64 primary_page_id = 5; + // + int32 local_time = 6; + // + bool is_cold_start = 7; +} + +// +message TextCard { + // + string text = 1; +} + +// +message TextTitleCard { + // + string title = 1; +} + +// +message TopTab { + // + string bg_image1 = 1; + // + string bg_image2 = 2; + // + string tab_top_color = 3; + // + string tab_middle_color = 4; + // + string tab_bottom_color = 5; + // + string font_color = 6; + // + int64 bar_type = 7; +} + +// +message TopicIndexReq { + // + int64 page_id = 1; + // + string activity_from = 2; + // + int64 dynamic_id = 3; + // + string share_origin = 4; + // + int64 tab_id = 5; + // + int64 tab_module_id = 6; + // + int32 https_url_req = 7; + // + string from_spmid = 8; + // + string current_tab = 9; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 10; + // + int32 local_time = 11; + // + bool is_cold_start = 12; +} + +// +message VideoCard { + // + string title = 1; + // + string cover_image_uri = 2; + // + string cover_left_text1 = 3; + // + string cover_left_text2 = 4; + // + string cover_left_text3 = 5; + // + string uri = 6; + // + Badge badge = 7; + // + VideoRights rights = 8; + // + PlayerDimension dimension = 9; + // + ReportDic report_dic = 10; + // + string resource_type = 11; +} + +// +message VideoMoreCard { + string text = 1; + // + string uri = 2; + // + SubpageData subpage_data = 3; +} + +// +message VideoParams { + // + int64 offset = 1; + // + string topic_offset = 2; + // + int64 module_id = 3; + // + int64 sort_type = 4; +} + +message VideoReq { + // + string raw_params = 1; + // + VideoParams params = 2; + // + int64 primary_page_id = 3; +} + +// +message VideoResp { + // + Module module = 1; +} + +// +message VideoRights { + // + bool ugc_pay = 1; + // + bool is_cooperation = 2; + // + bool is_pgc = 3; +} \ No newline at end of file diff --git a/grpc_api/bilibili/app/playeronline/v1/playeronline.proto b/grpc_api/bilibili/app/playeronline/v1/playeronline.proto new file mode 100644 index 0000000..6400f21 --- /dev/null +++ b/grpc_api/bilibili/app/playeronline/v1/playeronline.proto @@ -0,0 +1,33 @@ +syntax = "proto3"; + +package bilibili.app.playeronline.v1; + +// 在线人数 +service PlayerOnline { + // 获取在线人数 + rpc GetPlayerOnline (PlayerOnlineReq) returns (PlayerOnlineReply); +} + +// 获取在线人数-请求 +message PlayerOnlineReq { + // 稿件 avid + int64 aid = 1; + // 视频 cid + int64 cid = 2; + // + bool play_open = 3; +} + +// 获取在线人数-回复 +message PlayerOnlineReply { + // + string total_text = 1; + // + int64 sec_next = 2; + // + bool bottom_show = 3; + // + bool sdm_show = 4; + // + string sdm_text = 5; +} \ No newline at end of file diff --git a/grpc_api/bilibili/app/playurl/v1/playurl.proto b/grpc_api/bilibili/app/playurl/v1/playurl.proto index d5aa081..6c697af 100644 --- a/grpc_api/bilibili/app/playurl/v1/playurl.proto +++ b/grpc_api/bilibili/app/playurl/v1/playurl.proto @@ -16,30 +16,329 @@ service PlayURL { rpc PlayConf (PlayConfReq) returns (PlayConfReply); } -// 视频地址-请求 -message PlayURLReq { - // 稿件avid - int64 aid = 1; - // 视频cid - int64 cid = 2; +// +message AB { + // + Glance glance = 1; + // + int32 group = 2; +} + +// 配置项 +message ArcConf { + // 是否支持 + bool is_support = 1; + // + bool disabled = 2; + // + ExtraContent extra_content = 3; +} + +// 业务类型 +enum Business { + UNKNOWN = 0; // 未知类型 + STORY = 1; // story业务 +} + +// Chronos灰度管理 +message Chronos { + // 资源md5 + string md5 = 1; + // 资源文件 + string file = 2; +} + +// +message CloudConf { + // 是否展示功能 + bool show = 1; + // 设置类型 + ConfType conf_type = 2; + // + FieldValue field_value = 3; + // + ConfValue conf_value = 4; +} + +// 编码类型 +enum CodeType { + NOCODE = 0; // 默认 + CODE264 = 1; // H.264 + CODE265 = 2; // H.265 +} + +// 设置类型 +enum ConfType { + NoType = 0; // + FLIPCONF = 1; // 镜像反转 + CASTCONF = 2; // 视频投屏 + FEEDBACK = 3; // 反馈 + SUBTITLE = 4; // 字幕 + PLAYBACKRATE = 5; // 播放速度 + TIMEUP = 6; // 定时停止播放 + PLAYBACKMODE = 7; // 播放方式 + SCALEMODE = 8; // 画面尺寸 + BACKGROUNDPLAY = 9; // 后台播放 + LIKE = 10; // 顶 + DISLIKE = 11; // 踩 + COIN = 12; // 投币 + ELEC = 13; // 充电 + SHARE = 14; // 分享 + SCREENSHOT = 15; // 截图 + LOCKSCREEN = 16; // 锁屏 + RECOMMEND = 17; // 推荐 + PLAYBACKSPEED = 18; // 倍速 + DEFINITION = 19; // 清晰度 + SELECTIONS = 20; // 选集 + NEXT = 21; // 下一集 + EDITDM = 22; // 编辑弹幕 + SMALLWINDOW = 23; // 小窗 + SHAKE = 24; // 播放震动 + OUTERDM = 25; // 外层面板弹幕设置 + INNERDM = 26; // 三点内弹幕设置 + PANORAMA = 27; // 全景 + DOLBY = 28; // 杜比 + COLORFILTER = 29; // +} + +// +message ConfValue { + oneof value { + bool switch_val = 1; + int64 selected_val = 2; + } +} + + + + + + + + + + + +// dash条目 +message DashItem { // 清晰度 - int64 qn = 3; - // 视频流版本 - int32 fnver = 4; - // 视频流格式 - int32 fnval = 5; - // 下载模式 - // 0:播放 1:flv下载 2:dash下载 - uint32 download = 6; - // 流url强制是用域名 - // 0:允许使用ip 1:使用http 2:使用https - int32 forceHost = 7; - // 是否4K - bool fourk = 8; - // 当前页spm - string spmid = 9; - // 上一页spm - string fromSpmid = 10; + uint32 id = 1; + // 主线流 + string baseUrl = 2; + // 备用流 + repeated string backup_url = 3; + // 带宽 + uint32 bandwidth = 4; + // 编码id + uint32 codecid = 5; + // md5 + string md5 = 6; + // 大小 + uint64 size = 7; + // 帧率 + string frame_rate = 8; +} + +// dash视频流 +message DashVideo { + // 主线流 + string base_url = 1; + // 备用流 + repeated string backup_url = 2; + // 带宽 + uint32 bandwidth = 3; + // 编码id + uint32 codecid = 4; + // md5 + string md5 = 5; + // 大小 + uint64 size = 6; + // 伴音质量id + uint32 audioId = 7; + // 是否非全二压 + bool no_rexcode = 8; + // 码率 + string frame_rate = 9; + // 宽度 + int32 width = 10; + // 高度 + int32 height = 11; +} + +// 杜比伴音信息 +message DolbyItem { + enum Type { + NONE = 0; // NONE + COMMON = 1; // 普通杜比音效 + ATMOS = 2; // 全景杜比音效 + } + // 杜比类型 + Type type = 1; + // 音频流 + DashItem audio = 2; +} + +// 事件 +message Event { + // 震动 + Shake shake = 1; +} + +// +message ExtraContent { + // + string disabled_reason = 1; + // + int64 disabled_code = 2; +} + +// 配置字段值 +message FieldValue { + oneof value { + // 开关 + bool switch = 1; + } +} + +// 清晰度描述 +message FormatDescription { + // 清晰度 + int32 quality = 1; + // 清晰度格式 + string format = 2; + // 清晰度描述 + string description = 3; + // 新描述 + string new_description = 4; + // 选中态的清晰度描述 + string display_desc = 5; + // 选中态的清晰度描述的角标 + string superscript = 6; +} + +// +message Glance { + // + bool can_watch = 1; + // + int64 times = 2; + // + int64 duration = 3; +} + +// +enum Group { + UnknownGroup = 0; // + A = 1; // + B = 2; // + C = 3; // +} + +// 禁用功能配置 +message PlayAbilityConf { + CloudConf background_play_conf = 1; // 后台播放 + CloudConf flip_conf = 2; // 镜像反转 + CloudConf cast_conf = 3; // 投屏 + CloudConf feedback_conf = 4; // 反馈 + CloudConf subtitle_conf = 5; // 字幕 + CloudConf playback_rate_conf = 6; // 播放速度 + CloudConf time_up_conf = 7; // 定时停止 + CloudConf playback_mode_conf = 8; // 播放方式 + CloudConf scale_mode_conf = 9; // 画面尺寸 + CloudConf like_conf = 10; // 赞 + CloudConf dislike_conf = 11; // 踩 + CloudConf coin_conf = 12; // 投币 + CloudConf elec_conf = 13; // 充电 + CloudConf share_conf = 14; // 分享 + CloudConf screen_shot_conf = 15; // 截图 + CloudConf lock_screen_conf = 16; // 锁定 + CloudConf recommend_conf = 17; // 相关推荐 + CloudConf playback_speed_conf = 18; // 播放速度 + CloudConf definition_conf = 19; // 清晰度 + CloudConf selections_conf = 20; // 选集 + CloudConf next_conf = 21; // 下一集 + CloudConf edit_dm_conf = 22; // 编辑弹幕 + CloudConf small_window_conf = 23; // 小窗 + CloudConf shake_conf = 24; // 震动 + CloudConf outer_dm_conf = 25; // 外层面板弹幕设置 + CloudConf innerDmDisable = 26; // 三点内弹幕设置 + CloudConf inner_dm_conf = 27; // 一起看入口 + CloudConf dolby_conf = 28; // 杜比音效 + CloudConf color_filter_conf = 29; // +} + +// 播放控件稿件配置 +message PlayArcConf { + ArcConf background_play_conf = 1; // 后台播放 + ArcConf flip_conf = 2; // 镜像反转 + ArcConf cast_conf = 3; // 投屏 + ArcConf feedback_conf = 4; // 反馈 + ArcConf subtitle_conf = 5; // 字幕 + ArcConf playback_rate_conf = 6; // 播放速度 + ArcConf time_up_conf = 7; // 定时停止 + ArcConf playback_mode_conf = 8; // 播放方式 + ArcConf scale_mode_conf = 9; // 画面尺寸 + ArcConf like_conf = 10; // 赞 + ArcConf dislike_conf = 11; // 踩 + ArcConf coin_conf = 12; // 投币 + ArcConf elec_conf = 13; // 充电 + ArcConf share_conf = 14; // 分享 + ArcConf screen_shot_conf = 15; // 截图 + ArcConf lock_screen_conf = 16; // 锁定 + ArcConf recommend_conf = 17; // 相关推荐 + ArcConf playback_speed_conf = 18; // 播放速度 + ArcConf definition_conf = 19; // 清晰度 + ArcConf selections_conf = 20; // 选集 + ArcConf next_conf = 21; // 下一集 + ArcConf edit_dm_conf = 22; // 编辑弹幕 + ArcConf small_window_conf = 23; // 小窗 + ArcConf shake_conf = 24; // 震动 + ArcConf outer_dm_conf = 25; // 外层面板弹幕设置 + ArcConf inner_dm_conf = 26; // 三点内弹幕设置 + ArcConf panorama_conf = 27; // 一起看入口 + ArcConf dolby_conf = 28; // 杜比音效 + ArcConf screen_recording_conf = 29; // + ArcConf color_filter_conf = 30; // +} + +// 编辑播放界面配置-响应 +message PlayConfEditReply { + +} + +// 编辑播放界面配置-请求 +message PlayConfEditReq { + // 播放界面配置 + repeated PlayConfState play_conf = 1; +} + +// 获取播放界面配置-响应 +message PlayConfReply { + //播放控件用户自定义配置 + PlayAbilityConf play_conf = 1; +} + +// 获取播放界面配置-请求 +message PlayConfReq { + +} + +// 播放界面配置 +message PlayConfState { + // 设置类型 + ConfType conf_type = 1; + // 是否隐藏 + bool show = 2; + // 配置字段值 + FieldValue field_value = 3; + // + ConfValue conf_value = 4; +} + +// 错误码 +enum PlayErr { + NoErr = 0; // + WithMultiDeviceLoginErr = 1; // 管控类型的错误码 } // 视频地址-回复 @@ -72,84 +371,87 @@ message PlayURLReply { VideoType type = 13; } -// 分段流条目 -message ResponseUrl { - // 分段序号 - uint32 order = 1; - // 分段时长 - uint64 length = 2; - // 分段大小 - uint64 size = 3; - // 主线流 - string url = 4; - // 备用流 - repeated string backup_url = 5; - // md5 - string md5 = 6; -} - -// dash数据 -message ResponseDash { - // dash视频流 - repeated DashItem video = 1; - // dash伴音流 - repeated DashItem audio = 2; -} - -// dash条目 -message DashItem { +// 视频地址-请求 +message PlayURLReq { + // 稿件avid + int64 aid = 1; + // 视频cid + int64 cid = 2; // 清晰度 - uint32 id = 1; - // 主线流 - string baseUrl = 2; - // 备用流 - repeated string backup_url = 3; - // 带宽 - uint32 bandwidth = 4; - // 编码id - uint32 codecid = 5; - // md5 - string md5 = 6; - // 大小 - uint64 size = 7; - // 帧率 - string frame_rate = 8; + int64 qn = 3; + // 视频流版本 + int32 fnver = 4; + // 视频流格式 + int32 fnval = 5; + // 下载模式 + // 0:播放 1:flv下载 2:dash下载 + uint32 download = 6; + // 流url强制是用域名 + // 0:允许使用ip 1:使用http 2:使用https + int32 force_host = 7; + // 是否4K + bool fourk = 8; + // 当前页spm + string spmid = 9; + // 上一页spm + string from_spmid = 10; } -// 互动视频升级提示 -message UpgradeLimit { - // 错误码 - int32 code =1; - // 错误信息 - string message =2; - // 图片url - string image =3; - // 按钮信息 - UpgradeButton button=4; +// 播放页信息-回复 +message PlayViewReply { + // 视频流信息 + VideoInfo video_info = 1; + // 播放控件用户自定义配置 + PlayAbilityConf play_conf = 2; + // 互动视频升级提示 + UpgradeLimit upgrade_limit = 3; + // Chronos灰度管理 + Chronos chronos = 4; + // 播放控件稿件配置 + PlayArcConf play_arc = 5; + // 事件 + Event event = 6; + // + AB ab = 7; } -// 互动视频升级按钮信息 -message UpgradeButton { - // 标题 - string title = 1; - // 链接 - string link = 2; -} - -// 清晰度描述 -message FormatDescription { +// 播放页信息-请求 +message PlayViewReq { + // 稿件avid + int64 aid = 1; + // 视频cid + int64 cid = 2; // 清晰度 - int32 quality = 1; - // 清晰度格式 - string format = 2; - // 清晰度描述 - string description = 3; - // 新描述 - string new_description = 4; - // 选中态的清晰度描述 - string display_desc = 5; - // 选中态的清晰度描述的角标 - string superscript = 6; + int64 qn = 3; + // 视频流版本 + int32 fnver = 4; + // 视频流格式 + int32 fnval = 5; + // 下载模式 + // 0:播放 1:flv下载 2:dash下载 + uint32 download = 6; + // 流url强制是用域名 + // 0:允许使用ip 1:使用http 2:使用https + int32 force_host = 7; + // 是否4K + bool fourk = 8; + // 当前页spm + string spmid = 9; + // 上一页spm + string from_spmid = 10; + // 青少年模式 + int32 teenagers_mode = 11; + // 编码 + CodeType prefer_codec_type = 12; + // 业务类型 + Business business = 13; + // + int64 voice_balance = 14; +} + +// 投屏地址-响应 +message ProjectReply { + PlayURLReply project = 1; } // 投屏地址-请求 @@ -184,76 +486,34 @@ message ProjectReq { int32 device_type = 12; } -// 投屏地址-响应 -message ProjectReply { - PlayURLReply project = 1; +// dash数据 +message ResponseDash { + // dash视频流 + repeated DashItem video = 1; + // dash伴音流 + repeated DashItem audio = 2; } -// 播放页信息-请求 -message PlayViewReq { - // 稿件avid - int64 aid = 1; - // 视频cid - int64 cid = 2; - // 清晰度 - int64 qn = 3; - // 视频流版本 - int32 fnver = 4; - // 视频流格式 - int32 fnval = 5; - // 下载模式 - // 0:播放 1:flv下载 2:dash下载 - uint32 download = 6; - // 流url强制是用域名 - // 0:允许使用ip 1:使用http 2:使用https - int32 force_host = 7; - // 是否4K - bool fourk = 8; - // 当前页spm - string spmid = 9; - // 上一页spm - string from_spmid = 10; - // 青少年模式 - int32 teenagers_mode = 11; - // 编码 - CodeType prefer_codec_type = 12; - // 业务类型 - Business business = 13; +// 分段流条目 +message ResponseUrl { + // 分段序号 + uint32 order = 1; + // 分段时长 + uint64 length = 2; + // 分段大小 + uint64 size = 3; + // 主线流 + string url = 4; + // 备用流 + repeated string backup_url = 5; + // md5 + string md5 = 6; } -// 业务类型 -enum Business { - UNKNOWN = 0; // 未知类型 - STORY = 1; // story业务 -} - -// 编码类型 -enum CodeType { - NOCODE = 0; // 默认 - CODE264 = 1; // H.264 - CODE265 = 2; // H.265 -} - -// 播放页信息-回复 -message PlayViewReply { - // 视频流信息 - VideoInfo video_info = 1; - // 播放控件用户自定义配置 - PlayAbilityConf play_conf = 2; - // 互动视频升级提示 - UpgradeLimit upgrade_limit = 3; - // Chronos灰度管理 - Chronos chronos = 4; - // 播放控件稿件配置 - PlayArcConf play_arc = 5; - // 事件 - Event event = 6; -} - -// 事件 -message Event { - // 震动 - Shake shake = 1; +//分段视频流 +message SegmentVideo { + //分段视频流列表 + repeated ResponseUrl segment = 1; } // 震动 @@ -262,176 +522,6 @@ message Shake { string file = 1; } -// Chronos灰度管理 -message Chronos { - // 资源md5 - string md5 = 1; - // 资源文件 - string file = 2; -} - -// 获取播放界面配置-请求 -message PlayConfReq {} - -// 获取播放界面配置-响应 -message PlayConfReply { - //播放控件用户自定义配置 - PlayAbilityConf play_conf = 1; -} - -// 禁用功能配置 -message PlayAbilityConf { - CloudConf background_play_conf = 1; // 后台播放 - CloudConf flip_conf = 2; // 镜像反转 - CloudConf cast_conf = 3; // 投屏 - CloudConf feedback_conf = 4; // 反馈 - CloudConf subtitle_conf = 5; // 字幕 - CloudConf playback_rate_conf = 6; // 播放速度 - CloudConf time_up_conf = 7; // 定时停止 - CloudConf playback_mode_conf = 8; // 播放方式 - CloudConf scale_mode_conf = 9; // 画面尺寸 - CloudConf like_conf = 10; // 赞 - CloudConf dislike_conf = 11; // 踩 - CloudConf coin_conf = 12; // 投币 - CloudConf elec_conf = 13; // 充电 - CloudConf share_conf = 14; // 分享 - CloudConf screen_shot_conf = 15; // 截图 - CloudConf lock_screen_conf = 16; // 锁定 - CloudConf recommend_conf = 17; // 相关推荐 - CloudConf playback_speed_conf = 18; // 播放速度 - CloudConf definition_conf = 19; // 清晰度 - CloudConf selections_conf = 20; // 选集 - CloudConf next_conf = 21; // 下一集 - CloudConf edit_dm_conf = 22; // 编辑弹幕 - CloudConf small_window_conf = 23; // 小窗 - CloudConf shake_conf = 24; // 震动 - CloudConf outer_dm_conf = 25; // 外层面板弹幕设置 - CloudConf innerDmDisable = 26; // 三点内弹幕设置 - CloudConf inner_dm_conf = 27; // 一起看入口 - CloudConf dolby_conf = 28; // 杜比音效 -} - -// 播放控件稿件配置 -message PlayArcConf { - ArcConf background_play_conf = 1; // 后台播放 - ArcConf flip_conf = 2; // 镜像反转 - ArcConf cast_conf = 3; // 投屏 - ArcConf feedback_conf = 4; // 反馈 - ArcConf subtitle_conf = 5; // 字幕 - ArcConf playback_rate_conf = 6; // 播放速度 - ArcConf time_up_conf = 7; // 定时停止 - ArcConf playback_mode_conf = 8; // 播放方式 - ArcConf scale_mode_conf = 9; // 画面尺寸 - ArcConf like_conf = 10; // 赞 - ArcConf dislike_conf = 11; // 踩 - ArcConf coin_conf = 12; // 投币 - ArcConf elec_conf = 13; // 充电 - ArcConf share_conf = 14; // 分享 - ArcConf screen_shot_conf = 15; // 截图 - ArcConf lock_screen_conf = 16; // 锁定 - ArcConf recommend_conf = 17; // 相关推荐 - ArcConf playback_speed_conf = 18; // 播放速度 - ArcConf definition_conf = 19; // 清晰度 - ArcConf selections_conf = 20; // 选集 - ArcConf next_conf = 21; // 下一集 - ArcConf edit_dm_conf = 22; // 编辑弹幕 - ArcConf small_window_conf = 23; // 小窗 - ArcConf shake_conf = 24; // 震动 - ArcConf outer_dm_conf = 25; // 外层面板弹幕设置 - ArcConf inner_dm_conf = 26; // 三点内弹幕设置 - ArcConf panorama_conf = 27; // 一起看入口 - ArcConf dolby_conf = 28; // 杜比音效 -} - -// 设置类型 -enum ConfType { - NoType = 0; // - FLIPCONF = 1; // 镜像反转 - CASTCONF = 2; // 视频投屏 - FEEDBACK = 3; // 反馈 - SUBTITLE = 4; // 字幕 - PLAYBACKRATE = 5; // 播放速度 - TIMEUP = 6; // 定时停止播放 - PLAYBACKMODE = 7; // 播放方式 - SCALEMODE = 8; // 画面尺寸 - BACKGROUNDPLAY = 9; // 后台播放 - LIKE = 10; // 顶 - DISLIKE = 11; // 踩 - COIN = 12; // 投币 - ELEC = 13; // 充电 - SHARE = 14; // 分享 - SCREENSHOT = 15; // 截图 - LOCKSCREEN = 16; // 锁屏 - RECOMMEND = 17; // 推荐 - PLAYBACKSPEED = 18; // 倍速 - DEFINITION = 19; // 清晰度 - SELECTIONS = 20; // 选集 - NEXT = 21; // 下一集 - EDITDM = 22; // 编辑弹幕 - SMALLWINDOW = 23; // 小窗 - SHAKE = 24; // 播放震动 - OUTERDM = 25; // 外层面板弹幕设置 - INNERDM = 26; // 三点内弹幕设置 - PANORAMA = 27; // 全景 - DOLBY = 28; // 杜比 -} - -// -message CloudConf { - // 是否展示功能 - bool show = 1; - // 设置类型 - ConfType conf_type = 2; - // - FieldValue field_value = 3; -} - -// 配置字段值 -message FieldValue { - // - oneof value { - // 开关 - bool switch = 1; - } -} - -// 配置项 -message ArcConf { - // 是否支持 - bool is_support = 1; -} - -// 视频url信息 -message VideoInfo { - // 视频清晰度 - uint32 quality = 1; - // 视频格式 - string format = 2; - // 视频时长 - uint64 timelength = 3; - // 视频编码id - uint32 video_codecid = 4; - // 视频流 - repeated Stream stream_list = 5; - // 伴音流 - repeated DashItem dash_audio = 6; - // 杜比伴音流 - DolbyItem dolby = 7; -} - -// 杜比音频信息 -message DolbyItem { - enum Type { - NONE = 0; // NONE - COMMON = 1; // 普通杜比音效 - ATMOS = 2; // 全景杜比音效 - } - // 杜比类型 - Type type = 1; - // 音频流 - DashItem audio = 2; -} - // 视频流信息 message Stream { // 元数据 @@ -445,18 +535,6 @@ message Stream { } } -//分段视频流 -message SegmentVideo { - //分段视频流列表 - repeated ResponseUrl segment = 1; -} - -// 错误码 -enum PlayErr { - NoErr = 0; // - WithMultiDeviceLoginErr = 1; // 管控类型的错误码 -} - // 流媒体元数据 message StreamInfo { // 清晰度 @@ -497,43 +575,45 @@ message StreamLimit { string msg = 3; } -// 编辑播放界面配置-请求 -message PlayConfEditReq { - // 播放界面配置 - repeated PlayConfState play_conf = 1; +// 互动视频升级按钮信息 +message UpgradeButton { + // 标题 + string title = 1; + // 链接 + string link = 2; } -// 编辑播放界面配置-响应 -message PlayConfEditReply {} -// 播放界面配置 -message PlayConfState { - // 设置类型 - ConfType conf_type = 1; - // 是否隐藏 - bool show = 2; - // 配置字段值 - FieldValue field_value = 3; +// 互动视频升级提示 +message UpgradeLimit { + // 错误码 + int32 code = 1; + // 错误信息 + string message = 2; + // 图片url + string image = 3; + // 按钮信息 + UpgradeButton button = 4; } -// dash视频流 -message DashVideo { - // 主线流 - string base_url = 1; - // 备用流 - repeated string backup_url = 2; - // 带宽 - uint32 bandwidth = 3; - // 编码id - uint32 codecid = 4; - // md5 - string md5 = 5; - // 大小 - uint64 size = 6; - // 伴音质量id - uint32 audioId = 7; - // 是否非全二压 - bool no_rexcode = 8; +// 视频url信息 +message VideoInfo { + // 视频清晰度 + uint32 quality = 1; + // 视频格式 + string format = 2; + // 视频时长 + uint64 timelength = 3; + // 视频编码id + uint32 video_codecid = 4; + // 视频流 + repeated Stream stream_list = 5; + // 伴音流 + repeated DashItem dash_audio = 6; + // 杜比伴音流 + DolbyItem dolby = 7; + // + VolumeInfo volume = 8; } // 视频类型 @@ -543,3 +623,21 @@ enum VideoType { DASH_VALUE = 2; // dash格式 MP4_VALUE = 3; // mp4格式 } + +// +message VolumeInfo { + // + double measured_i = 1; + // + double measured_lra = 2; + // + double measured_tp = 3; + // + double measured_threshold = 4; + // + double target_offset = 5; + // + double target_i = 6; + // + double target_tp = 7; +} \ No newline at end of file diff --git a/grpc_api/bilibili/app/topic/v1/topic.proto b/grpc_api/bilibili/app/topic/v1/topic.proto new file mode 100644 index 0000000..e69de29 diff --git a/grpc_api/bilibili/app/view/v1/view.proto b/grpc_api/bilibili/app/view/v1/view.proto index 188831c..cc4babd 100644 --- a/grpc_api/bilibili/app/view/v1/view.proto +++ b/grpc_api/bilibili/app/view/v1/view.proto @@ -22,41 +22,1635 @@ service View { rpc ExposePlayerCard (ExposePlayerCardReq) returns (NoReply); // 点击签订契约 rpc AddContract (AddContractReq) returns (NoReply); + // + rpc FeedView (FeedViewReq) returns (FeedViewReply); + // + rpc ChronosPkg (ChronosPkgReq) returns (Chronos); + // + rpc CacheView (CacheViewReq) returns (CacheViewReply); +} + +// 活动页资源包 +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 AdInfo { + // + int64 creative_id = 1; + // + int64 creative_type = 2; + // + CreativeContent creative_content = 3; + // + string ad_cb = 4; + // + int32 card_type = 5; +} + +// 点击签订契约-请求 +message AddContractReq { + // 稿件avid + int64 aid = 1; + // UP主mid + int64 up_mid = 2; + // 当前页面spm + string spmid = 3; +} + +// +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; +} + +// 视频引用的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 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 CM { + // 广告数据(需解包) + google.protobuf.Any source_content = 1; +} + +// 广告配置 +message CMConfig { + // 广告配置数据(需要二次解包) + google.protobuf.Any ads_control = 1; +} + +// +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; +} + +// 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 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 + 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 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; +} + +// 契约卡 +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; +} + +// +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; +} + +// 分P弹幕信息 +message DM { + // 分P是否关闭弹幕 + // 0:正常 1:关闭 + bool closed = 1; + // + bool real_name = 2; + // 分P弹幕总数 + int64 count = 3; +} + +// 枚举-文本类型 +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; +} + +// 错误代码 +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; +} + +// 播放器卡片曝光-请求 +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 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 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; +} + +// +message LikeCustom { + // + bool like_switch = 1; + // + int64 full_to_half_progress = 2; + // + int64 non_full_progress = 3; + // + int64 update_count = 4; +} + +// 直播信息 +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; +} + +// +enum MaterialSource { + Default = 0; + BiJian = 1; } // 空回复 -message 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; +} + +// +message Node { // - int32 autoplay = 13; - // 视频秒开参数 - bilibili.app.archive.middleware.v1.PlayerArgs player_args = 14; + int64 node_id = 1; + // + string title = 2; + // + int64 cid = 3; +} + +// +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 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; +} + +// +message PointMaterial { + // + string url = 1; + // + int32 material_source = 2; +} + +// 排行榜 +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; +} + + +// 相关推荐内容 +message RelateItem { + // 跳链 + string url = 1; + // 封面 + string cover = 2; +} + +// +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 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; +} + +// 合作成员信息 +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 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 sub_panel = 7; +} + +// TAG图标信息 +message TIcon { + // TAG图标url + string icon = 1; +} + +// 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; +} + +// 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; +} + +// 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; +} + +// 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; +} + +// 用户追番标志 +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; +} + +// 分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; } // 视频页信息-响应 @@ -143,315 +1737,60 @@ message ViewReply { 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; + CmIpad cm_ipad = 41; // - bool real_name = 2; - // 分P弹幕总数 - int64 count = 3; -} - -// UP主扩展信息 ("OnwerExt"为源码中拼写错误) -message OnwerExt { - // 认证信息 - OfficialVerify official_verify = 1; - // 直播信息 - Live live = 2; - // 会员信息 - Vip vip = 3; + repeated ViewMaterial sticker = 42; // - 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; + UpLikeImg up_like_img = 43; // - string endpage_uri = 4; + LikeCustom like_custom = 44; + // + repeated Tag desc_tag = 45; + // + SpecialCell special_cell = 46; + // + Online online = 47; + // + google.protobuf.Any cm_under_player = 48; +} + +// 视频页详情页-请求 +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; } // 会员信息 @@ -484,791 +1823,6 @@ message VipLabel { 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 sub_panel = 7; -} - // 免流子面板定制化配置 message subTFPanel { // 右侧按钮素材 @@ -1284,147 +1838,3 @@ message subTFPanel { // 运营商 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; -} diff --git a/grpc_api/bilibili/community/service/dm/v1/dm.proto b/grpc_api/bilibili/community/service/dm/v1/dm.proto index ac4933e..1daaa9b 100644 --- a/grpc_api/bilibili/community/service/dm/v1/dm.proto +++ b/grpc_api/bilibili/community/service/dm/v1/dm.proto @@ -14,6 +14,8 @@ service DM { rpc DmSegOtt(DmSegOttReq) returns(DmSegOttReply); // SDK弹幕列表 rpc DmSegSDK(DmSegSDKReq) returns(DmSegSDKReply); + // + rpc DmExpoReport (DmExpoReportReq) returns (DmExpoReportRes); } // 弹幕SDK-请求 diff --git a/grpc_api/bilibili/community/service/govern/v1/govern.proto b/grpc_api/bilibili/community/service/govern/v1/govern.proto new file mode 100644 index 0000000..6ae4ac2 --- /dev/null +++ b/grpc_api/bilibili/community/service/govern/v1/govern.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package bilibili.community.service.govern.v1; + +import "google/protobuf/empty.proto"; + +// +service Qoe { + // + rpc QoeReport (QoeReportReq) returns (google.protobuf.Empty); +} + +// +message QoeReportReq { + // + int64 id = 1; + // + int64 scene = 2; + // + int32 type = 3; + // + bool cancel = 4; + // + string business_type = 5; + // + QoeScoreResult score_result = 6; + // + string business_data = 7; +} + +// +message QoeScoreResult { + // + float score = 1; +} \ No newline at end of file diff --git a/grpc_api/bilibili/pangu/gallery/v1/gallery.proto b/grpc_api/bilibili/pangu/gallery/v1/gallery.proto new file mode 100644 index 0000000..2c7b35c --- /dev/null +++ b/grpc_api/bilibili/pangu/gallery/v1/gallery.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package bilibili.pangu.gallery.v1; + +import "google/protobuf/empty.proto"; + +// +service GalleryInterface { + // + rpc Ping (google.protobuf.Empty) returns (google.protobuf.Empty); + // + rpc UserInfo (GetUserInfoReq) returns (GetUserInfoReply); + // + rpc ListNFTByMid (ListNFTByMidReq) returns (ListNFTByMidReply); + // + rpc ListOrderByMid (ListOrderByMidReq) returns (ListOrderByMidReply); + // + rpc BasicInfo (BasicInfoReq) returns (BasicInfoReply); + // + rpc UserCheck (UserCheckReq) returns (UserCheckReply); + // + rpc AgreePolicy (AgreePolicyReq) returns (AgreePolicyReply); + // + rpc GetLastPolicy (GetLastPolicyReq) returns (GetLastPolicyReply); +} \ No newline at end of file diff --git a/grpc_api/bilibili/vega/deneb/v1/deneb.proto b/grpc_api/bilibili/vega/deneb/v1/deneb.proto new file mode 100644 index 0000000..df6df37 --- /dev/null +++ b/grpc_api/bilibili/vega/deneb/v1/deneb.proto @@ -0,0 +1,9 @@ +syntax = "proto3"; + +package bilibili.vega.deneb.v1; + +// +service VegaDenebRPC { + // + rpc MessagePulls (MessagePullsReq) returns (MessagePullsReply); +} \ No newline at end of file