
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 (WaterFlowRcmdResp);
}

// 
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<string, string> annotations = 8;
}