bilibili-API-collect/grpc_api/bilibili/main/community/reply/v1.proto

774 lines
11 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//评论区v1接口
syntax = "proto3";
package bilibili.main.community.reply.v1;
import "google/protobuf/any.proto";
service Reply {
//主评论列表接口
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/MainList
rpc MainList(MainListReq) returns (MainListReply);
//二级评论明细接口
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/DetailList
rpc DetailList(DetailListReq) returns (DetailListReply);
//对话评论树接口
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/DialogList
rpc DialogList(DialogListReq) returns (DialogListReply);
//
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/SearchItemPreHook
rpc SearchItemPreHook(SearchItemPreHookReq) returns (SearchItemPreHookReply);
//搜索评论区插入项目接口
//https://app.bilibili.com/bilibili.main.community.reply.v1.Reply/SearchItem
rpc SearchItem(SearchItemReq) returns (SearchItemReply);
}
//排序方式
enum Mode{
//
DEFAULT = 0;
//
UNSPECIFIED = 1;
//按时间
MAIN_LIST_TIME = 2;
//按热度
MAIN_LIST_HOT = 3;
}
//页面游标请求
message CursorReq{
//下页数据
int64 next = 1;
//上页数据
int64 prev = 2;
//排序方式
Mode mode = 4;
}
//页面游标回复
message CursorReply{
//下页数据
int64 next = 1;
//上页数据
int64 prev = 2;
//是否到顶
bool isBegin = 3;
//是否到底
bool isEnd = 4;
//排序方式
Mode mode = 5;
}
//
enum SearchItemType{
//
DEFAULT_ITEM_TYPE = 0;
//
GOODS_VALUE = 1;
//
VIDEO_VALUE = 2;
//
ARTICLE_VALUE = 3;
}
//
enum DetailListScene{
//评论区展开
REPLY = 0;
//回复消息推送
MSG_FEED = 1;
}
//
message SearchItemCursorReq{
//
int64 next = 1;
//
SearchItemType itemType = 2;
}
//
message SearchItemCursorReply{
//
bool hasNext = 1;
//
int64 next = 2;
}
//用户信息
message Member{
//UID
int64 mid = 1;
//昵称
string name = 2;
//性别
string sex = 3;
//头像url
string face = 4;
//等级
int64 level = 5;
//认证类型
int64 officialVerifyType = 6;
/****VIP相关****/
//会员类型
int64 vipType = 7;
//会员状态
int64 vipStatus = 8;
//会员样式
int64 vipThemeType = 9;
//会员铭牌样式url
string vipLabelPath = 10;
/****装扮相关****/
//头像框url
string garbPendantImage = 11;
//装扮卡url
string garbCardImage = 12;
//有关注按钮时的装扮卡url
string garbCardImageWithFocus = 13;
//专属装扮页面url
string garbCardJumpUrl = 14;
//专属装扮id
string garbCardNumber = 15;
//专属装扮id显示颜色
string garbCardFanColor = 16;
//是否为专属装扮卡
bool garbCardIsFan = 17;
/****粉丝勋章相关****/
//粉丝勋章名
string fansMedalName = 18;
//粉丝勋章等级
int64 fansMedalLevel = 19;
//粉丝勋章显示颜色
int64 fansMedalColor = 20;
}
//表情项
message Emote{
//表情大小
//1:小 2:大
int64 size = 1;
//表情url
string url = 2;
}
//话题项
message Topic{
//跳转url
string link = 1;
//话题id
int64 id = 2;
}
//超链项
message Url{
//标题
string title = 1;
//
int64 state = 2;
//图标url
string prefixIcon = 3;
//
string appUrlSchema = 4;
//
string appName = 5;
//
string appPackageName = 6;
//
string clickReport = 7;
}
//投票信息
message Vote{
//投票id
int64 id = 1;
//投票标题
string title = 2;
//参与人数
int64 count = 3;
}
//评论主体信息
message Content{
//评论文本
string message = 1;
//at到的用户信息
map<string,Member> menber = 2;
//需要渲染的表情转义
map<string,Emote> emote = 3;
//需要高亮的话题转义
map<string,Topic> topic = 4;
//需要高亮的超链转义
map<string,Url> url = 5;
//投票信息
Vote vote = 6;
}
//评论条目控制字段
message ReplyControl{
//操作行为标志
//0:无 1:已点赞 2:已点踩
int64 action = 1;
//是否UP觉得很赞
bool upLike = 2;
//是否存在UP回复
bool upReply = 3;
//是否显示关注按钮
bool showFollowBtn = 4;
//是否协管
bool isAssist = 5;
//评论标签?
string labelText = 6;
//是否关注
bool following = 7;
//是否粉丝
bool followed = 8;
//是否被自己拉黑
bool blocked = 9;
//是否存在折叠的二级评论
bool hasFoldedReply = 10;
//是否折叠
bool isFoldedReply = 11;
//是否UP置顶
bool isUpTop = 12;
//是否管理置顶
bool isAdminTop = 13;
//是否置顶投票评论
bool isVoteTop = 14;
//最大收起显示行数
int64 maxLine = 15;
//
bool invisible = 16;
}
//评论条目信息
message ReplyInfo{
//二级评论列表
repeated ReplyInfo replies = 1;
//评论rpid
int64 id = 2;
//评论区对象id
int64 oid = 3;
//评论区类型
int64 type = 4;
//发布者UID
int64 mid = 5;
//根评论rpid
int64 root = 6;
//父评论rpid
int64 parent = 7;
//对话评论rpid
int64 dialog = 8;
//点赞数
int64 like = 9;
//发布时间
int64 ctime = 10;
//回复数
int64 count = 11;
//评论主体信息
Content content = 12;
//发布者信息
Member member = 13;
//评论控制字段
ReplyControl replyControl = 14;
}
//评论区控制字段
message SubjectControl{
//UP主UID
int64 upMid = 1;
//自己是否为协管
bool isAssist = 2;
//是否只读
bool readOnly = 3;
//是否有发起投票权限
bool hasVoteAccess = 4;
//是否有发起抽奖权限
bool hasLotteryAccess = 5;
//是否有被折叠评论
bool hasFoldedReply = 6;
//空评论区背景文案
string bgText = 7;
//是否被UP拉黑
bool upBlocked = 8;
//是否有发起活动权限
bool hasActivityAccess = 9;
//标题展示控制
bool showTitle = 10;
//是否显示UP主操作标志
bool showUpAction = 11;
//是否显示评论区排序切换按钮
int64 switcherType = 12;
//是否禁止输入框
bool inputDisable = 13;
//根评论输入框背景文案
string rootText = 14;
//子评论输入框背景文案
string childText = 15;
//评论总数
int64 count = 16;
//评论区标题
string title = 17;
}
//
message Notice{
//
int64 id = 1;
//
string content = 2;
//
string link = 3;
}
//
message Lottery{
//
int64 lotteryId = 1;
//
int64 lotteryStatus = 2;
//
int64 lotteryMid = 3;
//
int64 lotteryTime = 4;
//
int64 oid = 5;
//
int64 type = 6;
//
int64 ctime = 7;
//
Content content = 8;
//
Member member = 9;
//
ReplyControl replyControl = 10;
}
//
message Activity{
//
int64 activityId = 1;
//
int64 activityState = 2;
//
string activityPlaceholder = 3;
}
//
message UpSelection{
//
int64 pendingCount = 1;
//
int64 ignoreCount = 2;
}
//
message CM{
//
google.protobuf.Any sourceContent = 1;
}
//
message ArticleSearchItem{
//
string title = 1;
//
string upNickname = 2;
//
repeated string covers = 3;
}
//
message GoodsSearchItem{
//
int64 id = 1;
//
string name = 2;
//
string price = 3;
//
string income = 4;
//
string img = 5;
//
string label = 6;
}
//
enum VideoItemCase{
//
VIDEOITEM_NOT_SET = 0;
//
UGC = 2;
//
PGC = 3;
}
//
message UGCVideoSearchItem{
//
string title = 1;
//
string upNickname = 2;
//
int64 duration = 3;
//
string cover = 4;
}
//
message PGCVideoSearchItem{
//
string title = 1;
//
string category = 2;
//
string cover = 3;
}
//
message VideoSearchItem{
//
VideoItemCase type = 1;
//
UGCVideoSearchItem UGCVideo = 2;
//
PGCVideoSearchItem PGCVideo = 3;
}
//
enum ItemCase{
//
ITEM_NOT_SET = 0;
//
GOODS = 2;
//
VIDEO = 3;
//
ARTICLE = 4;
}
//
message SearchItem{
//
string url = 1;
//
GoodsSearchItem goods = 2;
//
VideoSearchItem video = 3;
//
ArticleSearchItem article = 4;
}
//
message SearchItemReplyExtraInfo{
//
string eventId = 1;
}
//主评论列表
//请求
message MainListReq{
//目标评论区id
int64 oid = 1;
//评论区类型
int64 type = 2;
//页面游标
CursorReq cursor = 3;
//
string extra = 4;
//
string adExtra = 5;
//
int64 rpid = 6;
}
//回复
message MainListReply{
//页面游标
CursorReply cursor = 1;
//评论列表
repeated ReplyInfo replies = 2;
//评论区显示控制
SubjectControl subjectControl = 3;
//UP置顶评论
ReplyInfo upTop = 4;
//管理员置顶评论
ReplyInfo adminTop = 5;
//投票置顶评论
ReplyInfo voteTop = 6;
//
Notice notice = 7;
//抽奖评论
Lottery lottery = 8;
//
Activity activity = 9;
//
UpSelection upSelection = 10;
//
CM cm = 11;
}
//二级评论明细
//请求
message DetailListReq{
//目标评论区id
int64 oid = 1;
//评论区类型
int64 type = 2;
//根评论rpid
int64 root = 3;
//目标评论rpid
int64 rpid = 4;
//页面游标
CursorReq cursor = 5;
//来源标识
DetailListScene scene = 6;
}
//回复
message DetailListReply{
//页面游标
CursorReply cursor = 1;
//评论区显示控制
SubjectControl subjectControl = 2;
//根评论信息(带二级评论)
ReplyInfo root = 3;
//
Activity activity = 4;
}
//对话评论树
//请求
message DialogListReq{
//目标评论区id
int64 oid = 1;
//评论区类型
int64 type = 2;
//根评论rpid
int64 root = 3;
//目标评论rpid
int64 rpid = 4;
//页面游标
CursorReq cursor = 5;
}
//回复
message DialogListReply{
//页面游标
CursorReply cursor = 1;
//评论区显示控制
SubjectControl subjectControl = 2;
//评论树列表
repeated ReplyInfo replies = 3;
//
Activity activity = 4;
}
//搜索提示信息?
//请求
message SearchItemPreHookReq{
//目标评论区id
int64 oid = 1;
//评论区类型
int64 type = 2;
}
//回复
message SearchItemPreHookReply{
//
string placeholderText = 1;
//
string backgroundText = 2;
//
repeated SearchItemType orderedType = 3;
}
//搜索评论区插入项目
//请求
message SearchItemReq{
//页面游标
SearchItemCursorReq cursor = 1;
//目标评论区id
int64 oid = 2;
//评论区类型
int64 type = 3;
//搜索关键词
string keyword = 4;
}
//回复
message SearchItemReply{
//
SearchItemCursorReply cursor = 1;
//
repeated SearchItem items = 2;
//
SearchItemReplyExtraInfo extra = 3;
}