syntax = "proto3"; package bilibili.app.card.v1; //卡片信息 message Card { oneof item { //小封面条目 SmallCoverV5 smallCoverV5 = 1; // LargeCoverV1 largeCoverV1 = 2; // ThreeItemAllV2 threeItemAllV2 = 3; // ThreeItemV1 threeItemV1 = 4; // HotTopic hotTopic = 5; // DynamicHot dynamicHot = 6; // MiddleCoverV3 middleCoverV3 = 7; // LargeCoverV4 largeCoverV4 = 8; //热门列表顶部按钮 PopularTopEntrance popularTopEntrance = 9; // RcmdOneItem rcmdOneItem = 10; } } //小封面条目 message SmallCoverV5 { //条目基本信息 Base base = 1; // string coverGif = 2; // Up up = 3; //封面右下角标文案(时长) string coverRightText1 = 4; //右侧文案1(UP主昵称) string rightDesc1 = 5; //右侧文案2(播放量 时间) string rightDesc2 = 6; //右侧推荐原因标签框 ReasonStyle rcmdReasonStyle = 7; // HotwordEntrance hotwordEntrance = 8; // ReasonStyle cornerMarkStyle = 9; //右侧文案1图标id int32 rightIcon1 = 10; //右侧文案2图标id int32 rightIcon2 = 11; // ReasonStyle leftCornerMarkStyle = 12; } // message LargeCoverV1 { //条目基本信息 Base base = 1; // string coverGif = 2; // Avatar avatar = 3; // string coverLeftText1 = 4; // string coverLeftText2 = 5; // string coverLeftText3 = 6; // string coverBadge = 7; // string topRcmdReason = 8; // string bottomRcmdReason = 9; // string desc = 10; // int32 officialIcon = 11; // int32 canPlay = 12; // ReasonStyle topRcmdReasonStyle = 13; // ReasonStyle bottomRcmdReasonStyle = 14; // ReasonStyle rcmdReasonStyleV2 = 15; // ReasonStyle leftCoverBadgeStyle = 16; // ReasonStyle rightCoverBadgeStyle = 17; // string coverBadge2 = 18; // LikeButton likeButton = 19; // int32 titleSingleLine = 20; // string coverRightText = 21; } // message ThreeItemAllV2 { //条目基本信息 Base base = 1; // ReasonStyle topRcmdReasonStyle = 2; // repeated TwoItemHV1Item item = 3; } // message ThreeItemV1 { //条目基本信息 Base base = 1; // int32 titleIcon = 2; // string moreUri = 3; // string moreText = 4; // repeated ThreeItemV1Item items = 5; } // message HotTopic { //条目基本信息 Base base = 1; // string desc = 2; // repeated HotTopicItem items = 3; } // message DynamicHot { //条目基本信息 Base base = 1; // string topLeftTitle = 2; // string desc1 = 3; // string desc2 = 4; // string moreUri = 5; // string moreText = 6; // repeated string covers = 7; // string coverRightText = 8; // ReasonStyle topRcmdReasonStyle = 9; } // message MiddleCoverV3 { //条目基本信息 Base base = 1; // string desc1 = 2; // string desc2 = 3; // ReasonStyle coverBadgeStyle = 4; } // message LargeCoverV4 { //条目基本信息 Base base = 1; // string coverLeftText1 = 2; // string coverLeftText2 = 3; // string coverLeftText3 = 4; // string coverBadge = 5; // int32 canPlay = 6; // Up up = 7; // string shortLink = 8; // string shareSubtitle = 9; // string playNumber = 10; // string bvid = 11; // string subParam = 12; } //热门列表顶部按钮 message PopularTopEntrance { //条目基本信息 Base base = 1; //按钮项 repeated EntranceItem items = 2; } //推荐 message RcmdOneItem { //条目基本信息 Base base = 1; //标签框信息 ReasonStyle topRcmdReasonStyle = 2; //小封面推荐内容信息 SmallCoverRcmdItem item = 3; } // message AdInfo { // int64 creativeId = 1; // int32 creativeType = 2; // int32 cardType = 3; // CreativeContent creativeContent = 4; // string adCb = 5; // int64 resource = 6; // int32 source = 7; // string requestId = 8; // bool isAd = 9; // int64 cmMark = 10; // int32 index = 11; // bool isAdLoc = 12; // int32 cardIndex = 13; // string clientIp = 14; // bytes extra = 15; // int32 creativeStyle = 16; } // message Args { // int32 type = 1; // int64 upId = 2; // string upName = 3; // int32 rid = 4; // string rname = 5; // int64 tid = 6; // string tname = 7; // string trackId = 8; // string state = 9; // int32 convergeType = 10; // int64 aid = 11; } // message Avatar { // string cover = 1; // string text = 2; // string uri = 3; // int32 type = 4; // string event = 5; // string eventV2 = 6; // int32 defalutCover = 7; } //条目基本信息 message Base { //卡片类型 string cardType = 1; //卡片跳转类型? string cardGoto = 2; //跳转类型 //av:视频稿件 mid:用户空间 string goto = 3; //目标参数 string param = 4; //封面url string cover = 5; //标题 string title = 6; //跳转uri string uri = 7; // ThreePoint threePoint = 8; // Args args = 9; // PlayerArgs playerArgs = 10; //条目排位序号 int64 idx = 11; // AdInfo adInfo = 12; // Mask mask = 13; //来源标识 //recommend:推荐 operation:管理? string fromType = 14; // repeated ThreePointV2 threePointV2 = 15; // repeated ThreePointV3 threePointV3 = 16; // Button descButton = 17; //三点v4 ThreePointV4 threePointV4 = 18; } //气泡信息 message Bubble { //文案 string bubbleContent = 1; //版本 int32 version = 2; //起始时间 int64 stime = 3; } //按钮信息 message Button { //文案 string text = 1; //参数 string param = 2; // string uri = 3; //事件 string event = 4; // int32 selected = 5; //类型 //2: int32 type = 6; //事件v2 string eventV2 = 7; //关系信息 Relation relation = 8; } // message CreativeContent { // string title = 1; // string description = 2; // int64 videoId = 3; // string username = 4; // string imageUrl = 5; // string imageMd5 = 6; // string logUrl = 7; // string logMd5 = 8; // string url = 9; // string clickUrl = 10; // string showUrl = 11; } // message DislikeReason { // int64 id = 1; // string name = 2; } //热门列表按钮信息 message EntranceItem { //跳转类型 string goto = 1; //图标url string icon = 2; //标题 string title = 3; //入口模块id string moduleId = 4; //跳转uri string uri = 5; //入口id int64 entranceId = 6; //气泡信息 Bubble bubble = 7; //入口类型? int32 entranceType = 8; } // message HotTopicItem { // string cover = 1; // string uri = 2; // string param = 3; // string name = 4; } // message HotwordEntrance { // int64 hotwordId = 1; // string hotText = 2; // string h5Url = 3; // string icon = 4; } // message LikeButton { // int64 aid = 1; // int32 count = 2; // bool showCount = 3; // string event = 4; // int32 selected = 5; // string eventV2 = 6; } // message Mask { // Avatar avatar = 1; // Button button = 2; } // message PlayerArgs { // int32 isLive = 1; // int64 aid = 2; // int64 cid = 3; // int32 subType = 4; // int64 roomId = 5; // int64 epId = 7; // int32 isPreview = 8; // string type = 9; // int64 duration = 10; // int64 seasonId = 11; } //标签框信息 message ReasonStyle { //文案 string text = 1; //文字颜色 string textColor = 2; //背景色 string bgColor = 3; //边框色 string borderColor = 4; //图标url string iconUrl = 5; //文字颜色-夜间 string textColorNight = 6; //背景色-夜间 string bgColorNight = 7; //边框色-夜间 string borderColorNight = 8; //图标url-夜间 string iconNightUrl = 9; //背景风格id //1:无背景 2:有背景 int32 bgStyle = 10; // string uri = 11; // string iconBgUrl = 12; // string event = 13; // string eventV2 = 14; // int32 rightIconType = 15; // string leftIconType = 16; } //关系信息 message Relation { //关系状态 int32 status = 1; //是否关注 int32 isFollow = 2; //是否粉丝 int32 isFollowed = 3; } //分享面板信息 message SharePlane { //标题 string title = 1; //副标贴文案(观看次数) string shareSubtitle = 2; //备注 string desc = 3; //封面url string cover = 4; //稿件avid int64 aid = 5; //稿件bvid string bvid = 6; //允许分享方式 map shareTo = 7; //UP主昵称 string author = 8; //UP主UID int64 authorId = 9; //短连接 string shortLink = 10; //播放次数文案 string playNumber = 11; } //小封面推荐内容信息 message SmallCoverRcmdItem { //标题 string title = 1; //封面url string cover = 2; //跳转uri string uri = 3; //参数 string param = 4; //跳转类型 //av:视频稿件 string goto = 5; //封面右下角标文案(时长) string coverRightText1 = 6; //右侧文案1(UP主昵称) string rightDesc1 = 7; //右侧文案2(播放量 时间) string rightDesc2 = 8; // string coverGif = 9; //右侧文案1图标id int32 rightIcon1 = 10; //右侧文案2图标id int32 rightIcon2 = 11; } // message ThreeItemV1Item { //条目基本信息 Base base = 1; // string coverLeftText = 2; // int32 coverLeftIcon = 3; // string desc1 = 4; // string desc2 = 5; // string badge = 6; } // message ThreePoint { // repeated DislikeReason dislikeReasons = 1; // repeated DislikeReason feedbacks = 2; //稍后再看 int32 watchLater = 3; } // message ThreePointV2 { // string title = 1; // string subtitle = 2; // repeated DislikeReason reasons = 3; // string type = 4; // int64 id = 5; } // message ThreePointV3 { // string title = 1; // string selectedTitle = 2; // string subtitle = 3; // repeated DislikeReason reasons = 4; // string type = 5; // int64 id = 6; // int32 selected = 7; // string icon = 8; // string selectedIcon = 9; // string url = 10; // int32 defaultId = 11; } //三点v4 message ThreePointV4 { //分享面板信息 SharePlane sharePlane = 1; //稍后再看 WatchLater watchLater = 2; } // message TwoItemHV1Item { // string title = 1; // string cover = 2; // string uri = 3; // string param = 4; // Args args = 5; // string goto = 6; // string coverLeftText1 = 7; // int32 coverLeftIcon1 = 8; // string coverRightText = 9; } // message Up { // int64 id = 1; // string name = 2; // string desc = 3; // Avatar avatar = 4; // int32 officialIcon = 5; // Button descButton = 6; // string cooperation = 8; } //稍后再看信息 message WatchLater { //稿件avid int64 aid = 1; //稿件bvid string bvid = 2; }