594 lines
8.9 KiB
Protocol Buffer
594 lines
8.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package bilibili.app.interfaces.v1;
|
|
|
|
import "bilibili/app/playurl/v1.proto";
|
|
|
|
//历史记录接口
|
|
service History {
|
|
//搜索历史记录
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/Search
|
|
rpc search (SearchReq) returns (SearchReply);
|
|
|
|
//?
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/LatestHistory
|
|
rpc latestHistory (LatestHistoryReq) returns (LatestHistoryReply);
|
|
|
|
//获取历史记录业务类型
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/HistoryTab
|
|
rpc historyTab (HistoryTabReq) returns (HistoryTabReply);
|
|
|
|
//删除历史记录
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/Delete
|
|
rpc delete (DeleteReq) returns (NoReply);
|
|
|
|
//获取历史记录列表v2接口
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/CursorV2
|
|
rpc cursorV2 (CursorV2Req) returns (CursorV2Reply);
|
|
|
|
//获取历史记录列表v1接口
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/Cursor
|
|
rpc cursor (CursorReq) returns (CursorReply);
|
|
|
|
//清空历史记录
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.History/Clear
|
|
rpc clear (ClearReq) returns (NoReply);
|
|
}
|
|
|
|
//搜索接口
|
|
service Search {
|
|
//获取搜索建议
|
|
//https://app.bilibili.com/bilibili.app.interface.v1.Search/Suggest3
|
|
rpc suggest3 (SuggestionResult3Req) returns (SuggestionResult3Reply);
|
|
}
|
|
|
|
//搜索历史记录-请求
|
|
message SearchReq {
|
|
//关键词
|
|
string keyword = 1;
|
|
|
|
//页码
|
|
int64 pn = 2;
|
|
|
|
//业务选择
|
|
string business = 3;
|
|
}
|
|
|
|
//搜索历史记录-回复
|
|
message SearchReply {
|
|
//历史记录条目列表
|
|
repeated CursorItem items = 1;
|
|
|
|
//是否未拉取完
|
|
bool hasMore = 2;
|
|
|
|
//页面信息
|
|
Page page = 3;
|
|
}
|
|
|
|
//?-请求
|
|
message LatestHistoryReq {
|
|
//业务选择
|
|
string business = 1;
|
|
|
|
//视频预加载配置
|
|
PlayerPreloadParams playerPreload = 2;
|
|
}
|
|
|
|
//?-回复
|
|
message LatestHistoryReply {
|
|
//历史记录条目
|
|
CursorItem items = 1;
|
|
|
|
//
|
|
string scene = 2;
|
|
}
|
|
|
|
//获取历史记录业务类型-请求
|
|
message HistoryTabReq {
|
|
//
|
|
string business = 1;
|
|
|
|
//
|
|
HistorySource source = 2;
|
|
|
|
//
|
|
string keyword = 3;
|
|
}
|
|
|
|
//获取历史记录业务类型-回复
|
|
message HistoryTabReply {
|
|
//
|
|
repeated CursorTab tab = 1;
|
|
}
|
|
|
|
//删除历史记录-请求
|
|
message DeleteReq {
|
|
//历史记录信息
|
|
HisInfo hisInfo = 1;
|
|
}
|
|
|
|
//获取历史记录列表v2接口-请求
|
|
message CursorV2Req {
|
|
//游标信息
|
|
Cursor cursor = 1;
|
|
|
|
//业务选择
|
|
string business = 2;
|
|
|
|
//视频预加载配置
|
|
PlayerPreloadParams playerPreload = 3;
|
|
|
|
//
|
|
bilibili.app.playurl.v1.PlayerArgs playerArgs = 4;
|
|
}
|
|
|
|
//获取历史记录列表v2接口-回复
|
|
message CursorV2Reply {
|
|
//历史记录条目列表
|
|
repeated CursorItem items = 1;
|
|
|
|
//游标信息
|
|
Cursor cursor = 2;
|
|
|
|
//是否未拉取完
|
|
bool hasMore = 3;
|
|
}
|
|
|
|
//获取历史记录列表v1接口-请求
|
|
message CursorReq {
|
|
//游标信息
|
|
Cursor cursor = 1;
|
|
|
|
//业务选择
|
|
string business = 2;
|
|
|
|
//视频预加载配置
|
|
PlayerPreloadParams playerPreload = 3;
|
|
}
|
|
|
|
//获取历史记录列表v1接口-回复
|
|
message CursorReply {
|
|
//历史记录条目列表
|
|
repeated CursorItem items = 1;
|
|
|
|
//业务类型表
|
|
repeated CursorTab tab = 2;
|
|
|
|
//游标信息
|
|
Cursor cursor = 3;
|
|
|
|
//是否未拉取完
|
|
bool hasMore = 4;
|
|
}
|
|
|
|
//清空历史记录-请求
|
|
message ClearReq {
|
|
//业务选择
|
|
string business = 1;
|
|
}
|
|
|
|
//空回复
|
|
message NoReply {
|
|
|
|
}
|
|
|
|
//获取搜索建议-请求
|
|
message SuggestionResult3Req {
|
|
//关键字
|
|
string keyword = 1;
|
|
|
|
//是否语法高亮
|
|
int32 highlight = 2;
|
|
|
|
//是否青少年模式
|
|
int32 teenagersMode = 3;
|
|
}
|
|
|
|
//获取搜索建议-回复
|
|
message SuggestionResult3Reply {
|
|
//搜索追踪id
|
|
string trackid = 1;
|
|
|
|
//搜索建议条目列表
|
|
repeated ResultItem list = 2;
|
|
|
|
//
|
|
string expStr = 3;
|
|
}
|
|
|
|
//专栏条目类型
|
|
message CardArticle {
|
|
//封面uel
|
|
repeated string covers = 1;
|
|
|
|
//作者昵称
|
|
string name = 2;
|
|
|
|
//作者UID
|
|
int64 mid = 3;
|
|
|
|
//
|
|
bool displayAttention = 4;
|
|
|
|
//标志名
|
|
string badge = 5;
|
|
|
|
//
|
|
Relation relation = 6;
|
|
}
|
|
|
|
//课程条目类型
|
|
message CardCheese {
|
|
//封面url
|
|
string cover = 1;
|
|
|
|
//观看进度
|
|
int64 progress = 2;
|
|
|
|
//总计时长
|
|
int64 duration = 3;
|
|
|
|
//单集标题
|
|
string subtitle = 4;
|
|
}
|
|
|
|
//直播条目类型
|
|
message CardLive {
|
|
//封面url
|
|
string cover = 1;
|
|
|
|
//主播昵称
|
|
string name = 2;
|
|
|
|
//主播UID
|
|
int64 mid = 3;
|
|
|
|
//直播分区名
|
|
string tag = 4;
|
|
|
|
//
|
|
int32 ststus = 5;
|
|
|
|
//
|
|
bool displayAttention = 6;
|
|
|
|
//
|
|
Relation relation = 7;
|
|
}
|
|
|
|
//pgc稿件条目类型
|
|
message CardOGV {
|
|
//封面url
|
|
string cover = 1;
|
|
|
|
//观看进度
|
|
int64 progress = 2;
|
|
|
|
//总计时长
|
|
int64 duration = 3;
|
|
|
|
//单集标题
|
|
string subtitle = 4;
|
|
}
|
|
|
|
//ugc稿件条目类型
|
|
message CardUGC {
|
|
//封面url
|
|
string cover = 1;
|
|
|
|
//观看进度
|
|
int64 progress = 2;
|
|
|
|
//视频长度
|
|
int64 duration = 3;
|
|
|
|
//UP主昵称
|
|
string name = 4;
|
|
|
|
//UP主UID
|
|
int64 mid = 5;
|
|
|
|
//
|
|
bool displayAttention = 6;
|
|
|
|
//观看视频cid
|
|
int64 cid = 7;
|
|
|
|
//观看视频分P
|
|
int32 page = 8;
|
|
|
|
//
|
|
string subtitle = 9;
|
|
|
|
//
|
|
Relation relation = 10;
|
|
|
|
//稿件bvid
|
|
string bvid = 11;
|
|
|
|
//总分P数
|
|
int64 videos = 12;
|
|
|
|
//短链接
|
|
string shortLink = 13;
|
|
|
|
//副标题文案
|
|
string shareSubtitle = 14;
|
|
|
|
//播放数
|
|
int64 view = 15;
|
|
}
|
|
|
|
//游标信息
|
|
message Cursor {
|
|
//起始时间戳
|
|
int64 max = 1;
|
|
|
|
//
|
|
int32 maxTp = 2;
|
|
}
|
|
|
|
//历史记录条目
|
|
message CursorItem {
|
|
//主体数据
|
|
oneof cardItemCase {
|
|
//ugc稿件
|
|
CardUGC cardUGC = 1;
|
|
|
|
//pgc稿件
|
|
CardOGV cardOGV = 2;
|
|
|
|
//专栏
|
|
CardArticle cardArticle = 3;
|
|
|
|
//直播
|
|
CardLive cardLive = 4;
|
|
|
|
//课程
|
|
CardCheese cardCheese = 5;
|
|
}
|
|
|
|
//标题
|
|
string title = 6;
|
|
|
|
//目标uri/url
|
|
string uri = 7;
|
|
|
|
//观看时间
|
|
int64 viewAt = 8;
|
|
|
|
//历史记录id
|
|
int64 kid = 9;
|
|
|
|
//对象id
|
|
int64 oid = 10;
|
|
|
|
//业务类型
|
|
string business = 11;
|
|
|
|
//业务类型代码
|
|
int32 tp = 12;
|
|
|
|
//设备标识
|
|
DeviceType dt = 13;
|
|
|
|
//
|
|
bool hasShare = 14;
|
|
}
|
|
|
|
//业务分类表
|
|
message CursorTab {
|
|
//业务名
|
|
string business = 1;
|
|
|
|
//名称
|
|
string name = 2;
|
|
|
|
//路由uri
|
|
string router = 3;
|
|
|
|
//
|
|
bool focus = 4;
|
|
}
|
|
|
|
//设备标识代码
|
|
enum DT {
|
|
//未知
|
|
Unknown_VALUE = 0;
|
|
|
|
//手机端
|
|
Phone_VALUE = 1;
|
|
|
|
//ipad端
|
|
Pad_VALUE = 2;
|
|
|
|
//web端
|
|
PC_VALUE = 3;
|
|
}
|
|
|
|
//设备标识
|
|
message DeviceType {
|
|
//设备标识代码
|
|
DT type = 1;
|
|
|
|
//图标url
|
|
string icon = 2;
|
|
}
|
|
|
|
//历史记录信息
|
|
message HisInfo {
|
|
//业务选择
|
|
string business = 1;
|
|
|
|
//历史记录id
|
|
int64 kid = 2;
|
|
}
|
|
|
|
//
|
|
enum HistorySource {
|
|
//
|
|
history_VALUE = 0;
|
|
|
|
//
|
|
shopping_VALUE = 1;
|
|
}
|
|
|
|
//
|
|
message OfficialVerify {
|
|
//
|
|
int32 type = 1;
|
|
|
|
//
|
|
string desc = 2;
|
|
}
|
|
|
|
//页面信息
|
|
message Page {
|
|
//当前页码
|
|
int64 pn = 1;
|
|
|
|
//总计条目数
|
|
int64 total = 2;
|
|
}
|
|
|
|
//视频预加载配置
|
|
message PlayerPreloadParams {
|
|
//清晰度
|
|
int64 qn = 1;
|
|
|
|
//
|
|
int64 fnver = 2;
|
|
|
|
//流类型
|
|
int64 fnval = 3;
|
|
|
|
//强制域名
|
|
int64 forceHost = 4;
|
|
|
|
//是否4K
|
|
int64 fourk = 5;
|
|
}
|
|
|
|
//
|
|
message ReasonStyle {
|
|
//
|
|
string text = 1;
|
|
|
|
//
|
|
string textColor = 2;
|
|
|
|
//
|
|
string textColorNight = 3;
|
|
|
|
//
|
|
string bgColor = 4;
|
|
|
|
//
|
|
string bgColorNight = 5;
|
|
|
|
//
|
|
string borderColor = 6;
|
|
|
|
//
|
|
string borderColorNight = 7;
|
|
|
|
//
|
|
int32 bgStyle = 8;
|
|
}
|
|
|
|
//
|
|
message Relation {
|
|
//
|
|
int32 status = 1;
|
|
|
|
//
|
|
int32 isFollow = 2;
|
|
|
|
//
|
|
int32 isFollowed = 3;
|
|
}
|
|
|
|
//搜索建议条目
|
|
message ResultItem {
|
|
//来源
|
|
string from = 1;
|
|
|
|
//显示结果(语法高亮)
|
|
string title = 2;
|
|
|
|
//结果
|
|
string keyword = 3;
|
|
|
|
//序号
|
|
int32 position = 4;
|
|
|
|
//
|
|
string cover = 5;
|
|
|
|
//
|
|
double coverSize = 6;
|
|
|
|
//
|
|
string sugType = 7;
|
|
|
|
//
|
|
int32 termType = 8;
|
|
|
|
//
|
|
string goto = 9;
|
|
|
|
//
|
|
string uri = 10;
|
|
|
|
//
|
|
OfficialVerify officialVerify = 11;
|
|
|
|
//
|
|
string param = 12;
|
|
|
|
//
|
|
int64 mid = 13;
|
|
|
|
//
|
|
int32 fans = 14;
|
|
|
|
//
|
|
int32 level = 15;
|
|
|
|
//
|
|
int32 archives = 16;
|
|
|
|
//
|
|
int64 ptime = 17;
|
|
|
|
//
|
|
string seasonTypeName = 18;
|
|
|
|
//
|
|
string area = 19;
|
|
|
|
//
|
|
string style = 20;
|
|
|
|
//
|
|
string label = 21;
|
|
|
|
//
|
|
double rating = 22;
|
|
|
|
//
|
|
int32 vote = 23;
|
|
|
|
//
|
|
repeated ReasonStyle badges = 24;
|
|
|
|
//
|
|
string styles = 25;
|
|
|
|
//
|
|
int64 moduleId = 26;
|
|
|
|
//
|
|
string liveLink = 27;
|
|
} |