single.proto

syntax = "proto3";

package bilibili.app.card.v1;

import "bilibili/app/card/v1/common.proto";

//
message SmallCoverV5 {
    // 条目基本信息
    Base base = 1;
    //
    string cover_gif = 2;
    //
    Up up = 3;
    // 封面右下角标文案
    string cover_right_text_1 = 4;
    // 右侧文案1
    string right_desc_1 = 5;
    // 右侧文案2
    string right_desc_2 = 6;
    // 右侧推荐原因标签框
    ReasonStyle rcmd_reason_style = 7;
    //
    HotwordEntrance hotword_entrance = 8;
    // 直播小卡的角标
    ReasonStyle corner_mark_style = 9;
    // 右侧文案1图标id
    int32 right_icon_1 = 10;
    // 右侧文案2图标id
    int32 right_icon_2 = 11;
    // 左上角角标
    ReasonStyle left_corner_mark_style = 12;
}

//
message HotwordEntrance {
    //
    int64 hotword_id = 1;
    //
    string hot_text = 2;
    //
    string h5_url = 3;
    //
    string icon = 4;
}

//
message LargeCoverV1 {
    // 条目基本信息
    Base base = 1;
    //
    string cover_gif = 2;
    //
    Avatar avatar = 3;
    //
    string cover_left_text_1 = 4;
    //
    string cover_left_text_2 = 5;
    //
    string cover_left_text_3 = 6;
    //
    string cover_badge = 7;
    //
    string top_rcmd_reason = 8;
    //
    string bottom_rcmd_reason = 9;
    //
    string desc = 10;
    //
    int32 official_icon = 11;
    //
    int32 can_play = 12;
    //
    ReasonStyle top_rcmd_reason_style = 13;
    //
    ReasonStyle bottom_rcmd_reason_style = 14;
    //
    ReasonStyle rcmd_reason_style_v2 = 15;
    //
    ReasonStyle left_cover_badge_style = 16;
    //
    ReasonStyle right_cover_badge_style = 17;
    //
    string cover_badge_2 = 18;
    //
    LikeButton like_button = 19;
    //
    int32 title_single_line = 20;
    //
    string cover_right_text = 21;
}

//
message ThreeItemAllV2 {
    // 条目基本信息
    Base base = 1;
    //
    ReasonStyle top_rcmd_reason_style = 2;
    //
    repeated TwoItemHV1Item item = 3;
}

//
message TwoItemHV1Item {
    //
    string title = 1;
    //
    string cover = 2;
    //
    string uri = 3;
    //
    string param = 4;
    //
    Args args = 5;
    //
    string goto = 6;
    //
    string cover_left_text_1 = 7;
    //
    int32 cover_left_icon_1 = 8;
    //
    string cover_right_text = 9;
}

// 推荐
message RcmdOneItem {
    // 条目基本信息
    Base base = 1;
    // 标签框信息
    ReasonStyle topRcmdReasonStyle = 2;
    // 小封面推荐内容信息
    SmallCoverRcmdItem item = 3;
}

// 小封面推荐内容信息
message SmallCoverRcmdItem {
    // 标题
    string title = 1;
    // 封面url
    string cover = 2;
    // 跳转uri
    string uri = 3;
    // 参数
    string param = 4;
    // 跳转类型
    // av:视频稿件
    string goto = 5;
    // 封面右下角标文案
    string coverRightText1 = 6;
    // 右侧文案1
    string rightDesc1 = 7;
    // 右侧文案2
    string rightDesc2 = 8;
    //
    string coverGif = 9;
    // 右侧文案1图标id
    int32 rightIcon1 = 10;
    // 右侧文案2图标id
    int32 rightIcon2 = 11;
}

//
message ThreeItemV1 {
    // 条目基本信息
    Base base = 1;
    //
    int32 titleIcon = 2;
    //
    string moreUri = 3;
    //
    string moreText = 4;
    //
    repeated ThreeItemV1Item items = 5;
}

//
message ThreeItemV1Item {
    // 条目基本信息
    Base base = 1;
    //
    string coverLeftText = 2;
    //
    int32 coverLeftIcon = 3;
    //
    string desc1 = 4;
    //
    string desc2 = 5;
    //
    string badge = 6;
}

//
message HotTopicItem {
    //
    string cover = 1;
    //
    string uri = 2;
    //
    string param = 3;
    //
    string name = 4;
}

//
message HotTopic {
    // 条目基本信息
    Base base = 1;
    //
    string desc = 2;
    //
    repeated HotTopicItem items = 3;
}

//
message DynamicHot {
    // 条目基本信息
    Base base = 1;
    //
    string top_left_title = 2;
    //
    string desc1 = 3;
    //
    string desc2 = 4;
    //
    string more_uri = 5;
    //
    string more_text = 6;
    //
    repeated string covers = 7;
    //
    string cover_right_text = 8;
    //
    ReasonStyle top_rcmd_reason_style = 9;
}

//
message MiddleCoverV3 {
    // 条目基本信息
    Base base = 1;
    //
    string desc1 = 2;
    //
    string desc2 = 3;
    //
    ReasonStyle cover_badge_style = 4;
}

//
message LargeCoverV4 {
    // 条目基本信息
    Base base = 1;
    //
    string cover_left_text_1 = 2;
    //
    string cover_left_text_2 = 3;
    //
    string cover_left_text_3 = 4;
    //
    string cover_badge = 5;
    //
    int32 can_play = 6;
    //
    Up up = 7;
    //
    string short_link = 8;
    //
    string share_subtitle = 9;
    //
    string play_number = 10;
    //
    string bvid = 11;
    //
    string sub_param = 12;
}

// 热门列表顶部按钮
message PopularTopEntrance {
    // 条目基本信息
    Base base = 1;
    // 按钮项
    repeated EntranceItem items = 2;
}

// 热门列表按钮信息
message EntranceItem {
    // 跳转类型
    string goto = 1;
    // 图标url
    string icon = 2;
    // 标题
    string title = 3;
    // 入口模块id
    string module_id = 4;
    // 跳转uri
    string uri = 5;
    // 入口id
    int64 entrance_id = 6;
    // 气泡信息
    Bubble bubble = 7;
    // 入口类型
    // 1:代表分品类热门
    int32 entrance_type = 8;
}

// 气泡信息
message Bubble {
    // 文案
    string bubble_content = 1;
    // 版本
    int32 version = 2;
    // 起始时间
    int64 stime = 3;
}```