From 7d389d8f72ff77fc53ae909c7dec1dc33c47a32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AF=92=E5=BD=A4?= <70561268+cxw620@users.noreply.github.com> Date: Mon, 3 Jul 2023 16:44:26 +0800 Subject: [PATCH] update grpc_api from 7.26.0 (#728) * update package bilibili.pgc.gateway.player.v2 from 7.26.0 * update package bilibili.app.viewunite.v1 from 7.26.0 * delete some unused grpc package based on 7.26.0 * update package bilibili.playershared from 7.26.0 * update package bilibili.polymer.app.search.v1 from 7.26.0 * redir package bilibili.polymer.contract.v1 * update package bilibili.app.dynamic.v2 from 7.26.0 * add package bilibili.app.search.v2 from 7.26.0 * fix: typo --- .../bilibili/app/dynamic/common/dynamic.proto | 22 + grpc_api/bilibili/app/dynamic/v2/campus.proto | 66 + .../bilibili/app/dynamic/v2/dynamic.proto | 2562 +++++++++++++---- grpc_api/bilibili/app/dynamic/v2/opus.proto | 59 + grpc_api/bilibili/app/search/v2/search.proto | 110 + .../bilibili/app/viewunite/v1/viewunite.proto | 6 +- .../broadcast/message/main/search.proto | 29 + .../pgc/gateway/player/v2/playurl.proto | 452 ++- .../pgc/gateway/player/v3/playurl.proto | 32 - .../bilibili/playershared/playershared.proto | 408 +-- .../polymer/app/search/v1/search.proto | 26 +- .../polymer/contract/{ => v1}/contract.proto | 2 +- 12 files changed, 2922 insertions(+), 852 deletions(-) create mode 100644 grpc_api/bilibili/app/dynamic/common/dynamic.proto create mode 100644 grpc_api/bilibili/app/dynamic/v2/campus.proto create mode 100644 grpc_api/bilibili/app/dynamic/v2/opus.proto create mode 100644 grpc_api/bilibili/app/search/v2/search.proto create mode 100644 grpc_api/bilibili/broadcast/message/main/search.proto delete mode 100644 grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto rename grpc_api/bilibili/polymer/contract/{ => v1}/contract.proto (97%) diff --git a/grpc_api/bilibili/app/dynamic/common/dynamic.proto b/grpc_api/bilibili/app/dynamic/common/dynamic.proto new file mode 100644 index 0000000..be54d7e --- /dev/null +++ b/grpc_api/bilibili/app/dynamic/common/dynamic.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; + +package bilibili.app.dynamic.common; + + +// +message ItemWHRatio { + // + int32 ratio = 1; + // + int32 width = 2; + // + int32 height = 3; +} + +// +enum WHRatio { + W_H_RATIO_1_1 = 0; + W_H_RATIO_16_9 = 1; + W_H_RATIO_3_4 = 2; + W_H_RATIO_CUSTOM = 3; +} diff --git a/grpc_api/bilibili/app/dynamic/v2/campus.proto b/grpc_api/bilibili/app/dynamic/v2/campus.proto new file mode 100644 index 0000000..3859c2e --- /dev/null +++ b/grpc_api/bilibili/app/dynamic/v2/campus.proto @@ -0,0 +1,66 @@ + +syntax = "proto3"; + +package bilibili.app.dynamic.v2; + +import "bilibili/app/archive/middleware/v1/preload.proto"; +import "bilibili/pagination/pagination.proto"; +import "bilibili/app/dynamic/common/dynamic.proto"; +import "bilibili/app/dynamic/v2/dynamic.proto"; + +service Campus { + // + rpc WaterFlowRcmd (WaterFlowRcmdReq) returns (WaterFlowRcmdReply); +} + +// +message CampusWaterFlowItem { + // + int32 item_type = 1; + // + bilibili.app.dynamic.common.ItemWHRatio wh_ratio = 2; + // + oneof item { + WFItemDefault item_default = 3; + } +} + +// +message WaterFlowRcmdReq { + // + int64 campus_id = 1; + // + int32 page = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + CampusRcmdReqFrom from = 4; +} + +// +message WaterFlowRcmdResp { + // + repeated CampusWaterFlowItem items = 1; + // + bilibili.pagination.FeedPaginationReply offset = 2; +} + +// +message WFItemDefault { + // + string title = 1; + // + string cover = 2; + // + CoverIconWithText bottom_left_1 = 3; + // + CoverIconWithText bottom_left_2 = 4; + // + CoverIconWithText bottom_right_1 = 5; + // + string uri = 6; + // + RcmdReason rcmd_reason = 7; + // + map annotations = 8; +} \ No newline at end of file diff --git a/grpc_api/bilibili/app/dynamic/v2/dynamic.proto b/grpc_api/bilibili/app/dynamic/v2/dynamic.proto index 2cb1474..0cb27da 100644 --- a/grpc_api/bilibili/app/dynamic/v2/dynamic.proto +++ b/grpc_api/bilibili/app/dynamic/v2/dynamic.proto @@ -4,101 +4,122 @@ package bilibili.app.dynamic.v2; import "google/protobuf/any.proto"; import "bilibili/app/archive/middleware/v1/preload.proto"; +import "bilibili/dagw/component/avatar/v1/avatar.proto"; -// v2动态 +// v2动态, rpc 按字母顺序排列 service Dynamic { - // 动态视频页 - rpc DynVideo(DynVideoReq) returns (DynVideoReply); + // + rpc AlumniDynamics (AlumniDynamicsReq) returns (AlumniDynamicsReply); + // + rpc CampusBillBoard (CampusBillBoardReq) returns (CampusBillBoardReply); + // + rpc CampusEntryTab(CampusEntryTabReq) returns (CampusEntryTabResp); + // + rpc CampusFeedback(CampusFeedbackReq) returns (CampusFeedbackReply); + // + rpc CampusHomePages(CampusHomePagesReq) returns (CampusHomePagesReply); + // + rpc CampusMateLikeList(CampusMateLikeListReq) returns (CampusMateLikeListReply); + // + rpc CampusMngDetail(CampusMngDetailReq) returns (CampusMngDetailReply); + // + rpc CampusMngQuizOperate(CampusMngQuizOperateReq) returns (CampusMngQuizOperateReply); + // + rpc CampusMngSubmit(CampusMngSubmitReq) returns (CampusMngSubmitReply); + // + rpc CampusRcmd(CampusRcmdReq) returns (CampusRcmdReply); + // + rpc CampusRcmdFeed(CampusRcmdFeedReq) returns (CampusRcmdFeedReply); + // + rpc CampusRecommend(CampusRecommendReq) returns (CampusRecommendReply); + // + rpc CampusRedDot(CampusRedDotReq) returns (CampusRedDotReply); + // + rpc CampusSquare(CampusSquareReq) returns (CampusSquareReply); + // + rpc CampusTopicRcmdFeed(CampusTopicRcmdFeedReq) returns (CampusTopicRcmdFeedReply); + // 动态通用附加卡-follow/取消follow + rpc DynAdditionCommonFollow(DynAdditionCommonFollowReq) returns (DynAdditionCommonFollowReply); // 动态综合页 rpc DynAll(DynAllReq) returns (DynAllReply); - // 批量动态id获取动态详情 - rpc DynDetails(DynDetailsReq) returns (DynDetailsReply); - // 视频页最近访问 - 个人feed流 - rpc DynVideoPersonal(DynVideoPersonalReq) returns (DynVideoPersonalReply); - // 视频页最近访问 - 标记已读 - rpc DynVideoUpdOffset(DynVideoUpdOffsetReq) returns (NoReply); - // 动态通用附加卡-follow/取消follow - rpc DynAdditionCommonFollow(DynAdditionCommonFollowReq) returns(DynAdditionCommonFollowReply); - // 动态点赞 - rpc DynThumb(DynThumbReq) returns(NoReply); - // 动态发布生成临时卡 - rpc DynFakeCard(DynFakeCardReq) returns(DynFakeCardReply); - // 关注推荐up主换一换 - rpc DynRcmdUpExchange(DynRcmdUpExchangeReq) returns(DynRcmdUpExchangeReply); // 综合页最近访问 - 个人feed流 rpc DynAllPersonal(DynAllPersonalReq) returns (DynAllPersonalReply); // 综合页最近访问 - 标记已读 rpc DynAllUpdOffset(DynAllUpdOffsetReq) returns (NoReply); - // 投票操作接口 - rpc DynVote(DynVoteReq) returns (DynVoteReply); - // 网关调用 - 查看更多-列表 - rpc DynMixUpListViewMore(DynMixUpListViewMoreReq) returns (DynMixUpListViewMoreReply); - // 轻浏览 - rpc DynLight(DynLightReq) returns (DynLightReply); // 动态详情页 rpc DynDetail(DynDetailReq) returns (DynDetailReply); - // 点赞列表 - rpc LikeList(LikeListReq) returns (LikeListReply); - // 转发列表 - rpc RepostList(RepostListReq) returns (RepostListRsp); - // 新版动态转发点赞列表 需要登录 - rpc ReactionList(ReactionListReq) returns (ReactionListReply); + // 批量动态id获取动态详情 + rpc DynDetails(DynDetailsReq) returns (DynDetailsReply); + // 动态发布生成临时卡 + rpc DynFakeCard(DynFakeCardReq) returns (DynFakeCardReply); + // + rpc DynFriend(DynFriendReq) returns (DynFriendReply); + // 轻浏览 + rpc DynLight(DynLightReq) returns (DynLightReply); + // 网关调用 - 查看更多-列表 + rpc DynMixUpListViewMore(DynMixUpListViewMoreReq) returns (DynMixUpListViewMoreReply); + // 关注推荐up主换一换 + rpc DynRcmdUpExchange(DynRcmdUpExchangeReq) returns (DynRcmdUpExchangeReply); + // + rpc DynSearch(DynSearchReq) returns (DynSearchReply); + // + rpc DynServerDetails(DynServerDetailsReq) returns (DynServerDetailsReply); // 空间页动态 rpc DynSpace(DynSpaceReq) returns (DynSpaceRsp); + // + rpc DynSpaceSearchDetails(DynSpaceSearchDetailsReq) returns (DynSpaceSearchDetailsReply); + // + rpc DynTab(DynTabReq) returns (DynTabReply); + // 动态点赞 + rpc DynThumb(DynThumbReq) returns (NoReply); // 未登录页分区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 DynVideo(DynVideoReq) returns (DynVideoReply); + // 视频页最近访问 - 个人feed流 + rpc DynVideoPersonal(DynVideoPersonalReq) returns (DynVideoPersonalReply); + // 视频页最近访问 - 标记已读 + rpc DynVideoUpdOffset(DynVideoUpdOffsetReq) returns (NoReply); + // + rpc DynVote(DynVoteReq) returns (DynVoteReply); + // + rpc FeedFilter(FeedFilterReq) returns (FeedFilterReply); + // + rpc FetchTabSetting(NoReq) returns (FetchTabSettingReply); + // + rpc HomeSubscribe(HomeSubscribeReq) returns (HomeSubscribeReply); + // + rpc LbsPoi(LbsPoiReq) returns (LbsPoiReply); + // + rpc LegacyTopicFeed(LegacyTopicFeedReq) returns (LegacyTopicFeedReply); + // 点赞列表 + rpc LikeList(LikeListReq) returns (LikeListReply); + // 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 ReactionList(ReactionListReq) returns (ReactionListReply); + // 转发列表 + rpc RepostList(RepostListReq) returns (RepostListRsp); + // + rpc SchoolRecommend(SchoolRecommendReq) returns (SchoolRecommendReply); + // + rpc SchoolSearch(SchoolSearchReq) returns (SchoolSearchReply); + // + rpc SetDecision(SetDecisionReq) returns (NoReply); + // + rpc SetRecentCampus(SetRecentCampusReq) returns (NoReply); + // + rpc SubscribeCampus(SubscribeCampusReq) returns (NoReply); + // 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 AdParam { - // 综合页请求广告所需字段,由客户端-网关透传 - string ad_extra = 1; - // request_id - string request_id = 2; + // + rpc TopicSquare(TopicSquareReq) returns (TopicSquareReply); + // + rpc UnfollowMatch(UnfollowMatchReq) returns (NoReply); + // + rpc UpdateTabSetting(UpdateTabSettingReq) returns (NoReply); } // @@ -115,309 +136,6 @@ enum AddButtonType { 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 = 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 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资源 @@ -543,6 +261,362 @@ enum AdditionalType { additional_type_up_reservation = 8; // UP主预约卡 } +// 动态-附加卡-专栏 +message AdditionArticle { + // + string title = 1; + // + MdlDynDrawItem cover = 2; + // + string desc_text_left = 3; + // + string desc_text_right = 4; + // + string uri = 5; + // + string card_type = 6; +} + +// 动态-附加卡-通用卡 +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 = 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 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; + // + int32 jump_type = 7; + // + string app_name = 8; + // + string ad_mark_icon = 9; +} + +// 动态-附加卡-直播附加卡 +message AdditionLiveRoom { + // + string title = 1; + // + string cover = 2; + // + VideoBadge badge = 3; + // + CoverIconWithText desc_text_upper = 4; + // + string desc_text_lower = 5; + // + string uri = 6; + // + string card_type = 7; +} + +// 动态-附加卡-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; +} + +// 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; + // + string badge_text = 18; + // + bool is_premiere = 19; +} + +// +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 AdParam { + // 综合页请求广告所需字段,由客户端-网关透传 + string ad_extra = 1; + // request_id + string request_id = 2; +} + // message AlumniDynamicsReply { // @@ -563,6 +637,8 @@ message AlumniDynamicsReq { int32 local_time = 4; // int32 page = 5; + // + int32 from_type = 6; } // @@ -573,6 +649,16 @@ message CampusBannerInfo { string jump_url = 2; } +// +message CampusBillboardInternalReq { + // + int64 mid = 1; + // + int64 campus_id = 2; + // + string version_code = 3; +} + // message CampusBillBoardReply { // @@ -595,6 +681,8 @@ message CampusBillBoardReply { string update_toast = 9; // int64 campus_id = 10; + // + CampusFeatureProgress open_progress = 11; } // @@ -605,16 +693,44 @@ message CampusBillBoardReq { string version_code = 2; // bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + CampusReqFromType from_type = 4; } -// -message CampusBillboardInternalReq { - // - int64 mid = 1; - // - int64 campus_id = 2; - // - string version_code = 3; +// +message CampusEntryTabReq { + // + int64 campus_id = 1; +} + +// +message CampusEntryTabResp { + // + CampusEntryType entry_type = 1; +} + +// +enum CampusEntryType { + // + NONE = 0; + // + ENTRY_DYNAMIC = 1; + // + ENTRY_HOME = 2; +} + +// +message CampusFeatureProgress { + // + int64 progress_full = 1; + // + int64 progress_achieved = 2; + // + string desc_title = 3; + // + string desc_1 = 4; + // + CampusLabel btn = 5; } // @@ -643,6 +759,50 @@ message CampusFeedbackReq { int32 from = 2; } +// +message CampusHomePagesReply { + // + CampusRcmdTop top = 1; + // + CampusTop campus_top = 2; + // + int32 page_type = 3; +} + +// +message CampusHomePagesReq { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + double lat = 3; + // + double lng = 4; + // + PlayerArgs player_args = 5; + // + int32 page_type = 6; +} + +// +enum CampusHomePageType { + // + PAGE_MAJOR = 0; + // + PAGE_SUBORDINATE = 1; + // + PAGE_MAJOR_DETAIL = 2; +} + +// +message CampusHomeRcmdTopic { + // + ModuleTitle title = 1; + // + repeated TopicItem topic = 2; +} + // message CampusInfo { // @@ -653,6 +813,8 @@ message CampusInfo { string desc = 3; // int64 online = 4; + // + string url = 5; } // @@ -675,6 +837,181 @@ message CampusMateLikeListReply { message CampusMateLikeListReq { // int64 dynamic_id = 1; + // + CampusReqFromType from_type = 2; +} + +// +enum CampusMngAuditStatus { + // + campus_mng_audit_none = 0; + // + campus_mng_audit_in_process = 1; + // + campus_mng_audit_failed = 2; +} + +// +message CampusMngBadge { + // + string title = 1; + // + string badge_url = 2; + // + string upload_hint_msg = 3; +} + +// +message CampusMngBasicInfo { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + string hint_msg = 3; +} + +// +message CampusMngDetailReply { + // + repeated CampusMngItem items = 1; + // + string top_hint_bar_msg = 2; + // + string bottom_submit_hint_msg = 3; + // + int64 campus_id = 4; + // + string campus_name = 5; +} + +// +message CampusMngDetailReq { + // + int64 campus_id = 1; +} + +// +message CampusMngItem { + // + int32 audit_status = 1; + // + string audit_message = 2; + // + int32 item_type = 3; + // + string mng_item_id = 4; + // + bool is_del = 5; + // Oneof field: + oneof item { + // + CampusMngBasicInfo basic_info = 6; + // + CampusMngBadge badge = 7; + // + string slogan = 8; + // + CampusMngQuiz quiz = 9; + } +} + +// +enum CampusMngItemType { + // + campus_mng_none = 0; + // + campus_mng_basic_info = 1; + // + campus_mng_badge = 2; + // + campus_mng_slogan = 3; + // + campus_mng_quiz = 4; +} + +// +message CampusMngQuiz { + // + string title = 1; + // + CampusLabel more_label = 2; + // + string add_label = 3; + // + string submit_label = 4; + // + int64 quiz_count = 5; +} + +// +enum CampusMngQuizAction { + // + campus_mng_quiz_act_list = 0; + // + campus_mng_quiz_act_add = 1; + // + campus_mng_quiz_act_del = 2; +} + +// +message CampusMngQuizDetail { + // + int64 quiz_id = 1; + // + string question = 2; + // + string correct_answer = 3; + // + repeated string wrong_answer_list = 4; + // + int32 audit_status = 5; + // + string audit_message = 6; +} + +// +message CampusMngQuizOperateReply { + // + string toast = 1; + // + repeated CampusMngQuizDetail quiz = 2; + // + int64 quiz_total = 3; +} + +// +message CampusMngQuizOperateReq { + // + int32 action = 1; + // + int64 campus_id = 2; + // + repeated CampusMngQuizDetail quiz = 3; +} + +// +message CampusMngSlogan { + // + string title = 1; + // + string slogan = 2; + // + string input_hint_msg = 3; +} + +// +message CampusMngSubmitReply { + // + string toast = 1; +} + +// +message CampusMngSubmitReq { + // + int64 campus_id = 1; + // + repeated CampusMngItem modified_items = 2; } // @@ -687,6 +1024,14 @@ message CampusNoticeInfo { CampusLabel button = 3; } +// +enum CampusOnlineStatus { + // + campus_online_offline = 0; + // + campus_online_online = 1; +} + // message CampusRcmdFeedReply { // @@ -717,6 +1062,8 @@ message CampusRcmdFeedReq { int32 scroll = 6; // string view_dyn_id = 7; + // + CampusReqFromType from_type = 8; } // @@ -749,6 +1096,8 @@ message CampusRcmdReply { CampusTop campus_top = 3; // int32 page_type = 4; + // + int32 jump_home_pop = 5; } // @@ -763,6 +1112,10 @@ message CampusRcmdReq { double lng = 4; // bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5; + // + CampusReqFromType from_type = 6; + // + CampusHomePageType page_type = 7; } // @@ -793,6 +1146,38 @@ message CampusRcmdTop { CampusLabel reserve_label = 12; // int64 reserve_number = 13; + // + int64 max_reserve = 14; + // + CampusLabel school_label = 15; + // + CampusLabel mng_label = 16; + // + CampusHomeRcmdTopic rcmd_topic = 17; + // + bool audit_before_open = 18; + // + string audit_message = 19; +} + +// +message CampusRecommendReply { + // + repeated RcmdItem items = 1; + // + bool has_more = 2; +} + +// +message CampusRecommendReq { + // + int64 campus_id = 1; + // + int64 page_no = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; + // + CampusRcmdReqFrom from = 4; } // @@ -805,6 +1190,16 @@ message CampusRedDotReply { message CampusRedDotReq { // int64 campus_id = 1; + // + CampusReqFromType from_type = 2; +} + +// +enum CampusReqFromType { + // + DYNAMIC = 0; + // + HOME = 1; } // @@ -817,6 +1212,28 @@ message CampusShowTabInfo { int32 type = 3; // int32 red_dot = 4; + // + string icon_url = 5; +} + +// +message CampusSquareReply { + // + string title = 1; + // + repeated RcmdCampusBrief list = 2; + // + CampusLabel button = 3; +} + +// +message CampusSquareReq { + // + int64 campus_id = 1; + // + double lat = 2; + // + double lng = 3; } // @@ -827,6 +1244,7 @@ enum CampusTabType { campus_account = 3; // campus_billboard = 4; // campus_topic = 5; // + campues_other = 6; // } // @@ -853,6 +1271,16 @@ message CampusTop { string campus_badge = 10; // string campus_background = 11; + // + string campus_motto = 12; + // + CampusLabel mng_entry = 13; + // + string campus_intro = 14; + // + string campus_name_link = 15; + // + string bottom_left_text = 16; } // @@ -865,6 +1293,8 @@ message CampusTopicRcmdFeedReply { bool has_more = 3; // string offset = 4; + // + IconButton join_discuss = 5; } // @@ -877,6 +1307,18 @@ message CampusTopicRcmdFeedReq { bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; // int32 local_time = 4; + // + CampusReqFromType from_type = 5; +} + +// +message CardParagraph { + // + ModuleAdditional additional_card = 1; + // + string biz_id = 3; + // + LinkNodeType biz_type = 2; } // 动态卡片列表 @@ -921,6 +1363,8 @@ message CardVideoUpList { bool show_in_personal = 8; // 是否展示右侧查看更多按钮 bool show_more_button = 9; + // + repeated UpListItem list_second = 10; } // @@ -955,6 +1399,14 @@ message CmtShowItem { string comment = 4; } +// +message Colors { + // + string color_day = 1; + // + string color_night = 2; +} + // 精选评论区 message CommentDetail { // 该功能能不能用 @@ -964,10 +1416,29 @@ message CommentDetail { int64 status = 2; } +// +message Config { + // + bool story_vertical_exp = 1; + // + int64 detail_view_bits = 2; +} + // enum CoverIcon { - cover_icon_none = 0; // 占位 啥都不展示 - cover_icon_play = 1; // 播放icon + cover_icon_none = 0; // 占位 啥都不展示 + cover_icon_play = 1; // 播放icon + cover_icon_danmaku = 2; // + cover_icon_up = 3; // + cover_icon_vt = 4; // ? 竖屏模式 icon +} + +// +message CoverIconWithText { + // + int32 icon = 1; + // + string text = 2; } // 装扮卡片-粉丝勋章信息 @@ -994,29 +1465,6 @@ message DecorateCard { DecoCardFan fan = 4; } -// 文本类型 -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; // -} - // 文本描述 message Description { // 文本内容 @@ -1041,8 +1489,34 @@ message Description { string orig_text = 10; // int32 emoji_size = 11; + // + EmojiSizeSpec emoji_size_spec = 12; } +// 文本类型 +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; // +} + + // 尺寸信息 message Dimension { // @@ -1089,6 +1563,10 @@ message DynAllPersonalReply { Relation relation = 5; // 顶部预约卡 TopAdditionUP addition_up = 6; + // + string title = 7; + // + string title_sub = 8; } // 最近访问-个人feed流列表-请求 @@ -1111,6 +1589,8 @@ message DynAllPersonalReq { string from = 8; // 秒开用 bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; + // + string personal_extra = 10; } // 动态综合页-响应 @@ -1125,6 +1605,8 @@ message DynAllReply { Unfollow unfollow = 4; // 分区UP推荐 DynRegionRcmd region_rcmd = 5; + // + Config config = 6; } // 动态综合页-请求 @@ -1167,6 +1649,71 @@ message DynAllUpdOffsetReq { string read_offset = 2; // 服务端生成的透传上报字段 string footprint = 3; + // + string personal_extra = 4; +} + + +// 动态卡片 +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; // + cour_up = 24; // + topic_set = 25; // + notice = 26; // + text_notice = 27; // } // 动态详情页-响应 @@ -1200,6 +1747,8 @@ message DynDetailReq { int32 local_time = 10; // pattern string pattern = 11; + // + Config config = 12; } // 批量动态id获取动态详情-响应 @@ -1218,6 +1767,8 @@ message DynDetailsReq { int32 local_time = 3; // 秒开参数 bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + Config config = 5; } // 动态小卡类型 @@ -1245,6 +1796,32 @@ message DynFakeCardReq { string content = 1; } +// +message DynFeatureGate { + // + bool enhanced_interaction = 1; +} + +// +message DynFriendReply { + // + repeated DynamicItem dyn_list = 1; + // + bool has_more = 2; + // + string offset = 3; +} + +// +message DynFriendReq { + // + string offset = 1; + // + int32 local_time = 2; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 3; +} + // 轻浏览-响应 message DynLightReply { // 卡片列表 @@ -1320,6 +1897,14 @@ enum DynModuleType { module_top_tag = 25; // module_topic_brief = 26; // module_title = 27; // + module_button = 28; + module_notice = 29; + module_opus_summary = 30; + module_copyright = 31; + module_paragraph = 32; + module_blocked = 33; + module_text_notice = 34; + module_opus_collection = 35; } // 推荐页-响应 @@ -1376,6 +1961,22 @@ message DynRegionRcmdItem { repeated ModuleRcmd items = 3; } +// +message DynScreenTab { + // + string title = 1; + // + string name = 2; + // + bool default_tab = 3; + // + bool strategy_show_on_entrance = 4; + // + bool strategy_show_on_refresh = 5; + // + bool strategy_show_on_pull_up = 6; +} + // message DynSearchReply { // @@ -1424,6 +2025,8 @@ message DynServerDetailsReq { string platform = 9; // bool is_master = 10; + // + repeated int64 top_dynamic_ids = 11; } // 空间页动态-请求 @@ -1520,12 +2123,16 @@ message DynTab { message DynTabReply { // repeated DynTab dyn_tab = 1; + // + repeated DynScreenTab screen_tab = 2; } // message DynTabReq { // int32 teenagers_mode = 1; + // + CampusReqFromType from_type = 2; } // 动态点赞-请求 @@ -1542,13 +2149,6 @@ message DynThumbReq { ThumbType type = 5; } -// -enum DynUriType { - dyn_uri_type_none = 0; // - dyn_uri_type_direct = 1; // 直接跳转对应uri - dyn_uri_type_suffix = 2; // 作为后缀拼接 -} - // 最近访问-个人feed流列表-响应 message DynVideoPersonalReply { // 动态列表 @@ -1563,6 +2163,10 @@ message DynVideoPersonalReply { Relation relation = 5; // 顶部预约卡 TopAdditionUP addition_up = 6; + // + string title = 7; + // + string title_sub = 8; } // 最近访问-个人feed流列表-请求 @@ -1585,6 +2189,10 @@ message DynVideoPersonalReq { string from = 8; // 秒开参数 bilibili.app.archive.middleware.v1.PlayerArgs player_args = 9; + // + int64 pegasus_avid = 10; + // + string personal_extra = 11; } // 动态视频页-响应 @@ -1628,6 +2236,8 @@ message DynVideoUpdOffsetReq { string read_offset = 2; // 服务端生成的透传上报字段 string footprint = 3; + // + string personal_extra = 4; } // 投票操作-响应 @@ -1652,62 +2262,10 @@ message DynVoteReq { 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; // +// +message EmojiSizeSpec { + // + int64 width = 1; } // 表情包类型 @@ -1718,11 +2276,101 @@ enum EmojiType { vip = 3; // 大会员表情 } +// +message EmoteNode { + // + string emote_url = 2; + // + EmoteSize emote_width = 3; + // + ImgInlineCfg inline_img_cfg = 5; + // + bool is_inline_img = 4; + // + WordNode raw_text = 1; +} + +// +message EmoteSize { + // + double width = 1; + // + int32 emoji_size = 2; +} + // 附加大卡-电竞卡样式 enum EspaceStyle { moba = 0; // moba类 } +// 扩展字段,用于动态部分操作使用 +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; + // + string track_id = 19; + // + ModuleOpusSummary opus_summary = 20; + // + OnlyFansProperty only_fans_property = 21; + // + DynFeatureGate feature_gate = 22; + // + bool is_in_audit = 23; + // + map history_report = 24; +} + +// 评论扩展 +message ExtendReply { + // 基础跳转地址 + string uri = 1; + // 参数部分 + repeated ExtendReplyParam params = 2; +} + +// 评论扩展参数部分 +message ExtendReplyParam { + // 参数名 + string key = 1; + // 参数值 + string value = 2; +} + // 动态-拓展小卡模块-通用小卡 message ExtInfoCommon { // 标题 @@ -1795,60 +2443,38 @@ message ExtInfoTopic { 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 FeedFilterReply { + // + string offset = 1; + // + bool has_more = 2; + // + repeated DynamicItem list = 3; } -// 评论扩展 -message ExtendReply { - // 基础跳转地址 - string uri = 1; - // 参数部分 - repeated ExtendReplyParam params = 2; +// +message FeedFilterReq { + // + string offset = 1; + // + string tab = 2; + // + int32 local_time = 3; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4; + // + AdParam ad_param = 5; + // + int32 cold_start = 6; + // + int64 page = 7; } -// 评论扩展参数部分 -message ExtendReplyParam { - // 参数名 - string key = 1; - // 参数值 - string value = 2; +// +message FetchTabSettingReply { + // + int32 status = 1; } // 折叠类型 @@ -1858,6 +2484,7 @@ enum FoldType { FoldTypeFrequent = 2; // 转发超频折叠 FoldTypeUnite = 3; // 联合投稿折叠 FoldTypeLimit = 4; // 动态受限折叠 + FoldTypeTopicMerged = 5; } // 视频页-我的追番-番剧信息 @@ -1913,6 +2540,17 @@ message GoodsItem { bool user_web_v2 = 12; // ad mark string ad_mark = 13; + // + string app_name = 14; + // + GoodsJumpType jump_type = 15; +} + +// +enum GoodsJumpType { + goods_none = 0; + goods_schema = 1; + goods_url = 2; } // @@ -1949,6 +2587,27 @@ enum HighlightTextStyle { style_highlight = 1; // 高亮 } +// +enum HomePageTabSttingStatus { + SETTING_INVALID = 0; + SETTING_OPEN = 1; + SETTING_CLOSE = 2; +} + +// +message HomeSubscribeReply { + // + int32 online = 1; +} + +// +message HomeSubscribeReq { + // + int64 campus_id = 1; + // + string campus_name = 2; +} + // message IconBadge { // @@ -1969,12 +2628,36 @@ message IconButton { string jump_uri = 4; } +// +enum IconResLocal { + ICON_RES_LOCAL_NONE = 0; + ICON_RES_LOCAL_LIVE = 1; +} + +// +message ImageSet { + // + string img_day = 1; + // + string img_dark = 2; +} + // 枚举-附加卡样式 enum ImageStyle { add_style_vertical = 0; // add_style_square = 1; // } +// +message ImgInlineCfg { + // + double width = 1; + // + double height = 2; + // + Colors color = 3; +} + // 动态-拓展小卡模块-ogv小卡-(one of 片单、榜单、分区) message InfoOGV { // 标题 @@ -2021,6 +2704,78 @@ message InteractionStat { int64 like = 1; } +// +message LbsPoiDetail { + // + string poi = 1; + // + int64 type = 2; + // + repeated string base_pic = 3; + // + repeated string cover = 4; + // + string address = 5; + // + string title = 6; +} + +// +message LbsPoiReply { + // + bool has_more = 1; + // + string offset = 2; + // + LbsPoiDetail detail = 3; + // + repeated DynamicItem list = 4; +} + +// +message LbsPoiReq { + // + string poi = 1; + // + int64 type = 2; + // + string offset = 3; + // + int32 refresh_type = 4; + // + int32 local_time = 5; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 6; +} + +// +message LegacyTopicFeedReply { + // + repeated DynamicItem list = 1; + // + bool has_more = 2; + // + string offset = 3; + // + repeated SortType supported_sort_types = 4; + // + repeated SortType feed_card_filters = 5; +} + +// +message LegacyTopicFeedReq { + // + int64 topic_id = 1; + // + string topic_name = 2; + // + string offset = 3; + // + SortType sort_type = 4; + // + SortType card_filter = 5; +} + // enum LightFromType { from_login = 0; // @@ -2081,6 +2836,69 @@ message LikeUser { string uri = 3; } +// +message LineParagraph { + // + MdlDynDrawItem pic = 1; +} + +// +message LinkNode { + // + string show_text = 1; + // + string link = 2; + // + string icon = 3; + // + string icon_suffix = 4; + // + string link_type = 5; + // + LinkNodeType link_type_enum = 6; + // + string biz_id = 7; + // + int64 timestamp = 8; + // + GoodsItem goods_item = 9; + // + NoteVideoTS note_video_ts = 10; +} + +// +enum LinkNodeType { + INVALID = 0; + VIDEO = 1; + RESERVE = 2; + VOTE = 3; + LIVE = 4; + LOTTERY = 5; + MATCH = 6; + GOODS = 7; + OGV_SS = 8; + OGV_EP = 9; + MANGA = 10; + CHEESE = 11; + VIDEO_TS = 12; + AT = 13; + HASH_TAG = 14; + ARTICLE = 15; + URL = 16; + MAIL = 17; + LBS = 18; + ACTIVITY = 19; + ATTACH_CARD_OFFICIAL_ACTIVITY = 20; + GAME = 21; + DECORATION = 22; + UP_TOPIC = 23; + UP_ACTIVITY = 24; + UP_MAOER = 25; + MEMBER_GOODS = 26; + OPENMALL_UP_ITEMS = 27; + SEARCH = 28; +} + // 直播信息 message LiveInfo { // 是否在直播 @@ -2113,6 +2931,9 @@ enum LiveState { enum LocalIconType { local_icon_comment = 0; // local_icon_like = 1; // + local_icon_avatar = 2; + local_icon_cover = 3; + local_icon_like_and_forward = 4; } // 动态-附加卡-电竞卡-战队 @@ -2129,6 +2950,14 @@ message MatchTeam { string night_color = 5; } +// +enum MdlBlockedStyle { + BLOCKED_STYLE_DEFAULT = 0; + BLOCKED_STYLE_IN_AUDIT = 1; + BLOCKED_STYLE_ONLY_FANS_LIST = 2; + BLOCKED_STYLE_ONLY_FANS_VIDEO = 3; +} + // 动态列表渲染部分-详情模块-小程序/小游戏 message MdlDynApplet { // 小程序id @@ -2205,6 +3034,16 @@ message MdlDynArchive { string bvid = 26; // 播放数 int32 view = 27; + // + bool show_premiere_badge = 28; + // + bool premiere_card = 29; + // + bool show_progress = 30; + // + int64 part_duration = 31; + // + int64 part_progress = 32; } // 动态列表渲染部分-详情模块-专栏模块 @@ -2274,6 +3113,26 @@ message MdlDynCourBatch { VideoBadge badge = 6; // 播放按钮 string play_icon = 7; + // + bool can_play = 8; + // + bool is_preview = 9; + // + string cover_left_text_1 = 10; + // + string cover_left_text_2 = 11; + // + string cover_left_text_3 = 12; + // + int64 avid = 13; + // + int64 cid = 14; + // + int64 epid = 15; + // + int64 duration = 16; + // + int64 season_id = 17; } // 动态-详情模块-付费课程系列 @@ -2292,6 +3151,52 @@ message MdlDynCourSeason { VideoBadge badge = 6; // 播放按钮 string play_icon = 7; + // + bool can_play = 8; + // + bool is_preview = 9; + // + int64 avid = 10; + // + int64 cid = 11; + // + int64 epid = 12; + // + int64 duration = 13; + // + int64 season_id = 14; +} + +// +message MdlDynCourUp { + // + string title = 1; + // + string desc = 2; + // + string cover = 3; + // + string uri = 4; + // + string text_1 = 5; + // + VideoBadge badge = 6; + // + string play_icon = 7; + // + bool can_play = 8; + // + bool is_preview = 9; + // + int64 avid = 10; + // + int64 cid = 11; + // + int64 epid = 12; + // + int64 duration = 13; + // + int64 season_id = 14; } // 动态列表渲染部分-详情模块-图文模块 @@ -2302,6 +3207,12 @@ message MdlDynDraw { string uri = 2; // 图文ID int64 id = 3; + // + bool is_draw_first = 4; + // + bool is_big_cover = 5; + // + bool is_article_cover = 6; } // 动态列表渲染部分-详情模块-图文 @@ -2528,6 +3439,18 @@ enum MdlDynSubscriptionNewStyle { mdl_dyn_subscription_new_style_draw = 2; // 图文 } +// +message MdlDynTopicSet { + // + repeated TopicItem topics = 1; + // + IconButton more_btn = 2; + // + int64 topic_set_id = 3; + // + int64 push_id = 4; +} + // 动态列表渲染部分-UGC合集 message MdlDynUGCSeason { // 标题 @@ -2666,6 +3589,22 @@ message Module { ModuleTopicBrief module_topic_brief = 26; // ModuleTitle module_title = 27; + // + ModuleButton module_button = 28; + // + ModuleNotice module_notice = 29; + // + ModuleOpusSummary module_opus_summary = 30; + // + ModuleCopyright module_copyright = 31; + // + ModuleParagraph module_paragraph = 32; + // + ModuleBlocked module_blocked = 33; + // + ModuleTextNotice module_text_notice = 34; + // + ModuleOpusCollection module_opus_collection = 35; } } @@ -2706,6 +3645,10 @@ message ModuleAdditional { AdditionUgc ugc = 9; // up主预约发布卡 AdditionUP up = 10; + // + AdditionArticle article = 12; + // + AdditionLiveRoom live = 13; } // 附加卡物料ID int64 rid = 7; @@ -2746,6 +3689,8 @@ message ModuleAuthor { string ptime_location_text = 14; // bool show_level = 15; + // + OnlyFans only_fans = 16; } // 动态列表渲染部分-用户模块-按钮 @@ -2844,12 +3789,59 @@ message ModuleBannerUserItem { AdditionalButton button = 8; // 跳转地址 string uri = 9; + // + Relation relation = 10; +} + +// +message ModuleBlocked { + // + ImageSet icon = 1; + // + ImageSet bg_img = 2; + // + string hint_message = 3; + // + IconButton act_btn = 4; + // + MdlBlockedStyle block_style = 5; + // + string sub_hint_message = 6; + // + OneLineText video_bottom_text_upper = 7; + // + OneLineText video_bottom_text_lower = 8; + // + string archive_title = 9; + // + OneLineText hint_message_one_line = 10; } // 底部模块 message ModuleButtom { + enum InteractionIcon { + ICON_INVALID = 0; + ICON_FORWARD = 1; + ICON_COMMENT = 2; + ICON_FAVORITE = 3; + ICON_LIKE = 4; + } // 计数模块 ModuleStat module_stat = 1; + // + bool comment_box = 2; + // + string comment_box_msg = 3; + // + repeated InteractionIcon interaction_icons = 4; + // + repeated InteractionFace faces = 5; +} + +// +message ModuleButton { + // + IconButton btn = 1; } // 评论外露模块 @@ -2858,6 +3850,14 @@ message ModuleComment { repeated CmtShowItem cmtShowItem = 1; } +// +message ModuleCopyright { + // + string left_text = 1; + // + string right_text = 2; +} + // 动态-描述文字模块 message ModuleDesc { // 描述信息(已按高亮拆分) @@ -2887,6 +3887,10 @@ message ModuleDescGoods { string ad_mark = 7; // schemaPackageName(Android用) string schema_package_name = 8; + // + int32 jump_type = 9; + // + string app_name = 10; } // 动态-争议小黄条模块 @@ -2936,6 +3940,10 @@ message ModuleDynamic { MdlDynUGCSeason dyn_ugc_season = 16; //订阅卡 MdlDynSubscriptionNew dyn_subscription_new = 17; + //课程 + MdlDynCourUp dyn_cour_batch_up = 18; + //话题集合 + MdlDynTopicSet dyn_topic_set = 19; } } @@ -2957,6 +3965,8 @@ enum ModuleDynamicType { mdl_dyn_live_rcmd = 13; // 直播推荐卡 mdl_dyn_ugc_season = 14; // UGC合集 mdl_dyn_subscription_new = 15; // 订阅卡 + mdl_dyn_cour_batch_up = 16; // 课程 + mdl_dyn_topic_set = 17; // 话题集合 } // 动态-小卡模块 @@ -2984,7 +3994,7 @@ message ModuleExtendItem { // ExtInfoCommon ext_info_common = 6; // - ExtInfoOGV ext_info_ogv = 7; + ExtInfoOGV ext_info_ogv = 7; } } @@ -2998,6 +4008,8 @@ message ModuleFold { string fold_ids = 3; // 被折叠的用户信息 repeated UserInfo fold_users = 4; + // + TopicMergedResource topic_merged_resource = 5; } // 外露交互模块 @@ -3022,6 +4034,56 @@ message ModuleLikeUser { string display_text = 2; } +// +message ModuleNotice { + // + string identity = 1; + // + string icon = 2; + // + string title = 3; + // + string url = 4; + // + int32 notice_type = 5; +} + +// +message ModuleOpusCollection { + // + OpusCollection collection_info = 1; + // + string title_upper = 2; + // + string title = 3; + // + string title_prefix_icon = 4; + // + string total_text = 5; +} + +// +message ModuleOpusSummary { + // + Paragraph title = 1; + // + Paragraph summary = 2; + // + string summary_jump_btn_text = 3; + // + repeated MdlDynDrawItem covers = 4; +} + +// +message ModuleParagraph { + // + Paragraph paragraph = 1; + // + bool is_article_title = 2; + // + ParaSpacing para_spacing = 3; +} + // 推荐模块 message ModuleRcmd { // 用户头像 @@ -3102,24 +4164,32 @@ message ModuleStory { string publish_text = 7; } +// +message ModuleTextNotice { + // + OneLineText notice = 1; +} + // message ModuleTitle { // string title = 1; // IconButton right_btn = 2; + // + int32 title_style = 3; } // 顶部模块 message ModuleTop { // 三点模块 repeated ThreePointItem tp_list = 1; -} - -// -message ModuleTopTag { - // - string tag_name = 1; + // + MdlDynArchive archive = 2; + // + ModuleAuthor author = 3; + // + bool hidden_nav_bar = 4; } // @@ -3144,6 +4214,12 @@ message ModuleTopicDetailsExt { string comment_guide = 1; } +// +message ModuleTopTag { + // + string tag_name = 1; +} + // 认证名牌 message Nameplate { // nid @@ -3179,6 +4255,30 @@ message NewEP { string cover = 3; } +// +message NFTInfo { + // + NFTRegionType region_type = 1; + // + string region_icon = 2; + // + NFTShowStatus region_show_status = 3; +} + +// +enum NFTRegionType { + nft_region_default = 0; + nft_region_mainlang = 1; + nft_region_gat = 2; +} + +// +enum NFTShowStatus { + nft_show_default = 0; + nft_show_zoominmainlang = 1; + nft_show_raw = 2; +} + // 空响应 message NoReply { @@ -3189,6 +4289,30 @@ message NoReq { } +// +message NoteVideoTS { + // + int64 cid = 1; + // + int64 oid_type = 2; + // + int64 status = 3; + // + int64 index = 4; + // + int64 seconds = 5; + // + int64 cid_count = 6; + // + string key = 7; + // + int64 epid = 9; + // + string title = 8; + // + string desc = 10; +} + // message OfficialAccountInfo { // @@ -3329,6 +4453,113 @@ message OfficialVerify { int32 is_atten = 3; } +// +message OneLineText { + // + repeated TextWithPriority texts = 1; +} + +// +message OnlyFans { + // + bool is_only_fans = 1; + // + IconBadge badge = 2; +} + +// +message OnlyFansProperty { + // + bool has_privilege = 1; + // + bool is_only_fans = 2; +} + +// +message OpusCollection { + // + int64 collection_id = 1; + // + OneLineText title = 2; + // + string detail_uri = 3; + // + string intro = 4; + // + repeated OpusCollectionItem all_items = 5; +} + +// +message OpusCollectionItem { + // + int64 opus_id = 1; + // + string title = 2; + // + string pub_time = 3; + // + string uri = 4; + // + bool is_selected_highlight = 5; +} + +// +message Paragraph { + // + message ListFormat { + // + int32 level = 1; + // + int32 order = 2; + // + string theme = 3; + } + enum ParagraphAlign { + LEFT = 0; + MIDDLE = 1; + RIGHT = 2; + } + // + message ParagraphFormat { + // + ParagraphAlign align = 1; + // + ListFormat list_format = 2; + } + // + enum ParagraphType { + INVALID = 0; + TEXT = 1; + PICTURES = 2; + LINE = 3; + REFERENCE = 4; + SORTED_LIST = 5; + UNSORTED_LIST = 6; + LINK_CARD = 7; + } + // + ParagraphType para_type = 1; + // + ParagraphFormat para_format = 2; + // + oneof content { + TextParagraph text = 3; + PicParagraph pic = 4; + LineParagraph line = 5; + CardParagraph link_card = 6; + } +} + +// +message ParaSpacing { + // + double spacing_before_para = 1; + // + double spacing_after_para = 2; + // + double line_spacing = 3; +} + // PGC单季信息 message PGCSeason { // 是否完结 @@ -3339,6 +4570,20 @@ message PGCSeason { int32 type = 3; } +// +message PicParagraph { + // + enum PicParagraphStyle { + INVALID = 0; + NINE_CELL = 1; + BIG_SCROLL = 2; + } + // + MdlDynDraw pics = 1; + // + PicParagraphStyle style = 2; +} + // 秒开通用参数 message PlayurlParam { // 清晰度 @@ -3401,6 +4646,18 @@ message RcmdAuthor { Relation relation = 3; } +// +message RcmdCampusBrief { + // + int64 campus_id = 1; + // + string campus_name = 2; + // + string campus_badge = 4; + // + string url = 5; +} + // 推荐卡片列表 message RcmdItem { // 卡片类型 @@ -3418,6 +4675,26 @@ message RcmdOption{ bool show_title = 1; } +// +message RcmdReason { + // + string campus_name = 1; + // + RcmdReasonStyle style = 2; + // + string rcmd_reason = 3; + // + string up_name = 4; +} + +// +enum RcmdReasonStyle { + rcmd_reason_style_none = 0; + rcmd_reason_style_campus_nearby = 1; + rcmd_reason_style_campus_up = 2; + rcmd_reason_style_campus_near_up_mix = 3; +} + // message RcmdTopButton { // @@ -3437,6 +4714,42 @@ message RcmdUPsParam { int64 dislike_ts = 1; } +message ReactionListItem { + // 用户信息 + UserInfo user = 1; + // 关注关系 + Relation relation = 2; + // 显示文字 + string act_text = 3; + // + string rcmd_reason = 4; +} + + +// 新版动态转发点赞列表-响应 +message ReactionListReply { + // 标题 + string title = 1; + // 列表 + repeated ReactionListItem list = 2; + // 偏移 + string offset = 3; + // 是否还有更多 + bool has_more = 4; +} + +// 新版动态转发点赞列表-请求 +message ReactionListReq { + // 动态ID + int64 dynamic_id = 1; + // 动态类型 + int64 dyn_type = 2; + // 业务方资源id + int64 rid = 3; + // 偏移,使用上一页回包中的offset字段;第一页不传。 + string offset = 4; +} + // 刷新方式 enum Refresh { refresh_new = 0; // 刷新列表 @@ -3496,42 +4809,6 @@ message RepostListRsp { RepostType repost_type = 5; } -// 新版动态转发点赞列表-请求 -message ReactionListReq { - // 动态ID - int64 dynamic_id = 1; - // 动态类型 - int64 dyn_type = 2; - // 业务方资源id - int64 rid = 3; - // 偏移,使用上一页回包中的offset字段;第一页不传。 - string offset = 4; -} - -// 新版动态转发点赞列表-响应 -message ReactionListReply { - // 标题 - string title = 1; - // 列表 - repeated ReactionListItem list = 2; - // 偏移 - string offset = 3; - // 是否还有更多 - bool has_more = 4; -} - -message ReactionListItem { - // 用户信息 - UserInfo user = 1; - // 关注关系 - Relation relation = 2; - // 显示文字 - string act_text = 3; - // - string rcmd_reason = 4; - // bool has_relation = 5; - // bool has_user = 6; -} // 评论类型 enum RepostType { repost_hot = 0; // 热门评论 @@ -3550,6 +4827,11 @@ enum ReserveType { reserve_recall = 1; // 预约召回 } +enum RouterAction { + OPEN = 0; + EMBED = 1; +} + // message SchoolRecommendReply { // @@ -3562,6 +4844,8 @@ message SchoolRecommendReq { float lat = 1; // float lng = 2; + // + CampusReqFromType from_type = 3; } // @@ -3576,6 +4860,8 @@ message SchoolSearchReply { message SchoolSearchReq { // string keyword = 1; + // + CampusReqFromType from_type = 2; } // @@ -3648,6 +4934,8 @@ message SearchTopicItem { message SetDecisionReq { // int32 result = 1; + // + CampusReqFromType from_type = 2; } // @@ -3656,6 +4944,8 @@ message SetRecentCampusReq { int64 campus_id = 1; // string campus_name = 2; + // + CampusReqFromType from_type = 3; } // 分享渠道组件 @@ -3742,16 +5032,53 @@ message SubscribeCampusReq { int64 campus_id = 1; // string campus_name = 2; + // + CampusReqFromType from_type = 3; } -// +// +message TextNode { + enum TextNodeType { + INVALID = 0; + WORDS = 1; + EMOTE = 2; + AT = 3; + BIZ_LINK = 4; + } + // + TextNodeType node_type = 1; + string raw_text = 2; + // + oneof text { + WordNode word = 3; + EmoteNode emote = 4; + LinkNode link = 5; + } +} + +// +message TextParagraph { + // + repeated TextNode nodes = 1; +} + +// +message TextWithPriority { + // + string text = 1; + // + int64 priority = 2; +} + +// 免流类型 enum TFType { - U_CARD = 0; // - U_PKG = 1; // - C_CARD = 2; // - C_PKG = 3; // - T_CARD = 4; // - T_PKG = 5; // + TF_UNKNOWN = 0; // 未知 + U_CARD = 1; // 联通卡 + U_PKG = 2; // 联通免流包 + C_CARD = 3; // 移动卡 + C_PKG = 4; // 移动免流包 + T_CARD = 5; // 电信卡 + T_PKG = 6; // 电信免流包 } // 三点-关注 @@ -4009,12 +5336,6 @@ message TopAdditionUP { int32 has_fold = 2; } -// 状态 -enum TopType { - top_none = 0; // 默认 置顶 - top_cancel = 1; // 取消置顶 -} - // 话题广场操作按钮 message TopicButton { // 按钮图标 @@ -4101,6 +5422,14 @@ message TopicListReq { string offset = 2; } +// +message TopicMergedResource { + // + int32 merge_type = 1; + // + int32 merged_res_cnt = 2; +} + // message TopicRcmdCard { // @@ -4141,6 +5470,12 @@ message TopicSquareReq { int64 campus_id = 1; } +// 状态 +enum TopType { + top_none = 0; // 默认 置顶 + top_cancel = 1; // 取消置顶 +} + // 综合页-无关注列表 message Unfollow { // 标题展示文案 @@ -4151,6 +5486,12 @@ message Unfollow { string TrackId = 3; } +// +message UnfollowMatchReq { + // + int64 cid = 1; +} + // 综合页-无关注列表 message UnfollowUserItem { // 是否有更新 @@ -4179,6 +5520,12 @@ message UnfollowUserItem { string uri = 12; } +// +message UpdateTabSettingReq { + // + HomePageTabSttingStatus status = 1; +} + // 动态顶部up列表-up主信息 message UpListItem { // 是否有更新 @@ -4207,6 +5554,14 @@ message UpListItem { string uri = 12; // UP主预约上报使用 bool is_recall = 13; + // + IconBadge update_icon = 14; + // + string live_rcmd_reason = 15; + // + string live_cover = 16; + // + string personal_extra = 17; } // 最常访问-查看更多 @@ -4245,6 +5600,12 @@ message UserInfo { int32 face_nft = 12; // int32 face_nft_new = 13; + // + NFTInfo nft_info = 14; + // + int32 is_senior_member = 15; + // + bilibili.dagw.component.avatar.v1.AvatarItem avatar = 16; } // 直播头像样式 @@ -4268,6 +5629,11 @@ enum UserItemType { user_item_type_live_custom = 2; // user_item_type_normal = 3; // user_item_type_extend = 4; // + user_item_type_premiere_reserve = 5; + user_item_type_premiere = 6; + user_item_type_live_card = 7; + user_item_type_ogv_season = 8; + user_item_type_ugc_season = 9; } // 头像挂件信息 @@ -4402,3 +5768,33 @@ enum WeightType { weight_dislike = 1; // 不感兴趣 weight_jump = 2; // 跳链 } + +// +enum WFItemType { + WATER_FLOW_TYPE_NONE = 0; + WATER_FLOW_TYPE_ARCHIVE = 1; + WATER_FLOW_TYPE_DYNAMIC = 2; +} + +// +message WordNode { + // + message WordNodeStyle { + // + bool bold = 1; + // + bool italic = 2; + // + bool strikethrough = 3; + // + bool underline = 4; + } + // + string words = 1; + // + double font_size = 2; + // + Colors color = 3; + // + WordNodeStyle style = 4; +} diff --git a/grpc_api/bilibili/app/dynamic/v2/opus.proto b/grpc_api/bilibili/app/dynamic/v2/opus.proto new file mode 100644 index 0000000..5fba3c9 --- /dev/null +++ b/grpc_api/bilibili/app/dynamic/v2/opus.proto @@ -0,0 +1,59 @@ + +syntax = "proto3"; + +package bilibili.app.dynamic.v2; + +import "bilibili/app/archive/middleware/v1/preload.proto"; +import "bilibili/app/dynamic/v2/dynamic.proto"; + +service Opus { + // + rpc OpusDetail (OpusDetailReq) returns (OpusDetailResp); +} + +// +message OpusDetailReq { + // + OpusType opus_type = 1; + // + int64 oid = 2; + // + int64 dyn_type = 3; + // + string share_id = 4; + // + int32 share_mode = 9; + // + int32 local_time = 10; + // + bilibili.app.archive.middleware.v1.PlayerArgs player_args = 11; + // + Config config = 12; +} + +// +message OpusDetailResp { + // + OpusItem opus_item = 1; +} + +// +message OpusItem { + // + int64 opus_id = 1; + // + OpusType opus_type = 2; + // + int64 oid = 3; + // + repeated Module modules = 4; + // + Extend extend = 5; +} + +enum OpusType { + OPUS_TYPE_DYN = 0; + OPUS_TYPE_ARTICLE = 1; + OPUS_TYPE_NOTE = 2; + OPUS_TYPE_WORD = 3; +} diff --git a/grpc_api/bilibili/app/search/v2/search.proto b/grpc_api/bilibili/app/search/v2/search.proto new file mode 100644 index 0000000..acac64c --- /dev/null +++ b/grpc_api/bilibili/app/search/v2/search.proto @@ -0,0 +1,110 @@ +syntax = "proto3"; + +package bilibili.app.search.v2; + +import "bilibili/broadcast/message/main/search.proto"; + +service Search { + // + rpc CancelChatTask (CancelChatTaskReq) returns (CancelChatTaskReply); + // + rpc GetChatResult (GetChatResultReq) returns (bilibili.broadcast.message.main.ChatResult); + // + rpc SearchEgg (SearchEggReq) returns (SearchEggReply); + // + rpc SubmitChatTask (SubmitChatTaskReq) returns (SubmitChatTaskReply); +} + +// +message CancelChatTaskReq { + // + string session_id = 1; + // + string from_source = 2; +} + +// +message CancelChatTaskReply { + // + int32 code = 1; +} + +// +message GetChatResultReq { + // + string query = 1; + // + string session_id = 2; + // + string from_source = 3; +} + +// +message SearchEggInfo { + // + int32 egg_type = 1; + // + int64 id = 2; + // + int32 is_commercial = 3; + // + string mask_color = 4; + // + int64 mask_transparency = 5; + // + string md5 = 6; + // + int32 re_type = 7; + // + string re_url = 8; + // + string re_value = 9; + // + int32 show_count = 10; + // + int64 size = 11; + // + int64 source = 12; + // + string url = 13; +} + +// +message SearchEggInfos { + // + repeated SearchEggInfo egg_info = 1; +} + +// +message SearchEggReply { + // + int32 code = 1; + // + string seid = 2; + // + SearchEggInfos result = 3; +} + +// +message SearchEggReq { + +} + +// +message SubmitChatTaskReply { + // + int32 code = 1; + // + string session_id = 2; +} + +// +message SubmitChatTaskReq { + // + string query = 1; + // + string track_id = 2; + // + string from_source = 3; +} + diff --git a/grpc_api/bilibili/app/viewunite/v1/viewunite.proto b/grpc_api/bilibili/app/viewunite/v1/viewunite.proto index 81276c8..21d848f 100644 --- a/grpc_api/bilibili/app/viewunite/v1/viewunite.proto +++ b/grpc_api/bilibili/app/viewunite/v1/viewunite.proto @@ -9,9 +9,9 @@ import "google/protobuf/any.proto"; // 统一视频信息接口(7.23启用) service View { // - rpc View(ViewRequest) returns (ViewReply); + rpc View(ViewReq) returns (ViewReply); // - rpc ViewProgress(ViewProgressRequest) returns (ViewProgressReply); + rpc ViewProgress(ViewProgressReq) returns (ViewProgressReply); } // 业务类型 @@ -255,7 +255,7 @@ enum MaterialBizType { // 素材来源 enum MaterialSource { // - UNKNOWN = 0; + DEFAULT = 0; // 必剪素材 BIJIAN = 1; } diff --git a/grpc_api/bilibili/broadcast/message/main/search.proto b/grpc_api/bilibili/broadcast/message/main/search.proto new file mode 100644 index 0000000..8f18a02 --- /dev/null +++ b/grpc_api/bilibili/broadcast/message/main/search.proto @@ -0,0 +1,29 @@ +syntax = "proto3"; + +package bilibili.broadcast.message.main; + +import "google/protobuf/empty.proto"; +import "bilibili/app/dynamic/v2/dynamic.proto"; + +service Search { + rpc ChatResultPush (google.protobuf.Empty) returns (stream ChatResult); +} + +// +message Bubble { + repeated bilibili.app.dynamic.v2.Paragraph paragraphs = 1; +} + +// +message ChatResult { + // + int32 code = 1; + // + string session_id = 2; + // + repeated Bubble bubble = 3; + // + string rewrite_word = 4; + // + string title = 5; +} diff --git a/grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto b/grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto index c238880..ddde218 100644 --- a/grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto +++ b/grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto @@ -12,6 +12,30 @@ service PlayURL { rpc PlayViewComic(PlayViewReq) returns (PlayViewReply); } +// +message Animation { + // + map qn_svga_animation_map = 1; +} + +// +message AudioMaterialProto { + // + string audio_id = 1; + // + string title = 2; + // + string edition = 3; + // + uint64 person_id = 4; + // + string person_name = 5; + // + string person_avatar = 6; + // + repeated DashItem audio = 7; +} + // 角标信息 message BadgeInfo { // 角标文案 @@ -24,6 +48,8 @@ message BadgeInfo { string text_color = 4; // ? 新版本客户端已弃用此项 GradientColor bg_gradient_color = 5; + // + string img = 6; } // Dialog组件: 底部显示 @@ -66,6 +92,10 @@ message ButtonInfo { GradientColor bg_gradient_color = 14; // map order_report_params = 15; + // + TaskParam task_param = 16; + // + string pc_link = 17; } // 投屏限制. code = 0 时为无限制, 否则表示不不允许投屏并提示message @@ -98,7 +128,8 @@ enum ClipType { CLIP_TYPE_OP = 1; // 跳过OP CLIP_TYPE_ED = 2; // 跳过ED CLIP_TYPE_HE = 3; // - CLIP_TYPE_MULTI_VIEW = 4; // + CLIP_TYPE_MULTI_VIEW = 4; // + CLIP_TYPE_AD = 5; // } // 编码类型 @@ -137,6 +168,10 @@ message Coupon { string real_amount = 9; // 使用过期时间 google.protobuf.Timestamp expire_time = 10; + // + int64 otype = 11; + // + string amount = 12; } // 优惠券信息 @@ -181,6 +216,8 @@ message DashItem { uint64 size = 7; // 帧率 string frame_rate = 8; + // DRM widevine 密钥 + string widevine_pssh = 9; } // dash视频流 @@ -207,6 +244,14 @@ message DashVideo { int32 width = 10; // 高 int32 height = 11; + // DRM 密钥 + string widevine_pssh = 12; +} + +// +message DataControl { + // + bool need_watch_progress = 1; } // 鉴权浮层 @@ -239,6 +284,8 @@ message Dialog { TextInfo right_bottom_desc = 13; // repeated BottomDisplay bottom_display = 14; + // + repeated PlayList play_list = 15; } // 鉴权浮层配置 @@ -251,6 +298,8 @@ message DialogConfig { bool is_nested_scroll_enable = 3; // 是否强制竖屏 bool is_force_halfscreen_enable = 4; + // 是否启用背景半透明 + bool is_background_translucent_enable = 5; } // 当前分辨率信息 @@ -280,24 +329,115 @@ message DolbyItem { // DRM技术类型 enum DrmTechType { NON = 0; // - FAIR_PLAY = 1; // + FAIR_PLAY = 1; // + WIDE_VINE = 2; // + BILI_DRM = 3; // } -// 播放结束页 +// 播放结束后的尾页Dialog message EndPage { - // 鉴权浮层 + // Dialog dialog = 1; - // 播放完后是否隐藏end_page + // bool hide = 2; } +// +message EpInlineVideo { + // + int64 material_no = 1; + // + int64 aid = 2; + // + int64 cid = 3; +} + +// 剧集广告信息 +message EpisodeAdvertisementInfo { + // + int64 aid = 1; + // + string title = 2; + // + string link = 3; + // + int32 follow_video_bnt_flag = 4; + // + string next_video_title = 5; + // + string next_video_link = 6; + // + int64 cid = 7; + // + int32 season_id = 8; + // + int32 follow = 9; +} + +// EP信息 +message EpisodeInfo { + // + int32 ep_id = 1; + // + int64 cid = 2; + // + int64 aid = 3; + // + int64 ep_status = 4; + // + SeasonInfo season_info = 5; + // + string cover = 6; + // + string title = 7; + // + Interaction interaction = 8; + // + string long_title = 9; +} + +// +message EpPreVideo { + // + int64 aid = 1; + // + int64 cid = 2; +} + +// +message EpPublicityVideo { + // + enum Type { + DATA_NOT_SET = 0; + EP_PRE_VIDEO = 2; + EP_INLINE = 3; + } + // + Type type = 1; + // + oneof data { + // + EpPreVideo ep_pre_video = 2; + // + EpInlineVideo ep_inline_video = 3; + } +} + +// +enum EpPublicityVideoType { + // + PRE = 0; + // + INLINE = 1; +} + // 事件 message Event { // 震动 Shake shake = 1; } -// ? 放映室提示语 +// 放映室提示语 message FreyaConfig { // string desc = 1; @@ -343,6 +483,16 @@ message HighDefinitionTrialInfo { ButtonInfo no_longer_trial_btn = 9; } +// 历史记录节点 +message HistoryNode { + // 节点ID + int64 node_id = 1; + // 节点标题 + string title = 2; + // 对应CID + int64 cid = 3; +} + // 图片信息 message ImageInfo { // 图片链接 @@ -365,6 +515,28 @@ enum InlineType { TYPE_PREVIEW = 3; // } +// 交互信息 +message Interaction { + // 历史节点 + HistoryNode history_node = 1; + // 版本 + int64 graph_version = 2; + // 交互消息 + string msg = 3; + // 是否为交互 + bool is_interaction = 4; +} + +// 限制操作类型 +enum LimitActionType { + // + LAT_UNKNOWN = 0; + // + SHOW_LIMIT_DIALOG = 1; + // + SKIP_CURRENT_EP = 2; +} + // message MultiView { // @@ -379,44 +551,46 @@ message MultiView { // 大会员广告: 支付提示信息 message PayTip { - // + // 标题 string title = 1; - // + // 跳转链接 string url = 2; - // + // 图标 string icon = 3; - // + // 浮层类型 int32 type = 4; - // + // 显示类型 int32 show_type = 5; - // + // 图片信息 string img = 6; - // + // 白天背景颜色 string bg_day_color = 7; - // + // 夜间背景颜色 string bg_night_color = 8; - // + // 白天线条颜色 string bg_line_color = 9; - // + // 夜间线条颜色 string bg_night_line_color = 10; - // + // 文字颜色 string text_color = 11; - // + // 夜间文字颜色 string text_night_color = 12; - // + // 视图展示起始时间 int64 view_start_time = 13; - // + // 按钮列表 repeated ButtonInfo button = 14; - // + // 跳转链接打开方式 int32 url_open_type = 15; - // + // 埋点上报信息 Report report = 16; - // + // 角度样式 int32 angle_style = 17; - // + // 埋点上报类型 int32 report_type = 18; - // + // 订单埋点上报参数 map order_report_params = 19; + // 巨屏图片信息 + string giant_screen_img = 20; } // 禁用功能配置 @@ -450,14 +624,15 @@ message PlayAbilityConf { bool freya_enter_disable = 27; // 一起看入口 bool dolby_disable = 28; // 杜比音效 bool freya_full_disable = 29; // 全屏一起看入口 - bool skip_oped_switch_disable = 30; // - bool record_screen_disable = 31; // - bool color_optimize_disable = 32; // + bool skip_oped_switch_disable = 30; // 跳过片头片尾 + bool record_screen_disable = 31; // 录屏 + bool color_optimize_disable = 32; // 色觉优化 + bool dubbing_disable = 33; // 配音 } // 云控扩展配置信息 message PlayAbilityExtConf { - // 自定义配置扩展信息 + // bool allow_close_subtitle = 1; // FreyaConfig freya_config = 2; @@ -465,12 +640,43 @@ message PlayAbilityExtConf { CastTips cast_tips = 3; } +// 播放配音信息 +message PlayDubbingInfo { + // 背景音频 + AudioMaterialProto background_audio = 1; + // 角色音频列表 + repeated RoleAudioProto role_audio_list = 2; + // 引导文本 + string guide_text = 3; +} + // 错误码 enum PlayErr { NoErr = 0; // WithMultiDeviceLoginErr = 1; // 管控类型的错误码 } + +// 播放扩展信息 +message PlayExtInfo { + // 播放配音信息 + PlayDubbingInfo play_dubbing_info = 1; +} + +// +message PlayList { + // + int32 season_id = 1; + // + string title = 2; + // + string cover = 3; + // + string link = 4; + // + BadgeInfo badge_info = 5; +} + // 其他业务信息 message PlayViewBusinessInfo { // 当前视频是否是预览 @@ -497,6 +703,22 @@ message PlayViewBusinessInfo { map exp_map = 11; // DRM技术类型 DrmTechType drm_tech_type = 12; + // + int32 limit_action_type = 13; + // + bool is_drm = 14; + // + RecordInfo record_info = 15; + // + int32 vip_status = 16; + // + bool is_live_pre = 17; + // + EpisodeInfo episode_info = 18; + // + EpisodeAdvertisementInfo episode_advertisement_info = 19; + // + UserStatus user_status = 20; } // 播放页信息-响应 @@ -513,6 +735,8 @@ message PlayViewReply { ViewInfo view_info = 5; // 自定义配置扩展信息 PlayAbilityExtConf play_ext_conf = 6; + // 播放扩展信息 + PlayExtInfo play_ext_info = 7; } // 播放页信息-请求 @@ -555,6 +779,12 @@ message PlayViewReq { InlineScene inline_scene = 17; // int64 material_no = 18; + // DRM 安全等级 + int32 security_level = 19; + // + int64 season_id = 20; + // + DataControl data_control = 21; } // 弹窗信息 @@ -607,6 +837,14 @@ message QualityExtInfo { bool trial_support = 1; } +// 备案信息 +message RecordInfo { + // 记录 + string record = 1; + // 记录图标 + string record_icon = 2; +} + // 埋点上报信息 message Report { // 曝光事件 @@ -633,6 +871,24 @@ message ResponseUrl { string md5 = 6; } +// 权限信息 +message Rights { + // 是否可以观看 + int32 can_watch = 1; +} + +// 角色配音信息 +message RoleAudioProto { + // 角色ID + int64 role_id = 1; + // 角色名称 + string role_name = 2; + // 角色头像 + string role_avatar = 3; + // 音频素材列表 + repeated AudioMaterialProto audio_material_list = 4; +} + // 场景控制 message SceneControl { // 是否收藏播单 @@ -647,7 +903,45 @@ message SceneControl { bool is_need_trial = 5; } -//分段视频流 +// 方案 +message Scheme { + enum ActionType { + UNKNOWN = 0; + SHOW_TOAST = 1; + } + // + ActionType action_type = 1; + // + string toast = 2; +} + +// PGC SEASON 信息 +message SeasonInfo { + // PGC SEASON ID + int32 season_id = 1; + // PGC SEASON 类型 + int32 season_type = 2; + // PGC SEASON 状态 + int32 season_status = 3; + // 封面 + string cover = 4; + // 标题 + string title = 5; + // 权限信息 + Rights rights = 6; + // 模式 + int32 mode = 7; +} + +// DRM 安全等级 +enum SecurityLevel { + LEVEL_UNKNOWN = 0; // + LEVEL_L1 = 1; // + LEVEL_L2 = 2; // + LEVEL_L3 = 3; // +} + +// 分段视频流 message SegmentVideo { //分段视频流列表 repeated ResponseUrl segment = 1; @@ -674,32 +968,36 @@ message Stream { // 流媒体元数据 message StreamInfo { - // 清晰度 - uint32 quality = 1; - // 格式 + // 视频质量 + int32 quality = 1; + // 视频格式 string format = 2; - // 格式描述 + // 描述信息 string description = 3; // 错误码 - uint32 err_code = 4; - // 不满足条件信息 + int32 err_code = 4; + // 流限制信息 StreamLimit limit = 5; - // 是否需要vip + // 是否需要VIP bool need_vip = 6; // 是否需要登录 bool need_login = 7; // 是否完整 bool intact = 8; - // 是否非全二压 - bool no_rexcode = 9; - // 清晰度属性位 + // 权限信息 int64 attribute = 10; - // 新版格式描述 + // 新版描述信息 string new_description = 11; - // 格式文字 + // 显示描述信息 string display_desc = 12; - // 新版格式描述备注 + // 上标 string superscript = 13; + // 方案信息 + Scheme scheme = 14; + // 是否支持DRM + bool support_drm = 15; + // 字幕信息 + string subtitle = 16; } // 清晰度不满足条件信息 @@ -712,14 +1010,24 @@ message StreamLimit { string msg = 3; } +// 任务参数信息 +message TaskParam { + // 任务类型 + string task_type = 1; + // 活动ID + int64 activity_id = 2; + // 提示ID + int64 tips_id = 3; +} + // 文案信息 message TextInfo { // 文案 string text = 1; // 字体色值 - string textColor = 2; + string text_color = 2; // 字体色值-夜间模式 - string textColorNight = 3; + string text_color_night = 3; } // toast @@ -740,6 +1048,18 @@ message Toast { map order_report_params = 7; } +// 用户状态信息 +message UserStatus { + // 是否支付 + bool pay_check = 1; + // 是否承包 + bool sponsor = 2; + // 观看进度 + WatchProgress watch_progress = 3; + // 系列观看进度 + WatchProgress aid_watch_progress = 4; +} + // 视频url信息 message VideoInfo { // 视频清晰度 @@ -760,26 +1080,48 @@ message VideoInfo { // 展示信息 message ViewInfo { - // 鉴权浮层 + // 弹窗 Dialog dialog = 1; - // toast + // Toast Toast toast = 2; // 优惠券信息 CouponInfo coupon_info = 3; - // 未购买的超前点播ep列表 + // 未支付剧集ID列表 repeated int64 demand_no_pay_epids = 4; - // 播放结束页 + // 结束页 EndPage end_page = 5; - // + // 扩展配置 map exp_config = 6; // 弹窗 PopWin pop_win = 7; - // + // 试看提示栏 PromptBar try_watch_prompt_bar = 8; - // + // 支付提示信息 PayTip pay_tip = 9; - // + // 高清试看提示信息 HighDefinitionTrialInfo high_definition_trial_info = 10; - // + // 弹窗扩展 map ext_dialog = 11; -} \ No newline at end of file + // 动画 + Animation animation = 12; + // Toast扩展 + map ext_toast = 13; +} + +// 观看进度信息 +message WatchProgress { + // 上次观看的 EP ID + int32 last_ep_id = 1; + // 上次观看到的EP INDEX + string last_ep_index = 2; + // 上次观看的进度 + int64 progress = 3; + // 上次观看的 CID + int64 last_play_cid = 4; + // 带时间的提示信息 + Toast toast = 5; + // 不带时间的提示信息 + Toast toast_without_time = 6; + // 上次观看的 AID + int64 last_play_aid = 7; +} diff --git a/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto b/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto deleted file mode 100644 index 28374f9..0000000 --- a/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto +++ /dev/null @@ -1,32 +0,0 @@ -syntax = "proto3"; - -package bilibili.pgc.gateway.player.v3; - -import "bilibili/playershared/playershared.proto"; - -import "google/protobuf/any.proto"; - -// 播放页信息-请求 -message PlayViewReq { - // 视频信息 - bilibili.playershared.VideoVod vod = 1; - // 当前页spm - string spmid = 2; - // 上一页spm - string from_spmid = 3; - // 青少年模式 - int32 teenagers_mode = 4; - // - map extra_content = 5; - -} - -// 播放页信息-响应 -message PlayViewReply { - bilibili.playershared.VodInfo vod_info = 1; - bilibili.playershared.PlayArcConf play_arc_conf = 2; - google.protobuf.Any supplement = 3; - bilibili.playershared.PlayArc play_arc = 4; - bilibili.playershared.QnTrialInfo qn_trial_info = 5; - bilibili.playershared.Event event = 6; -} \ No newline at end of file diff --git a/grpc_api/bilibili/playershared/playershared.proto b/grpc_api/bilibili/playershared/playershared.proto index 47d586c..d36e984 100644 --- a/grpc_api/bilibili/playershared/playershared.proto +++ b/grpc_api/bilibili/playershared/playershared.proto @@ -2,14 +2,26 @@ syntax = "proto3"; package bilibili.playershared; -// +// ArcConf消息 message ArcConf { + // 是否支持 bool is_support = 1; - bool disable = 2; + // 是否禁用 + bool disabled = 2; + // 额外内容 ExtraContent extra_content = 3; + // 不支持场景列表 repeated int32 unsupport_scene = 4; } +// +enum ArcType { + // + ARC_TYPE_NORMAL = 0; + // + ARC_TYPE_INTERACT = 1; +} + // 按钮组件 message Button { // 按钮文本 @@ -72,18 +84,92 @@ enum ConfType { // message ConfValue { oneof value { - // DASH流 + // int32 switch_val = 1; - // 分段流 + // int32 selected_val = 2; } } +// Dash条目 +message DashItem { + // 清晰度 + uint32 id = 1; + // 主线流 + string base_url = 2; + // 备用流 + repeated string backup_url = 3; + // 带宽 + uint32 bandwidth = 4; + // 编码id + uint32 codecid = 5; + // md5 + string md5 = 6; + // 大小 + uint64 size = 7; + // 帧率 + string frame_rate = 8; + // DRM密钥 + string widevine_pssh = 9; +} + +// 视频流信息: 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 audio_id = 7; + // 是否非全二压 + bool no_rexcode = 8; + // 帧率 + string frame_rate = 9; + // 宽 + int32 width = 10; + // 高 + int32 height = 11; + // DRM密钥 + string widevine_pssh = 12; +} + // message DeviceConf { ConfValue conf_value = 1; } +// 当前分辨率信息 +message Dimension { + // 宽 + int32 width = 1; + // 长 + int32 height = 2; + // 旋转角度 + int32 rotate = 3; +} + +// 杜比伴音流信息 +message DolbyItem { + // 杜比类型 + enum Type { + NONE = 0; // NONE + COMMON = 1; // 普通杜比音效 + ATMOS = 2; // 全景杜比音效 + } + // 杜比类型 + Type type = 1; + // 音频流 + repeated DashItem audio = 2; +} + // DRM类型 enum DrmTechType { // @@ -96,12 +182,18 @@ enum DrmTechType { BILI_DRM = 3; } +// 事件 +message Event { + // 震动 + Shake shake = 1; +} + // ? 错误码补充信息 message ExtraContent { // string disable_reason = 1; // - uint64 disable_code = 2; + int64 disable_code = 2; } // 播放历史 @@ -112,17 +204,79 @@ message History { HistoryInfo related_video = 2; } +// message HistoryInfo { // int64 progress = 1; // int64 last_play_cid = 2; + // + Toast toast = 3; + // + Toast toast_without_time = 4; + // + int64 last_play_aid = 5; +} + +// +message Interaction { + // + Node history_node = 1; + // + int64 graph_version = 2; + // + string msg = 3; + // + int64 mark = 4; +} + +// HIRES伴音流信息 +message LossLessItem { + // 是否为hires + bool is_lossless_audio = 1; + // 音频流信息 + DashItem audio = 2; + // 是否需要大会员 + bool need_vip = 3; +} + +// +message Node { + // + int64 node_id = 1; + // + string title = 2; + // + int64 cid = 3; +} + +// +message PlayArc { + // + VideoType video_type = 1; + // + uint64 aid = 2; + // + uint64 cid = 3; + // + DrmTechType drm_tech_type = 4; + // + ArcType arc_type = 5; + // + Interaction interaction = 6; + // + Dimension dimension = 7; +} + +// 播放页信息-响应: PlayArcConf +message PlayArcConf { + map arc_confs = 1; } // message PlayDeviceConf { // - map arc_confs = 1; + map device_confs = 1; } // 错误码 @@ -131,6 +285,46 @@ enum PlayErr { WithMultiDeviceLoginErr = 1; // 管控类型的错误码 } +// 播放页信息-响应: 高画质试看信息 +message QnTrialInfo { + // 能否试看高画质 + bool trial_able = 1; + // + int32 remaining_times = 2; + // + int32 start = 3; + // + int32 time_length = 4; + // + Toast start_toast = 5; + // + Toast end_toast = 6; + // + Button quality_open_tip_btn = 8; +} + +// Dash Response, 未使用 +message ResponseDash { + repeated DashItem video = 1; + repeated DashItem audio = 2; +} + +// 分段流条目 +message ResponseUrl { + // 分段序号 + uint32 order = 1; + // 分段时长 + uint64 length = 2; + // 分段大小 + uint64 size = 3; + // 主线流 + string url = 4; + // 备用流 + repeated string backup_url = 5; + // md5 + string md5 = 6; +} + // 方案 message Scheme { enum ActionType { @@ -143,21 +337,15 @@ message Scheme { string toast = 2; } -// -enum UnsupportScene { - // - UNKNOWN_SCENE = 0; - // - PREMIERE = 1; +// 视频流信息: 分段流 +message SegmentVideo { + repeated ResponseUrl segment = 1; } -// 视频类型 -enum VideoType { - UNKNOWN = 0; - // 用户生成内容 - UGC = 1; - // 专业生产内容 - PGC = 2; +// 震动 +message Shake { + // + string file = 1; } // 视频流信息 @@ -211,83 +399,6 @@ message StreamInfo { bool support_drm = 17; } -// Dash条目 -message DashItem { - // 清晰度 - uint32 id = 1; - // 主线流 - string base_url = 2; - // 备用流 - repeated string backup_url = 3; - // 带宽 - uint32 bandwidth = 4; - // 编码id - uint32 codecid = 5; - // md5 - string md5 = 6; - // 大小 - uint64 size = 7; - // 帧率 - string frame_rate = 8; - // DRM密钥 - string widevine_pssh = 9; -} - -// 视频流信息: 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 audio_id = 7; - // 是否非全二压 - bool no_rexcode = 8; - // 帧率 - string frame_rate = 9; - // 宽 - int32 width = 10; - // 高 - int32 height = 11; - // DRM密钥 - string widevine_pssh = 12; -} - -// 视频流信息: 分段流 -message SegmentVideo { - repeated ResponseUrl segment = 1; -} - -// 分段流条目 -message ResponseUrl { - // 分段序号 - uint32 order = 1; - // 分段时长 - uint64 length = 2; - // 分段大小 - uint64 size = 3; - // 主线流 - string url = 4; - // 备用流 - repeated string backup_url = 5; - // md5 - string md5 = 6; -} - -// Dash Response, 未使用 -message ResponseDash { - repeated DashItem video = 1; - repeated DashItem audio = 2; -} - // 视频流信息: 流媒体元数据: 清晰度不满足条件信息 message StreamLimit { // 标题 @@ -298,6 +409,30 @@ message StreamLimit { string msg = 3; } +// Toast信息 +message Toast { + // toast文案 + string text = 1; + // toast按钮 + Button button = 2; +} + +// +enum UnsupportScene { + // + UNKNOWN_SCENE = 0; + // + PREMIERE = 1; +} + +// 视频类型 +enum VideoType { + UNKNOWN = 0; + // 用户生成内容 + UGC = 1; + // 专业生产内容 + PGC = 2; +} // 播放页信息-请求: 音视频VOD message VideoVod { @@ -345,30 +480,8 @@ message VodInfo { VolumeInfo volume = 8; // HIRES伴音流信息 LossLessItem loss_less_item = 9; -} - -// 杜比伴音流信息 -message DolbyItem { - // 杜比类型 - enum Type { - NONE = 0; // NONE - COMMON = 1; // 普通杜比音效 - ATMOS = 2; // 全景杜比音效 - } - // 杜比类型 - Type type = 1; - // 音频流 - repeated DashItem audio = 2; -} - -// HIRES伴音流信息 -message LossLessItem { - // 是否为hires - bool is_lossless_audio = 1; - // 音频流信息 - DashItem audio = 2; - // 是否需要大会员 - bool need_vip = 3; + // 是否支持投屏 + bool support_project = 10; } // 响度均衡操作信息 @@ -388,58 +501,3 @@ message VolumeInfo { // Target true peak 目标响度真峰值 double target_tp = 7; } - -// -message PlayArc { - // - VideoType video_type = 1; - // - uint64 aid = 2; - // - uint64 cid = 3; - // - DrmTechType drm_tech_type = 4; -} - -// 播放页信息-响应: PlayArcConf -message PlayArcConf { - map arc_confs = 1; -} - -// 播放页信息-响应: 高画质试看信息 -message QnTrialInfo { - // 能否试看高画质 - bool trial_able = 1; - // - int32 remaining_times = 2; - // - int32 start = 3; - // - int32 time_length = 4; - // - Toast start_toast = 5; - // - Toast end_toast = 6; - // - Button quality_open_tip_btn = 8; -} - -// Toast信息 -message Toast { - // toast文案 - string text = 1; - // toast按钮 - Button button = 2; -} - -// 事件 -message Event { - // 震动 - Shake shake = 1; -} - -// 震动 -message Shake { - // - string file = 1; -} diff --git a/grpc_api/bilibili/polymer/app/search/v1/search.proto b/grpc_api/bilibili/polymer/app/search/v1/search.proto index f532f49..7741584 100644 --- a/grpc_api/bilibili/polymer/app/search/v1/search.proto +++ b/grpc_api/bilibili/polymer/app/search/v1/search.proto @@ -1098,18 +1098,38 @@ message SearchBannerCard { // message SearchByTypeRequest { + enum CategorySort { + CATEGORY_SORT_DEFAULT = 0; + CATEGORY_SORT_PUBLISH_TIME = 1; + CATEGORY_SORT_CLICK_COUNT = 2; + CATEGORY_SORT_COMMENT_COUNT = 3; + CATEGORY_SORT_LIKE_COUNT = 4; + } + enum UserType { + ALL = 0; + UP = 1; + NORMAL_USER = 2; + AUTHENTICATED_USER = 3; + } + enum UserSort { + USER_SORT_DEFAULT = 0; + USER_SORT_FANS_DESCEND = 1; + USER_SORT_FANS_ASCEND = 2; + USER_SORT_LEVEL_DESCEND = 3; + USER_SORT_LEVEL_ASCEND = 4; + } // 搜索目标类型, 番剧为7 int32 type = 1; // 关键词 string keyword = 2; // - int32 category_sort = 3; + CategorySort category_sort = 3; // int64 category_id = 4; // - int32 user_type = 5; + UserType user_type = 5; // - int32 user_sort = 6; + UserSort user_sort = 6; // bilibili.pagination.Pagination pagination = 7; // diff --git a/grpc_api/bilibili/polymer/contract/contract.proto b/grpc_api/bilibili/polymer/contract/v1/contract.proto similarity index 97% rename from grpc_api/bilibili/polymer/contract/contract.proto rename to grpc_api/bilibili/polymer/contract/v1/contract.proto index a6d4520..0b04e90 100644 --- a/grpc_api/bilibili/polymer/contract/contract.proto +++ b/grpc_api/bilibili/polymer/contract/v1/contract.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package bilibili.polymer.contract; +package bilibili.polymer.contract.v1; import "google/protobuf/empty.proto";