syntax = "proto3"; package bilibili.dynamic; import "bilibili/app/dynamic/v2/dynamic.proto"; // at分组信息 message AtGroup { // 分组类型 AtGroupType group_type = 1; // 分组名称 string group_name = 2; // items repeated AtItem items = 3; } // at分组类型 enum AtGroupType { AT_GROUP_TYPE_DEFAULT = 0; // 默认 AT_GROUP_TYPE_RECENT = 1; // 最近联系 AT_GROUP_TYPE_FOLLOW = 2; // 我的关注(互相关注 > 单向关注) AT_GROUP_TYPE_FANS = 3; // 我的粉丝 AT_GROUP_TYPE_OTHERS = 4; // 其他 } // at返回单条信息 message AtItem { // mid int64 uid = 1; // 昵称 string name = 2; // 头像 string face = 3; // 粉丝数 int32 fans = 4; // 认证信息 int32 official_verify_type = 5; } // at列表-请求 message AtListReq { // mid int64 uid = 1; } // at列表-响应 message AtListRsp { // 分组信息 repeated AtGroup groups = 1; } // at搜索-请求 message AtSearchReq { // mid int64 uid = 1; // 关键字 string keyword = 2; } // enum AttachCardType { ATTACH_CARD_NONE = 0; // 无 ATTACH_CARD_GOODS = 1; // 商品卡 ATTACH_CARD_VOTE = 2; // 投票卡 ATTACH_CARD_UGC = 3; // ugc视频卡 ATTACH_CARD_ACTIVITY = 4; // 帮推 ATTACH_CARD_OFFICIAL_ACTIVITY = 5; // 官方活动 ATTACH_CARD_TOPIC = 6; // 话题活动 ATTACH_CARD_OGV = 7; // OGV ATTACH_CARD_AUTO_OGV = 8; // OGV自动出卡 ATTACH_CARD_GAME = 9; // 游戏 ATTACH_CARD_MANGA = 10; // 漫画 ATTACH_CARD_DECORATION = 11; // 装扮 ATTACH_CARD_MATCH = 12; // 赛事 ATTACH_CARD_PUGV = 13; // 课程 ATTACH_CARD_RESERVE = 14; // 预约 ATTACH_CARD_UP_TOPIC = 15; // up主话题活动 } // message BottomBusiness { // 业务方资源id int64 rid = 1; // 业务方类型,定义在BottomBizType中 int64 type = 2; } // enum ContentType { CONTENT_TYPE_NONE = 0; // 占位 TEXT = 1; // 文本,简单内容,biz_id就是文本 AT = 2; // @用户,简单内容,biz_id是用户uid LOTTERY = 3; // 抽奖,简单内容,biz_id是抽奖id VOTE = 4; // 投票,简单内容,biz_id是投票id TOPIC = 5; // 话题,简单内容,biz_id是话题id GOODS = 6; // 商品文字链,复杂内容,定义在GoodsContent结构,biz_id为空 BV = 7; // bv,简单内容,biz_id是bvid,包括"BV1"等内容 AV = 8; // av,简单内容,biz_id是avid EMOJI = 9; // 表情,简单内容,biz_id为空 USER = 10; // 外露用户,暂未使用 CV = 11; // 专栏,简单内容,biz_id是cvid VC = 12; // 废弃业务,无用 WEB = 13; // 网址,简单内容,biz_id是网页链接 TAOBAO = 14; // 淘宝内容,暂时不用 MAIL = 15; // 邮箱,简单内容,biz_id是邮箱地址 OGV_SEASON = 16; // 番剧season,简单内容,biz_id是番剧的season_id OGV_EP = 17; // 番剧ep,简单内容,biz_id是番剧的epid } // message CreateActivity { // int64 activity_id = 1; // int32 activity_state = 2; // int32 is_new_activity = 3; // int32 action = 4; } // 动态附带的附加大卡 message CreateAttachCard { // 商品大卡 CreateGoodsCard goods = 1; // 通用附加大卡,目前仅限定Match,Game,Ugc,Pugv,Reserve,且同时只能有一个 CreateCommonAttachCard common_card = 2; } // 发布页预校验-响应 message CreateCheckResp { // 发布相关的配置项 PublishSetting setting = 1; // 用户具有的发布权限 UpPermission permission = 2; // 分享渠道信息 ShareChannel share_info = 3; // 小黄条 PublishYellowBar yellow_bar = 4; // PlusRedDot plus_red_dot = 5; } // 创建动态时附带的通用附加卡详情 message CreateCommonAttachCard { // 通用附加卡的类型 AttachCardType type = 1; // 通用附加卡的业务id int64 biz_id = 2; // int32 reserve_source = 3; // int32 reserve_lottery = 4; } // 动态-描述文字模块 message CreateContent { // 描述信息(已按高亮拆分) repeated CreateContentItem contents = 1; } // 文本描述 message CreateContentItem { // 原始文案 string raw_text = 1; // 类型 ContentType type = 2; // 简单内容,可能为文字,BVID,AVID,uid等;复杂内容需要单独定义结构体 string biz_id = 3; // 商品内容 GoodsContent goods = 4; } // message CreateDynVideo { // 投稿平台来源,具体写什么@产品 string relation_from = 1; // 1 — 投稿入口 + 相册选择视频 2 — 投稿入口 + 拍摄 3 — 小视频入口 + 相册选择视频 4 — 小视频入口 + 拍摄 int32 biz_from = 3; // 投稿类型: 2-转载、1-自制 int32 copyright = 4; // 是否公开投稿 0允许公开,1不允许公开 默认 0公开 int32 no_public = 5; // 是否允许转载字段 0允许,1不允许,默认为0 copyright = 1 自制的时候默认勾选上no_reprint=1 int32 no_reprint = 6; // 转载的时候必须填写,非空字符串 string source = 7; // 稿件封面必须填写,不能为空 封面不支持其他源站链接 请确保 cover 是 先经过上传接口 string cover = 8; // 稿件标题 string title = 9; // 稿件分区ID 必须是有效的二级分区ID int64 tid = 10; // 标签 多个标签请使用英文逗号连接 string tag = 11; // 稿件描述 string desc = 12; // 当前输入环境下有,就输入http://domain/x/app/archive/desc/format返回的desc_format值 // 如果返回null就输入默认为0, 表示当前环境(分区+投稿类型)不参与简介格式化 int64 desc_format_id = 13; // 稿件是否开启充电面板,1为是, 0为否 int32 open_elec = 14; // 定时发布的时间 int32 dtime = 15; // 分P聚合字段 repeated DynVideoMultiP videos = 16; // 水印信息 DynVideoWatermark watermark = 17; // 新增加通过tag来参加活动 int64 mission_id = 18; // 新增加可以添加动态内容 string dynamic = 19; // 序列化后的extend_info扩展信息 string dynamic_extension = 20; // 客户端控制字段 string dynamic_ctrl = 21; // 动态来源 string dynamic_from = 22; // 抽奖服务生成的ID int64 lottery_id = 23; // DynVideoVote vote = 24; // 精选评论开关, true为开 bool up_selection_reply = 25; // up主关闭评论 bool up_close_reply = 26; // up主关闭弹幕 bool up_close_danmu = 27; // 稿件投稿来源 int64 up_from = 28; // int64 duration = 29; } // 创建动态视频的应答包(透传给客户端) message CreateDynVideoResult { // 稿件id int64 aid = 1; // 说明信息 string message = 2; // 推荐的活动信息 DynVideoSubmitActBanner submitact_banner = 3; // DynVideoPushIntro push_intro = 4; } // 创建动态时附带的商品大卡详情 message CreateGoodsCard { // 商品大卡中的商品id repeated string item_id = 1; } // 发布页预校验场景 enum CreateInitCheckScene { CREATE_INIT_CHECK_SCENE_INVALID = 0; // CREATE_INIT_CHECK_SCENE_NORMAL = 1; // 动态页面右上角点击进入发布页 CREATE_INIT_CHECK_SCENE_REPOST = 2; // 动态feed流转发、三点分享,动态详情页转发 CREATE_INIT_CHECK_SCENE_SHARE = 3; // 其他页面分享到动态 CREATE_INIT_CHECK_SCENE_RESERVE_SHARE = 4; // } // 动态创建时的特殊选项 message CreateOption { // 评论区展示UP自己精选的评论 int32 up_choose_comment = 1; // 初始评论区是关闭状态 int32 close_comment = 2; // 该动态不会被折叠 // 目前仅抽奖开奖动态不会被折叠 int32 fold_exclude = 3; // 审核等级,仅服务端发布时有效 // 100:自动过审 // 非100:默认的内网审核 // 默认为0 int32 audit_level = 4; // 根据转发内容同步生成一条源动态/资源的评论 // 仅转发和分享时有效 int32 sync_to_comment = 5; // VideoShareInfo video_share_info = 6; // CreateActivity activity = 7; } // 创建图文动态时的图片信息 message CreatePic { // 上传图片URL string img_src = 1; // 图片宽度 double img_width = 2; // 图片高度 double img_height = 3; // 图片大小,单位KB double img_size = 4; // repeated CreatePicTag img_tags = 5; } // message CreatePicTag { // int64 item_id = 1; // int64 tid = 2; // int64 mid = 3; // string text = 4; // string text_string = 5; // int64 type = 6; // int64 source_type = 7; // string url = 8; // string schema_url = 9; // string jump_url = 10; // int64 orientation = 11; // int64 x = 12; // int64 y = 13; // string poi = 14; } // 创建动态-响应 message CreateResp { // 动态id int64 dyn_id = 1; // 动态id str string dyn_id_str = 2; // 动态的类型 int64 dyn_type = 3; // 动态id int64 dyn_rid = 4; // 假卡 bilibili.app.dynamic.v2.DynamicItem fake_card = 5; // 视频 CreateDynVideoResult video_result = 6; } // 发布类型(场景) enum CreateScene { CREATE_SCENE_INVALID = 0; // CREATE_SCENE_CREATE_WORD = 1; // 发布纯文字动态 CREATE_SCENE_CREATE_DRAW = 2; // 发布图文动态 CREATE_SCENE_CREATE_DYN_VIDEO = 3; // 发布动态视频 CREATE_SCENE_REPOST = 4; // 转发动态 CREATE_SCENE_SHARE_BIZ = 5; // 分享业务方资源 CREATE_SCENE_SHARE_PAGE = 6; // 分享网页(通用模板) CREATE_SCENE_SHARE_PROGRAM = 7; // 分享小程序 CREATE_SCENE_REPLY_SYNC = 8; // 评论同步到动态 CREATE_SCENE_REPLY_CREATE_ACTIVITY = 9; // 评论同步到动态并且发起活动 } // 动态附带的小卡 message CreateTag { // lbs小卡 ExtLbs lbs = 1; // 游戏通过SDK发布的动态需要带上游戏小卡 BottomBusiness sdk_game = 2; // 必剪发布的动态需要带上必剪小卡 BottomBusiness diversion = 3; } // message CreateTopic { // int64 id = 1; // string name = 2; } // 动态的标识 message DynIdentity { // 动态id int64 dyn_id = 1; // 动态反向id,通过(type+rid组合)也可以唯一标识一个动态,与dyn_id出现任意一个即可 DynRevsId revs_id = 2; } // message DynRevsId { // 动态类型 int64 dyn_type = 1; // 业务id int64 rid = 2; } // 动态视频分P视频编辑环境上报信息 message DynVideoEditor { // int64 cid = 1; // int32 upfrom = 2; // 滤镜 string filters = 3; // 字体 string fonts = 4; // 字幕 string subtitles = 5; // bgm string bgms = 6; // 3d拍摄贴纸 string stickers = 7; // 2d投稿贴纸 string videoup_stickers = 8; // 视频转场特效 string trans = 9; // 编辑器的主题使用相关 string makeups = 10; // 整容之外科手术 string surgerys = 11; // 美摄特定的videofx string videofxs = 12; // 编辑器的主题使用相关 string themes = 13; // 拍摄之稿件合拍 string cooperates = 14; // 拍摄之音乐卡点视频 string rhythms = 15; // mvp特效 string effects = 16; // mvp背景 string backgrounds = 17; // mvp视频 string videos = 18; // mvp音效 string sounds = 19; // mvp花字 string flowers = 20; // mvp封面模板 string cover_templates = 21; // tts string tts = 22; // openings string openings = 23; // 录音题词 bool record_text = 24; // 虚拟形象上报 string vupers = 25; // string features = 26; // string bcut_features = 27; // int32 audio_record = 28; // int32 camera = 29; // int32 speed = 30; // int32 camera_rotate = 31; // int32 screen_record = 32; // int32 default_end = 33; // int32 duration = 34; // int32 pic_count = 35; // int32 video_count = 36; // int32 shot_duration = 37; // string shot_game = 38; // bool highlight = 39; // int32 highlight_cnt = 40; // int32 pip_count = 41; } // message DynVideoHotAct { // int64 act_id = 1; // int64 etime = 2; // int64 id = 3; // string pic = 4; // int64 stime = 5; // string title = 6; // string link = 7; } // 动态视频分P聚合字段 message DynVideoMultiP { // 分P标题 string title = 1; // 分P的文件名 string filename = 2; // int64 cid = 3; // 编辑环境上报信息 DynVideoEditor editor = 4; } // message DynVideoPushIntro { // int32 show = 1; // string text = 2; } // message DynVideoSubmitActBanner { // string hotact_text = 1; // string hotact_url = 2; // repeated DynVideoHotAct list = 3; } // message DynVideoVote { // int64 vote_id = 1; // string vote_title = 2; // int32 top_for_reply = 3; } // 动态视频水印信息 message DynVideoWatermark { // 水印状态 // 0-关闭 1-打开 2-预览 int32 state = 1; // 类型 // 1-用户昵称类型 2-用户id类型 3-用户名在logo下面 int32 type = 2; // 位置 // 1-左上 2-右上 3-左下 4-右下 int32 position = 3; } // message ExtLbs { // string address = 1; // int64 distance = 2; // int64 type = 3; // string poi = 4; // LbsLoc location = 5; // string show_title = 6; // string title = 7; // string show_distance = 8; } // 根据name取uid-请求 message GetUidByNameReq { // 查询昵称列表 repeated string names = 1; } // 根据name取uid-响应 message GetUidByNameRsp { // k:昵称 v:mid map uids = 1; } // 发布时附带的商品卡的详细内容 message GoodsContent { // 商品类型 // 1淘宝、2会员购 int32 source_type = 1; // 商品的id int64 item_id = 2; // 店铺的id,兼容老版本 int64 shop_id = 3; } // UP已经创建的活动列表 message LaunchedActivity { // 模块名称,示例:"已创建的活动" string module_title = 1; // 已创建的活动列表 repeated LaunchedActivityItem activities = 2; // 展示更多按钮 // 已创建活动大于5个时下发 ShowMoreLaunchedActivity show_more = 3; } // UP已经创建的活动详情 message LaunchedActivityItem { // 活动id int64 activity_id = 1; // 活动名称 string activity_name = 2; // 活动是否已上线 // 0未上线 1已上线 int32 activity_state = 3; } // message LbsLoc { // 经度 double lat = 1; // 纬度 double lng = 2; } // message MetaDataCtrl { // 客户端平台 string platform = 1; // 客户端build号 string build = 2; // 客户端移动设备类型 string mobi_app = 3; // 客户端buvid string buvid = 4; // 用户设备信息 string device = 5; // 请求来源页面的spmid string from_spmid = 6; // 请求来源页面 string from = 7; // 请求的trace_id string trace_id = 8; // 青少年模式 int32 teenager_mode = 9; // 0:正常 1:冷启动 int32 cold_start = 10; // 客户端版本号 string version = 11; // 网络状态 // Unknown=0 WIFI=1 WWAN=2 int32 network = 12; // 用户ip地址 string ip = 13; } // message PlusRedDot { // int64 plus_has_red_dot = 1; } // 小程序内容定义 message Program { // 标题 string title = 1; // 描述文字 string desc = 2; // 封面图 string cover = 3; // 跳转链接 string target_url = 4; // 小程序icon string icon = 5; // 小程序名称 string program_text = 6; // 跳转链接文案,如:去看看 string jump_text = 7; } // 发布相关的设置项 message PublishSetting { // 提示转为专栏的最小字数,使用utf-16编码计算字符数 int32 min_words_to_article = 1; // 提示转为专栏的最大字数,使用utf-16编码计算字符数 int32 max_words_to_article = 2; // gif上传的最大值,单位:MB int32 upload_size = 3; } // 发布页小黄条 message PublishYellowBar { // 展示文案 string text = 1; // 跳转链接 string url = 2; // 展示图标 string icon = 3; } // message RepostInitCheck { // DynIdentity repost_src = 1; // string share_id = 2; // int32 share_mode = 3; } // enum ReserveSource { RESERVE_SOURCE_NEW = 0; // RESERVE_SOURCE_ASSOCIATED = 1; // } // 分享渠道信息 message ShareChannel { // 业务类型,如动态是"dynamic" string share_origin = 1; // 业务资源id string oid = 2; // 辅助id, 非必返回字段 string sid = 3; // 渠道列表 repeated ShareChannelItem share_channels = 4; } // 渠道 message ShareChannelItem { // 展示文案 string name = 1; // 展示图标 string picture = 2; // 渠道名称 string share_channel = 3; // 预约卡分享图信息,仅分享有预约信息的动态时存在 ShareReserve reserve = 4; } // message ShareReserve { // 标题 string title = 1; // 描述(时间+类型) string desc = 2; // 二维码附带icon string qr_code_icon = 3; // 二维码附带文本 string qr_code_text = 4; // 二维码链接 string qr_code_url = 5; // string name = 6; // string face = 7; // ShareReservePoster poster = 8; // ShareReserveLottery reserve_lottery = 9; } // message ShareReserveLottery { // string icon = 1; // string text = 2; } // message ShareReservePoster { // string url = 1; // double width = 2; // double height = 3; } // message ShareResult { // int64 share_enable = 1; // string toast = 2; } // UP已经创建的活动列表中的展示更多按钮详情 message ShowMoreLaunchedActivity { // 按钮的文案 string button_text = 1; // 按钮的跳转链接 string jump_url = 2; } // 通用模板的网页元内容(sketch结构)定义 message Sketch { // 元内容标题,长度30限制 string title = 1; // 描述文字(文本内容第二行),长度233限制 string desc_text = 2; // 文本文字(文本内容第三行),仅限竖图通用卡片使用,长度233限制 string text = 3; // 表示业务方的id表示,对于在业务方有唯一标示的必填 int64 biz_id = 4; // 业务类型,与展示时的右上角标有关,需要业务方向动态申请 int64 biz_type = 5; // 封面图片链接地址,域名需要符合白名单 string cover_url = 6; // 跳转链接地址,域名需要符合白名单 string target_url = 7; } // 发布相关的权限内容 message UpPermission { // 通用权限列表 repeated UpPermissionItem items = 1; // 已经创建的活动列表 LaunchedActivity launched_activity = 2; // ShareResult share_result = 3; } // 通用发布权限内容的详细定义 message UpPermissionItem { // 类型,enum UpPermissionType int32 type = 1; // UP是否有权限 // 1-有,2-限制(展示但不可点,仅预约使用) int32 permission = 2; // 按钮文案 string title = 3; // 功能开关的副标题 string subtitle = 4; // 按钮图标的url地址 string icon = 5; // 跳转链接,permission=1时点击按钮跳到此链接 string jump_url = 6; // 错误提示,permission=2时点击按钮会弹出此提示,目前仅预约使用 string toast = 7; // int64 has_red_dot = 8; } // enum UpPermissionType { UP_PERMISSION_TYPE_NONE = 0; // 占位 UP_PERMISSION_TYPE_LOTTERY = 1; // 是否是抽奖的灰度用户,默认不是 UP_PERMISSION_TYPE_CLIP_PUBLISHED = 2; // 之前是否发过小视频,默认没发过 UP_PERMISSION_TYPE_UGC_ATTACH_CARD = 3; // 是否可以添加ugc附加卡,默认不可以 UP_PERMISSION_TYPE_GOODS_ATTACH_CARD = 4; // 是否有权限添加商品附加卡 UP_PERMISSION_TYPE_CHOOSE_COMMENT = 5; // 是否有权限自主精选评论白名单,默认没有 UP_PERMISSION_TYPE_CONTROL_COMMENT = 6; // 是否有权限关闭评论区,默认有 UP_PERMISSION_TYPE_CONTROL_DANMU = 7; // 是否有权限关闭弹幕(仅对动态视频生效),默认有 UP_PERMISSION_TYPE_VIDEO_RESERVE = 8; // 是否可以发起稿件预约 UP_PERMISSION_TYPE_LIVE_RESERVE = 9; // 是否可以发起直播预约 } // 用户主动发布(app/web发布)时的meta信息 message UserCreateMeta { // 用户发布客户端的meta信息 MetaDataCtrl app_meta = 1; // 用户发布时的位置信息(经纬度) LbsLoc loc = 2; // 1-发布页转发 2-立即转发 int32 repost_mode = 3; } // message VideoShareInfo { // int64 cid = 1; // int32 part = 2; }