syntax = "proto2";

package ActivityResult;

//option optimize_for = LITE_RUNTIME;
import "MedalResult.proto";

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "ActivityResult";

//每日重置触发器
message DailyReset {
  optional string test = 1;
  //如果有需要要加，后续加
}

message TaskList {
  repeated TaskVo tasks = 1; //每日任务数据
}

//任务数据
message TaskVo {
  optional string taskId = 1; //任务ID
  optional int32 reachNum = 2; //条件已完成数量(==-1的时候代表已领取奖励)
  optional int32 drawDays = 3; //每日任务累计领取天数
  optional string tips = 4; // 通配提示
  optional string preposition = 5; // 前置任务s
  optional int32 joinNum = 6;// 参与人数
}

// 任务列表
message MyTaskList {
  repeated TaskVo acceptVos = 1; //已接任务
  repeated TaskVo noAcceptVos = 2; //未接任务
}


// 宠物任务列表
message PetTaskList {
  repeated TaskVo daily = 1; //日常任务
  repeated TaskVo family = 2; //家族日常任务
  repeated TaskVo growth = 3; //成长任务
  repeated TaskVo achievement = 4; //成就任务
}

// 宠物任务完成广播
message PetTaskBroadcast {
  optional int32 daily = 1; //日常任务
  optional int32 family = 2; //家族日常任务
  optional int32 growth = 3; //成长任务
  optional int32 achievement = 4; //成就任务
}

// 直播任务完成未领取数量，广播通用
message LiveTaskFinishedNum {
  optional int32 finishedNum = 1; // 任务完成未领取数量
}

//抽奖数据
message LuckDrawData {
  optional int64 luckDrawTime = 1; //抽奖倒计时(秒)
  optional int32 luckDrawCount = 2; //可抽奖次数
  repeated WinnerInfo winners = 3; //中奖名单
}

message WinnerInfo {
  optional string userId = 1; //用户ID
  optional string nickName = 2; //昵称
  optional string id = 3; //奖品ID
}

//签到宠物活动,已经签到过的数据
message S2CSignPetSTActivity {
  repeated int32 numOfDays = 1;
}

//抽奖结果数据
message LuckDrawResult {
  optional string rewardId = 1; //奖励ID
  optional string id = 2; //中奖数据ID凭据
  optional string item = 3; //奖品ID
  repeated string selectItem = 4; //可选择的奖品
  repeated string rewarParam = 5; //奖品参数
}

// 元宝任务列表
message IngotsTaskList {
  repeated TaskVo new = 1; // 新手任务
  repeated TaskVo elite = 2; // 精英任务
  repeated TaskVo archievement = 3; // 成就任务
}

// 充值礼包信息
message RechargePackageInfo {
  optional string nextRechargePackageId = 1; // 下个大礼包id，默认为1（6元大礼包）
  optional bool isPop = 2; //是否弹窗提示 true 是 false 否
}
// 活动实时广播
message ActivityInTimeBroadcat {
  optional string userId = 1; //用户Id
  optional int32 medalId = 2; //勋章id(默认为0,即没有勋章)
  optional int64 medalOverTime = 3; //勋章过期时间(默认为0,即没有勋章)
  repeated MedalResult.MedalInfo medals = 4; //勋章列表（以适应多勋章的情况）
}
//活动获取奖品的通告
message ActivityAwardNotifyBroadcast {
  optional string userId = 1; //用户Id
  optional string userName = 2; //用户昵称
  optional string scene = 3; //场景(POND:池塘,SEA:海边)
  optional int32 playType = 4; //玩法（1:基础玩法,2:加倍玩法,3:保底玩法,4:幸运值玩法）
  optional ActivityAward award = 5; //奖励
  optional int32 notifyScene = 6; // 通知场景（1:房间顶部,2:聊天公屏,3:全部）
  optional int32 notifyType = 7; // 通知类型（1:全服,2:房间）
  optional int32 doubleCount = 8; //加倍倍数
  optional string notifyText = 9; //通知文案(默认为空字串)
  optional string bgImg = 10; //背景图片(默认为空字串)
  optional string animation = 11; //动画资源(默认为空字串)
  optional bool isWarriorCloak = 12;// 是否开启勇者斗篷
  optional string roomId = 13;// 房间id
  optional string activityId = 14; // 活动id
  optional string notifyTextI18n = 15; //通知文案I18n(默认为空字串)
}
//活动奖励
message ActivityAward {
  optional string giftId = 1;
  optional string giftName = 2;
  optional int32 count = 3; //数量ActivityNotifyBroadcast
  optional int32 worth = 4; //价值（钻石）
  optional int32 price = 5 ; // 产出礼物单价
}

//520活动告白玩法及本剩余人告白次数
message WordsTypes {
  optional int32 chances = 1; //本人剩余告白次数
  repeated WordsType wordsType = 2;
  optional string defaultGiftId = 3; //默认礼物id
}

//520活动告白玩法
message WordsType {
  optional string id = 1; //告白玩法id
  optional int32 cost = 2; //对应告白消耗的次数
  optional string desc = 3; //描述
}

//520活动最热情话vo
message HottestWords {
  optional string userId = 1; //表白者
  optional string avatar = 2; //表白者头像
  optional string nickName = 3; //表白者昵称
  optional string recvUserId = 4; //被表白者id
  optional string recvAvatar = 5; //被表白者头像
  optional string recvNickName = 6; //被表白者昵称
  optional string words = 7; //表白内容
  optional int64 sendTime = 8; //发送时间
  optional int32 validTime = 9; //有效时间至
  optional string type = 10; //告白类型
  optional int32 playType = 11; //展示方式
  optional string resourceName = 12; //资源名称
  optional string inRoomId = 13; //所在房间id
}
//520活动最热情话vo
message HottestInfos {
  optional HottestWords hot = 1; //最热
  repeated HottestWords list = 2; //轮播列表
}

// 特权礼物信息
message PrerogativeInfo {
  optional int32 drawTicketCount = 1; // 抽奖券次数
  optional int32 type = 2; // 特权类型，1-首次，2-普通
  repeated PrerogativeVo list = 3; // 特权展示信息
}

// 特权展示信息
message PrerogativeVo {
  optional string id = 1; // 特权id
  optional string url = 2; // 特权图片
  optional bool isGray = 3; // 是否置灰（已领取）
  optional bool isInfallible = 4;// 是否必中
  optional bool isLocked = 5; // 是否锁定
  optional string titel = 6;// 标题
  optional string subhead = 7;// 副标题
}

// 抽中特权礼物
message MatchPrerogative {
  optional string id = 1; // 抽中
  optional int32 type = 2; // 特权类型，1-首次，2-普通
  optional string desc = 3; // 中奖说明
  optional string infallibleTargetId = 4; // 必中券指定目标
  optional string lockTargetIds = 5; // 锁定券指定目标
  optional bool hadExtraTicket = 6;// 有额外抽奖券
  optional string extraTicketDesc = 7;// 额外抽奖券说明
  optional string url = 8; // 特权图片
}

// 领取宝箱结果
message OpenBoxResult {
  optional string awardId = 1; //奖品id
  optional int32 awardNum = 2; //奖品数量
  optional int32 playType = 3; //前端播放类型(图片,flash等)
  optional string resourceName = 4; //资源名称
  optional int32 awardType = 5; //奖品类型
  optional string desc = 6; //描述
  optional string userId = 7; //获奖用户id
  optional string nickName = 8; //获奖用户昵称
  optional string avatar = 9; //获奖用户头像
}

// 特权中奖记录列表
message PrerogativeWinList {
  repeated PrerogativeWinVo list = 1;
}

// 特权中奖记录
message PrerogativeWinVo {
  optional string nickName = 1;// 用户昵称
  optional string desc = 2;// 中奖说明
}

// 年度盛典千里传音广播
message AnnualCeremonyHornVo {
  optional string userId = 1; // 用户ID
  optional string nickName = 2; // 用户昵称
  optional string content = 3; // 广播内容
  optional string roomId = 4; // 所在的房间ID
}

// 房间穿云箭掉落的宝箱信息
message RoomACRocketBoxInfoVo {
  optional int32 boxNum = 1; // 当前房间剩余宝箱数目
  optional int32 overTime = 2; // 当前房间的当前宝箱剩余时间
  optional bool isOpen = 3; // 当前用户是否已经打开过当前宝箱
  optional string boxId = 4; // 当前房间的宝箱ID
  optional string recipientId = 5; // 收到此穿云箭的主播ID
}

// 年度盛典千里传音的信息
message AnnualCeremonyHornInfoVo {
  optional string itemId = 1; // 道具Id
  optional int32 price = 2; // 价格
  optional string name = 3; // 名称
}

// 喇叭礼物广播
message HornBroadcast {
  optional string userId = 1; // 用户ID
  optional string nickName = 2; // 用户昵称
  optional string content = 3; // 广播内容
  optional string roomId = 4; // 所在的房间ID
  optional string giftId = 5;// 礼物id
  optional int32 giftType = 6;// 礼物类型(EAward)
  optional string unionId = 7;// 房间所在公会ID
  optional string userImage = 8;// 用户虚拟头像
  optional int32 showScope = 9; //0-全房显示，1-全服显示

}

// 活动商城礼物列表
message ActivityShopGiftList {
  repeated ActivityShopGiftInfo list = 1; // 列表
}

// 活动商城礼物信息
message ActivityShopGiftInfo {
  optional string itemId = 1;// 商城id
  optional string giftId = 2;// 礼物id
  optional string giftName = 3;// 礼物名称
  optional int32 giftPrice = 4;// 礼物价格
  optional int32 type = 5;// 类型,(2-座驾;5-千里传音;7-喇叭;9-头像框)
  optional string image = 6;// 图标
  optional int32 dailyLimitNum = 7;// 每日限购数量
  optional int32 surplusLimitNum = 8;// 剩余可购数量
  optional string desc = 9;// 描述
}

// 购买商城礼物
message BuyActivityShopSuccessInfo {
  optional ActivityShopGiftInfo info = 1;// 礼物信息
  optional int32 buyNum = 2;// 购买数量
  optional string otherGiftId = 3;// 额外礼物Id
  optional string otherGiftName = 4;// 额外礼物名称
  optional string otherImage = 5;// 额外礼物图标
  optional int32 otherNum = 6;// 额外礼物数量
}

// 活动结果通知
message ActivityEndResultList {
  optional string activityType = 1;// 活动类型
  optional string title = 2;// 标题
  repeated ActivityEndResult list = 3; // 列表
}

// 活动结果通知
message ActivityEndResult {
  optional string content = 1;// 广播内容
  optional string id = 2;// 用户id/公会id/房间id
  optional string avatar = 3;// 头像
  optional string nickName = 4;// 昵称
  optional string h5Url = 5;//活动页跳转地址
  optional int64 score = 6;// 分数
  optional int32 rank = 7;// 排名
  optional string unit = 8;// 单位
}

// 活动通用通告广播
message ActivityNotifyBroadcast {
  optional string userId = 1; //用户Id
  optional int32 notifyScene = 2; // 通知场景（1:房间顶部,2:聊天公屏,3:全部）
  optional string notifyText = 3; //通知文案(默认为空字串)
  optional string bgImg = 4; //背景图片(默认为空字串)
  optional string animation = 5; //动画资源(默认为空字串)
  optional string activityId = 6; // 活动id，凤凰活动：A75
  repeated string params = 7; // 参数
  repeated string colors = 8; // 参数文案的字体颜色
  optional string androidBgImg = 9; // 安卓背景图
  repeated int32 padding = 10; // 边距：上，右，下，左，空数组则不需要特殊处理
  optional int64 price = 11; // 产出礼物价值
  repeated int32 iosRect = 12; // ios图片拉伸位置配置，用于不规则气泡的配置（边距：上，右，下，左，空数组则不需要特殊处理）
  optional string emuBgImg = 13; //模拟器气泡资源图片(默认为空字串)
  optional string roomId = 14;// 房间id
  optional bool isWarriorCloak = 15;// 是否开启勇者斗篷
  optional bool notCheckHideBubble = 16;// 不勾选隐藏气泡
  optional string templateId = 17; // 模板id
  optional string bgImgCoordinate = 18; // 横幅背景图片坐标（pc用）,空则不需要特殊处理，格式： 12,20
  optional string notifyTextCoordinate = 19; // 横幅文字坐标（pc用），空则不需要特殊处理，格式： 12,20
  optional string bgImgWidthAndHigh = 20; // 横幅宽高，空则不需要特殊处理，格式： 12,20
  optional int32 jumpType = 21;// 跳转类型，默认不跳-0/h5半屏-1/h5全屏-2，后续添加
  optional string jumpParam = 22;// 跳转参数，地址/参数等
  optional string jumpImg = 23;// 跳转按钮图片
  optional string jumpImgWidthAndHigh = 24;// 跳转按钮宽高，格式：12,10
  repeated ActivityNotifyParam newParams = 25; // 新参数
  optional string paramsI18n = 26; // 参数
  optional string notifyTextI18n = 27; //通知文案(默认为空字串)
  optional int32 funLevelLimit = 28;// 财富等级限制 低于此等级不跳转
}

message ActivityNotifyParam {
  optional int32 type = 1; // 参数类型 1、文本  2、 图片
  optional string value = 2; // 参数值
  optional int32 imgWidth = 3; // 图片宽
  optional int32 imgHeight = 4; // 图片高
}

// 首页弹出框
message PopupBox {
  optional string url = 1;// 弹出框关联链接
}

// 首页弹出框
message PopupBoxs {
  repeated string urls = 1;// 弹出框关联链接
}

// 超级签弹窗
message SuperSignPopupBox{
  optional string userId = 1; // 用户id
  optional int32 funLevel = 2; // 财富等级
  optional string funLevelName = 3; // 财富等级名称
  optional string h5Url = 4; // h5跳转地址
}

// 甜蜜大作战活动加倍剩余时间广播
message SweetBattleDoubleInfoBroadcast {
  optional int32 doubleRemainSecond = 1;// 加倍剩余时间（s），0代表结束
  optional string h5url = 2;// h5跳转地址
  optional bool trigger = 3;// 触发特效
}

// 活动福袋加倍玩法提示广播
message LuckyBagDoubleTipsBroadcast {
  optional int32 doubleRemainSecond = 1;// 加倍剩余时间（s），0代表结束
  optional string h5url = 2;// h5跳转地址
  optional string actId = 3;// 活动id
  optional string showClock = 4;// 展示倒计时资源
  optional string pcShowClock = 5;// pc展示倒计时资源
}

//活动banner角标提示
message BannerTip {
  optional int32 id = 1;//bannerId
  optional int32 tipNum = 2; //通知角标数字
}

//活动banner角标提示列表
message BannerTipList {
  repeated BannerTip list = 1; //banner 列表， 有通知的才存在
}

// 用户基础信息
message UserBaseInfo {
  optional string userId = 1; //用户id
  optional string avatar = 2; //用户头像
  optional string nickName = 3; //用户昵称
}

// 神龙殿榜首通知
message DragonTempleRankBroadcast {
  optional UserBaseInfo userInfo = 1;// 榜首用户信息
  optional int64 score = 2;// 榜首用户分值
  optional UserBaseInfo subUserInfo = 3;// 首席用户信息
  optional int64 subScore = 4;// 首席用户分值
  optional int64 differ = 5;// 晋级相差分数
  optional int32 remainSecond = 6;// 倒计时
  optional string url = 7;// 跳转说明地址
}

// 神龙尊者通知
message DragonResultBroadcast {
  optional UserBaseInfo userInfo = 1;// 榜首用户信息
  optional int64 dragonScore = 2;// 奖励神龙祝福
  optional int32 liveType = 3;// 房间类型，1-视频房，2-语音房，根据类型展示房间框/头像框
  optional UserBaseInfo subUserInfo = 4;//首席用户信息
  repeated UserBaseInfo userList = 5;// 幸运神龙用户列表
  optional bool hadAward = 6;// 是否有其他奖励
}

// 福袋的气泡详情
message LuckyBagBubbleDetail {
  optional string padding = 1; // padding
  optional string iosRect = 2; // iosRect
  optional string bgImg = 3; // 背景图片
  optional string activityId = 4; // 关联的活动id
  optional string bigPadding = 5; // 高级气泡padding
  optional string bigIosRect = 6; // 高级气泡iosRect
  optional string bigBgImg = 7; // 高级气泡背景图片
}

// 神龙殿参与通知
message DragonTempleJoinBroadcast {
  optional string url = 1;// 跳转说明地址
}

// 神龙召唤时段榜首通知
message DragonRankTopOneBroadcast {
  optional int32 remainSecond = 1;// 倒计时
  optional int64 differ = 2;// 领先第二名分差
  optional bool isTopOne = 3;// 是否时段第一，false-代表被超越，3s后关闭
  optional string url = 4;// 跳转说明地址
}

message TaskRemindInfo {
  optional string activityUrl = 1; // 活动页url
  optional int32 finishCount = 2; // 已完成任务数
  optional int32 unFinishCount = 3; // 未完成任务数
  optional int32 starDiamondCount = 4; // 可获得星钻数
}

// 房间浮标信息
message RoomBuoyInfo {
  optional string roomId = 1;// 房间id
  optional string currTargetId = 2;// 当前目标id
  optional int64 leftTime = 3;// 倒计时(毫秒)
  optional int32 targetNum = 4;// 目标个数
  optional string activityId = 5;// 活动id
  optional int32 periodIndex = 6;// 活动期数
  optional string resource = 7; // 资源（暂未使用）
  optional string jumpUrl = 8;// 跳转地址
  optional string userId = 9;// 触发用户id
  optional string userName = 10;// 触发用户名
  optional string userIcon = 11;// 触发者头像
}

// 活动开奖结果-公屏广播
message ActivityAwardResultBroadcast {
  optional string activityId = 1;// 活动id
  optional int32 periodIndex = 2;// 活动期数
  optional string targetId = 3;// 目标id
  optional string userId = 4;// 触发用户id
  optional string userName = 5;// 触发用户名
  optional string awardId = 6;// 奖励id（为空代表没有中奖）
  optional string userIcon = 7;// 触发者头像
}

// 活动开奖结果信息
message ActivityAwardResultInfo {
  optional string activityId = 1;// 活动id
  optional int32 periodIndex = 2;// 活动期数
  optional string targetId = 3;// 目标id
  optional string awardId = 4;// 奖励id
  optional string awardImage = 5;// 奖励图片
  optional string awardDesc = 6;// 奖励文案
  optional string userId = 7;// 触发用户id
  optional string userName = 8;// 触发用户名
  repeated ActivityRankInfo rankList = 9;// 中奖用户榜
  optional string userIcon = 10;// 触发者头像
}

// 活动排行榜（通用）
message ActivityRankInfo {
  optional string memberId = 1;// 榜单成员id
  optional string memberName = 2;// 榜单成员名字
  optional string memberIcon = 3;// 榜单成员头像
  optional int64 score = 4;// 分数
  optional int32 rank = 5;// 排名
}

// 粉丝团勋章修改 - 通知
message FansIconInfo{
  // icon类型 0-未加入; 1-未佩戴勋章; 2-已佩戴勋章
  optional int32 iconType = 1 ;
  // 勋章名称
  optional string medalName = 2 ;
  // 勋章Icon - 右边
  optional string medalIcon = 3 ;
  // 粉丝团等级
  optional int32 medalLevel = 4 ;
  // 勋章Icon - 左边
  optional string anchorMedalIcon = 5 ;
  // 是否为定制勋章
  optional bool isCustomMedal = 6 ;
  // 类型： 1.等级变更  2.勋章修改
  optional int32 type = 7 ;
  // 勋章Icon - 右边(新尺寸)
  optional string medalIcon2 = 8 ;
  // 勋章Icon - 左边(新尺寸)
  optional string anchorMedalIcon2 = 9 ;
  // 定制勋章
  optional string customMedalIcon = 10 ;
}

// 主播连麦， 宝箱信息
message ConnectMicBoxInfo {
  optional ConnectMicBoxUserInfo inviter = 1; // 邀请者信息
  optional ConnectMicBoxUserInfo invitee = 2; // 被邀请者信息
  optional int32 leftTime = 3; // 当前阶段剩余时间， 毫秒
  repeated ConnectMicBoxItemInfo boxList = 4; // 宝箱列表
  optional int32 connectMicLeftTime = 5; // 距离连麦结束的时间差， 毫秒
  optional bool showBoxProcess = 6; // 是否显示宝箱进度
  optional string otherSideRoomId = 7; // 对方的房间id
  optional int32 voiceStatus = 8; // 对方声音源状态，0-关闭声音源 1-开启声音源
}

// 主播连麦， 用户信息
message ConnectMicBoxUserInfo {
  optional string userId = 1; // 用户id
  optional string headUrl = 2; // 用户头像
  optional int32 userDiamond = 3; // 用户的蓝钻数
}

// 主播连麦， 宝箱进度状态信息
message ConnectMicBoxItemInfo {
  optional int32 boxId = 1; // 宝箱id
  optional int32 boxDiamond = 2; // 宝箱所需的蓝钻数
  optional int32 boxStatus = 3; // 宝箱状态， 0-不可领取， 1-待领取， 2-已领取
}

// 主播连麦， 宝箱打开返回结果
message ConnectMicOpenBoxResult {
  optional string awardId = 1; // 奖励id
  optional string awardName = 2; // 奖励名称
}

// 停留时长广播消息体
message ActivityHoldingTimeNotify {
  optional ActivityNotifyBroadcast notifyInfo = 1;// 广播消息
  optional int32 surplusSeconds = 2;// 剩余展示时长，单位秒
  optional string headUrl = 3; // 展示头像
}

// 停留时长横幅广播
message ActivityHoldingTimeNotifyBroadcast {
  repeated ActivityHoldingTimeNotify notifies = 1;// 广播列表
}



//巨星主播星值广播
message SuperStarbroadcast {
  optional int64 star = 1  ;
  optional int32 starLevel = 2; //星级等级
}

// 庆典之约燃点
message CelebrationBurnResult {
  // 当前庆典燃点
  optional int64 burn = 1;
  // 庆典结束时间
  optional int64 expireTime = 2;
  // 燃点列表
  repeated CelebrationBurnInfo burnInfo = 3;
  // 庆典活动h5链接
  optional string activityUrl = 4;
  // 庆典活动礼物id
  repeated string giftId = 5;
}

message CelebrationBurnInfo {
  // 燃点进度序号
  optional int64 burnNum = 1;
  // 当前阶段燃点阈值
  optional int64 burnLimit = 2;
  // 礼物状态：0-不可领取， 1-待领取， 2-已领取
  optional int32 itemStatus = 3;
}

// 庆典之约燃点广播
message CelebrationBurnBroadcast {
  // 当前庆典燃点
  optional int64 burn = 1;
  // 燃点进度变化,对应燃点序号
  repeated int32 burnStatus = 2;
}

message OpenCelebrationBoxResult {
  optional string awardId = 1; // 奖励id
  optional string awardName = 2; // 奖励名称
  optional string awardIcon = 3; // 奖励icon
  optional string showTime = 4; // 奖励天数
}

// 活动订阅页数据列表
message ActivitySubscriptionList {
  repeated ActivitySubscriptionInfo info = 1;
  optional bool isShow = 2; // 滚动列表是否展示
}

message ActivitySubscriptionInfo {
  optional int32 subscriptionId = 1; // 活动订阅ID
  optional string banner = 2; // 活动banner图
  optional string title = 3; // 活动标签
  optional int32 subscriptionNum = 4; // 订阅数量
  optional int32 status = 5; // 活动状态：0.未开启；1.进行中；2.已结束
  optional int64 beginTime = 6; //活动开始时间
  optional int64 endTime = 7; //活动结束时间
  optional int32 subscriptionStatus = 8; // 订阅状态：0.未订阅；1.已订阅；2.已结束
  optional int32 subscriptionType = 9; // 订阅类型：1.活动；2.节目
  optional string beginSubscriptionDay = 10; //订阅开始日期
  optional string endSubscriptionDay = 11; //订阅结束日期
  optional int64 beginSubscriptionTime = 12; //活动开始时段
  optional int64 endSubscriptionTime = 13; //活动结束时段
  optional int32 subscriptionTargetType = 14; //订阅跳转目标类型：1.直播间；2.H5链接
  optional string subscriptionTarget = 15; //订阅跳转目标（roomId/H5链接）
  optional int32 activityTargetType = 16; //活动跳转目标类型：1.直播间；2.H5链接
  optional string activityTarget = 17; //活动跳转目标（roomId/H5链接）
  repeated int64 subscriptionDay = 18; //订阅日期区间列表
  optional int32 canSubscription = 19; // 是否允许订阅（1.是；0.否）
  optional string content = 20; // 副标题
  optional int32 subscriptionTargetJumpType = 21;// 订阅目标（0.跳转链接 1.app）
}

// 返回当前上锁礼物id
message LockGiftIdList {
  repeated string giftId = 1; // 礼物id，集合为空时，没有上锁礼物
}

// 展示星月情缘礼物描述showStarMoonLoveGiftDesc
message showStarMoonLoveGiftDesc {
  optional string giftId = 1; // 礼物id
  optional string jumpUrl = 2; // 跳转url
  optional string sendUserId = 3; // 送礼人id
  optional string sendUserName = 4; // 送礼人名字
  optional string sendUserIcon = 5; // 送礼人头像
  optional bool isShow = 6; //true-展示描述，false-不展示
}

// 丘比特套装列表
message CupidInfoList {
  repeated CupidInfo info = 1;
}

message CupidInfo {
  optional int32 type = 1; // 1:丘比特之箭，2：壁咚亲亲
  optional string giftId = 2; // 礼物id
  optional int64 coolingTime = 3; // 冷却时间
  optional int64 validTime = 4; // 有效期
  optional int32 status = 5; // 状态：0冷却中,1可使用,-1:禁用
  optional string giftName = 6; // 礼物名
  optional string icon = 7; // 礼物图片
  optional string desc = 8; // 礼物描述
}

message CupidBroadcast {
  optional string sendUserId = 1; // 送礼人id
  optional string sendUserName = 2; // 送礼人名字
  optional string receiverId = 3; // 收礼人id
  optional string receiverName = 4; // 收礼人名字
  optional int32  responseTime = 5; // 回应时间，秒单位
  optional string animation = 6;// app动画资源
  optional string pcAnimation = 7;// pc动画资源
  optional int32 type = 8;// 类型：1-发送，2-回应成功
}


// 圣天使详情广播
message RoomAngelInfo{
  optional string roomId = 1;       // 房间id
  optional int64 currentNum = 2;    // 当前进度
  optional int64 completeNum = 3;    // 达标值
  optional int32 status = 4;    // 状态:1-进行中;2-完成
  optional int32 startNum = 5;    // 今日开启圣天使次数
}



// 天使祝福信息
message WishAngelInfo {
  optional string anchorId = 1;// 主播id
  optional string anchorHeadUrl = 2; // 主播头像
  optional int32 currentLevel = 3;// 当前祝福等级
  optional int32 nextLevel = 4;// 下一等级
  optional int64 ticketCurrentNum = 5;// 应援票进度
  optional int64 ticketCompleteNum = 6;// 应援票达标值
  optional int64 annualCurrentNum = 7;// 年度值进度
  optional int64 annualCompleteNum = 8;// 年度值达标值
  optional int32 status = 9;// 0-未开启;1-开启;2-今日上限
  optional int64 countdownTime = 10;// 开启时,天使祝福倒计时
}


// 房间内用户榜单皮肤获取
message RoomRankDecoration {
  optional int32 currentLevel = 1;// 当前魔星轮数
}

// 活动订阅数据刷新 广播
message ActivitySubscriptionBroadcast {

}

// 年度pk控件信息
message AnnualPKInfos {
  optional bool isInPK = 1;// 是否pk中
  optional bool isUnionPK = 2;// 是否公会pk
  optional string memberIcon = 3;// 目标头像
  optional string targetIcon = 4;// pk对象头像
  optional string highScoreRate = 5;// 胜场比分，有值才显示，格式“1:1”
  optional int64 scoreGap = 6;// 目标与对象分差，正数领先，负数落后
  optional string jumpUrl = 7;// 跳转地址
  optional int64 memberScore = 8;// 目标积分
  optional int64 targetScore = 9;// 对象积分
}

// 炽天使开奖结果-公屏广播
message BlazingPublishBroadcast {
  optional string message = 1;    // 公屏消息
  optional string awardedRankH5Url = 2;   // 结果弹窗H5链接
}

// 通用倒计时提示广播
message CommonCountDownTipsBroadcast {
  optional int32 doubleRemainSecond = 1;// 加倍剩余时间（s），0代表结束
  optional string h5url = 2;// h5跳转地址
  optional string actId = 3;// 活动id
  optional string showClock = 4;// 展示倒计时资源
  optional string pcShowClock = 5;// pc展示倒计时资源
}

// 整蛊变声返回数据
message prankSoundAnchorList {
  repeated prankSoundAnchorInfo info = 1; // 变声主播列表
}

message prankSoundAnchorInfo {
  optional string anchorId = 1; // 主播（变声人）ID
  optional int32 prankType = 2; // 变声类型
  optional int64 endTime = 3; // 当次变声结束时间
  optional string roomType = 4; // 房间类型
  repeated prankSoundUserInfo info = 5; // 变声送礼用户列表
}

message prankSoundUserInfo {
  optional string sendUserId = 1; // 送礼用户Id
  optional string sendUserHeadUrl = 2; // 送礼用户头像

}

// 发放气泡佩戴广播
message ActivityUseBubbleBroadcast {
  optional string userId = 1; //用户Id
  optional string bubbleId = 2; //气泡id(默认为0,即没有气泡)
  optional string bulletChatLogoUrl = 3;// 弹幕图标图
  optional int32 type = 4;// 类型：0-普通气泡 1-弹幕气泡
}

// 装扮类道具佩戴广播
message DressUpPropBroadcast {
  optional string userId = 1; //用户Id
  optional string propId = 2; //道具ID
  optional int32  propType = 3; //道具类型
}

// 520恋爱季主播信封信息
message LoveMessageInfo {
  optional string anchorId = 1; //主播id
  optional int32 num = 2; //信封数量
  optional string  anchorBindH5Url = 3; //关系认证H5页面
}

// 公会厅对抗赛控件广播
message UnionConfrontationHeartBeatBroadcast {
  optional string memberId = 1;// 本方id
  optional string memberIcon = 2;// 本方头像
  optional int64 memberScore = 3;// 本方积分
  optional string fighterId = 4;// 对方id
  optional string fighterIcon = 5;// 对方头像
  optional int64 fighterScore = 6;// 对方积分
  optional int64 scoreGap = 7;// 分差，正数领先，负数落后
  optional int64 remainSecond = 8;// 剩余时间（s），0代表结束
  optional string jumpUrl = 9;// 跳转地址
}

// 端午节头像贴返回数据
message dragonBoatAnchorList {
  repeated dragonBoatAnchorInfo info = 1; // 头像贴主播列表
}

message dragonBoatAnchorInfo {
  optional string anchorId = 1; // 主播（头像贴）ID
  optional int32 prankType = 2; // 头像贴类型
  optional int64 endTime = 3; // 当次头像贴结束时间
  optional string roomType = 4; // 房间类型
  repeated dragonBoatUserInfo info = 5; // 头像贴送礼用户列表
}

message dragonBoatUserInfo {
  optional string sendUserId = 1; // 送礼用户Id
  optional string sendUserHeadUrl = 2; // 送礼用户头像

}

message gunDamInfo {
  optional int32 currenNum = 1; // 进度
  optional int32 completeNum = 2; // 达标值
  optional string url = 3; // 活动链接
  optional bool isUnlock = 4; // 是否解锁
  optional string nftTopBg = 5; // 礼物顶部背景图

}

message whiteSnakeInfo {
  optional int32 currenNum = 1; // 进度
  optional int32 completeNum = 2; // 达标值
  optional string url = 3; // 活动链接
  optional bool isUnlock = 4; // 是否解锁
}

// 新倒计时提示广播
message NewCountDownTipsBroadcast {
  optional int32 doubleRemainSecond = 1;// 加倍剩余时间（s），0代表结束
  optional int32 jumpType = 2;// 跳转类型，0-h5全屏，1-h5半屏，后续添加
  optional string h5url = 3;// h5跳转地址
  optional string actId = 4;// 活动id
  optional string showClock = 5;// 展示倒计时资源
  optional string pcShowClock = 6;// pc展示倒计时资源
  optional int32 showedType = 7;// 展示倒计时规格，1-3字倒计时，2-4字倒计时，后续添加
}

// 守护之战礼物详情列表
message guardGiftList {
  optional string suitName = 1; // 守护套装名称
  optional string suitScore = 2; // 守护分值
  optional string actUrl = 3; // 活动链接
  repeated guardGiftInfo info = 4; // 守护礼物列表
}
// 守护之战礼物详情
message guardGiftInfo {
  optional string giftName = 1; // 礼物名称
  optional string giftIcon = 2; // 礼物icon
  optional int32 num = 3; // 集齐数量
  optional string priceDesc = 4; // 价值描述
  optional string giftId= 5; // 礼物ID
}

// 白蛇是否解锁
message whiteSnakeUnbindInfo {
  optional bool isUnbind = 1; // 是否解锁

}

// nft是否解锁
message nftPrefixInfo {
  repeated nftPrefixItem nftItem = 1; // 盲盒列表信息

}

// nft是否解锁
message nftPrefixItem {
  optional string giftId = 1; // 礼物id
  optional bool isUnbind = 2; // 是否解锁

}

// 进房满月宴信息列表
message fullMoonEnterRoomList {
  repeated fullMoonInfo allFullMoonInfos = 1; // 全服满月宴信息
  repeated fullMoonInfo currentFullMoonInfos = 2; // 本房间满月宴信息
  optional bool allFullMoonInfosEmpty = 3; // 全服满月宴信息是否为空
  optional bool currentFullMoonInfosEmpty = 4; // 本房间满月宴信息是否为空
}

// 满月宴信息
message fullMoonInfo {
  optional int64 babyId = 1; // babyId
  optional string userId = 2; // 用户ID
  optional string userName = 3; // 用户昵称
  optional string userIcon = 4; // 用户头像
  optional string anchorId = 5; // 主播ID
  optional string anchorName = 6; // 主播昵称
  optional string anchorIcon = 7; // 主播头像
  optional int64 overTime = 8; // 结束时间
  optional bool join = 9; // 是否参加宴席
  optional int64 fullMoonId = 10; // 满月宴Id
  optional int32 type = 11; // 满月宴等级,1, "奢华满月宴";2, "豪华满月宴";3, "高级满月宴";4, "普通满月宴";5, 中式婚礼;6, 西式婚礼 7桃花神诞
  optional string jumpUrl = 12; // 跳转url
  optional string bgResource = 13; // 挂件背景资源
  optional string buttonResource = 14; // 按钮资源
  optional int64 countdownTime = 15; // 倒计时剩余时间
  optional string activityId = 16; // 活动id
  optional string roomId = 17; // 房间id
  optional string activityDate = 18; // 活动日期
  optional int32 actionType = 19; // 动作类型 1跳房间id 2跳满月宴 3跳半屏网页 4跳全屏网页
  optional string bizId = 20; // 业务id(前端需要一个唯一标识key)
  optional string extJson = 21;//扩展参数(json前后端约束)
}

// 携带宝宝勋章
message takeBabyMedalInfo {
  optional int32 level = 1; // 等级 2-幼儿,3-孩童
  optional int32 babySex = 2; // 性别 1.男：0.女
  optional string resource = 3; // 资源
}

//百福卡动效信息
message hundredStraddleYearCard {

  optional string url = 1; // 动效资源
}

//用户参宴状态
message fullMoonJoinStatus {
  optional bool join = 9; // 是否参加宴席
}

// 宝宝礼物详情列表
message babyGiftList {
  optional string bgUrl = 1; // 背景图片
  optional string h5Url = 2; // 活动链接
  repeated babyGiftInfo info = 3; // 宝宝礼物列表
}

// 宝宝礼物详情
message babyGiftInfo {
  optional bool isBind = 1; // 是否锁定：true-锁定；false-解锁
  optional string text = 2; // 文案
  optional string giftId = 3; // 礼物id
}

// 日记情人节红包礼物
message diaryGiftInfo {
  optional string url = 1; // 活动详情页链接
  optional string giftId = 2; // 礼物id
  optional bool show = 3; // 是否展示红包礼物
}

// 婚礼值浮窗详情
message marryValuePopupDetail {
  optional int64 marryValue = 1; // 婚礼值
  optional int32 marryType = 2; // 婚礼类型：1.中式婚礼；2.西式婚礼
  optional int32 marryLevel = 3; // 当前婚礼等级
  optional int64 differenceValue = 4; // 距升级所差婚礼值
  optional double valueRate = 5; // 进度条
  optional bool isOpen = 6; // 是否开启：true-开启；false-关闭
  repeated userMarryValue userValue = 7; // 用户婚礼贡献值
  optional string descUrl = 8;// 活动玩法说明页
}

// 用户婚礼贡献值
message userMarryValue {
  optional int64 marryValue = 1; // 婚礼值
  optional string userId = 2; // 用户id
}

// 婚礼请柬详情
message weddingInvitationCardDetail {
  optional int64 marryInfoId = 1; // 婚礼信息id
  optional string giftId = 2; // 请柬礼物id
  optional int32 num = 3; // 剩余请柬数量
  optional string giftName = 4; // 礼物名称
  optional int32 labelId = 5; // 标签id
  optional string icon = 6; // 请柬icon
  optional int64 remainTime = 7; // 请柬过期时间
}

// 婚礼请柬动画
message weddingInvitationCardAnimation {
  optional string userName = 1; // 用户昵称
  optional string userHeadUrl = 2; // 用户头像
  optional string anchorName = 3; // 主播昵称
  optional string anchorHeadUrl = 4; // 主播头像
  optional string receiverName = 5; // 收礼人昵称
  optional int64 marryTime = 6; // 婚礼时间（毫秒）
  optional string bgDynamicFlash = 7; // 背景动态flash
  optional int32 marryStatus = 8; // 婚礼状态：0-预约中；1-进行中；2-已结束
  optional string marryRoomId = 9; // 婚礼房id
}


// 获取桃花神诞按钮信息
message peachBlossomBtnInfo {
  optional int32 btnStatus = 1; // 按钮状态,1-点亮 2-置灰
  optional int32 fullMoonInfoType = 2; // 满月宴等级,1, "奢华满月宴";2, "豪华满月宴";3, "高级满月宴";4, "普通满月宴";5, 中式婚礼;6, 西式婚礼 7桃花神诞
}

//组合公屏
message valentinePublic {
  optional string activityId = 1; // 活动id
  optional string userName = 2; // 用户昵称
  optional string userHeadUrl = 3; // 用户头像
  optional string anchorName = 4; // 主播昵称
  optional string anchorHeadUrl = 5; // 主播头像
  optional string btnResource = 6; // 按钮资源
  optional int32 btnWidth = 7; // 按钮宽
  optional int32 btnHeight = 8; // 按钮高
  optional string content = 9; // 文本
  optional string bgImg = 10; // 背景图片资源
  optional string androidBgImg = 11; // 安卓背景图
  optional string bizId = 12; // 业务id
  optional int32 bizType = 13; // 业务类型 1订阅婚礼
}

//萌娃魔法表情
message babyRecreationData {
  optional babyRecreations boyRecreation = 1; // 男萌娃魔法表情
  optional babyRecreations girlRecreation = 2; // 女萌娃魔法表情
}

//萌娃魔法表情列表
message babyRecreations {
  repeated babyRecreationInfo info = 1; // 萌娃魔法表情列表
  optional int32 babySex = 2; // 萌娃性别：1.男；2.女
  optional string icon = 3; // 魔法表情菜单icon
  optional bool canUse = 4; // 是否可使用
}

//萌娃魔法表情详情
message babyRecreationInfo {
  optional string id = 1; // 表情id
  optional string name = 2; // 表情名称
  optional string playType = 3; // 播放类型
  optional string flashName = 4; // 动画名
  optional string flashVersion = 5; // 动画版本
  optional bool isLock = 6; // 是否锁定
  optional string lockText = 7; // 提示语
  optional string msg = 8; // 信息模板
}


//精简任务数据列表
message SimpleTaskList {
  repeated SimpleTaskVo tasks = 1; //每日任务数据
}

//奖励数据
message AwardConfigVO {
  optional string awardId = 1;//奖励id
  optional int64 price = 2;//价格
  optional string awardName = 3;//奖励名称
  optional string icon = 4;//物品图片
  optional string showTime = 5;//展示奖品时长
}

//精简任务数据
message SimpleTaskVo {
  optional string taskId = 1; //任务ID
  optional string name = 2;//任务名称
  optional string desc = 3;//任务描述
  optional int32 currentNum = 4;//当前进度数
  optional int32 completeNum = 5;//任务达标数量
  repeated AwardConfigVO awards = 6;//奖奖励数据列表

}


//活动福袋数据
message ActivityLuckyGiftData {
  optional string actDesc = 1;//活动描述
  repeated ActivityLuckyGiftInfo outputs = 2;//产出的礼物列表
  optional ActivityLuckGiftRankInfo topOneInfo = 3;//第一名的数据
  optional int32 actStatus = 4;//活动状态 0:未开始 1:活动进行中 2:倒计时 3:已结束
  optional string actStatusDesc = 5;//活动状态描述 活动进行中/倒计时：/已官宣
  optional int64 actOverTime = 6;//活动剩余时间(秒)
}

message ActivityLuckyGiftInfo {
  optional string giftId = 1;//福袋产出的礼物ID
  optional string giftUrl = 2;//礼物url（不含域名）
  optional string priceDesc = 3;//价值描述
}

message ActivityLuckGiftRankInfo {
  optional UserBaseInfo senderInfo = 1;//送礼物用户数据
  optional UserBaseInfo receiverInfo = 2;//收礼用户数据
}

// 声音礼物开始广播
message SoundGiftBeginBroadcast {
  optional int32 type = 1;  // 广播类型：1.声浪喷泉
  optional string sendUserId = 2;             // 送礼方id
  optional string receiverId = 3;             // 收礼方id
  optional string roomId = 4;                 // 房间id
  optional string firstAnimationName = 5;     // 一级动画
  optional string secondAnimationName = 6;    // 二级动画
  optional string fireworkAnimationName = 7;  // 烟花动画
  optional string sign = 8;                   // 唯一标识
}

// 声浪礼物排队列表
message SoundGiftWaitList {
  optional int32 type = 1;                     // 广播类型：1.声浪喷泉
  repeated SoundGiftWaitDetail waitSound = 2;  // 声浪礼物排队详情
}

// 声浪礼物排队详情
message SoundGiftWaitDetail {
  optional string sendUserId = 1;          // 送礼方id
  optional string sendUserName = 2;        // 送礼方昵称
  optional string sendUserHeadUrl = 3;     // 送礼方头像
  optional string receiverId = 4;          // 收礼方id
  optional string receiverName = 5;        // 收礼方昵称
  optional string receiverHeadUrl = 6;     // 收礼方主播头像
}


// 个人礼物进度详情
message PersonalGiftProgress {
  optional int32 curNum = 1;          // 当前进度
  optional int32 targetNum = 2;        // 目标进度

}

message AnchorShareMomentsDetail {
  optional string momentId = 1;          // 动态id
}

// 声浪礼物广播
message SoundGiftBroadcast {
  optional int32 type = 1;             // 广播类型：1.声浪喷泉
  optional int64 score = 2;            // 当前分贝
  optional int32 status = 3;           // 状态：0.预备；1.正常；2.结束
  optional string roomId = 4;          // 房间id
  optional bool shootOffFireworks = 5;  // 是否播放烟花动画
}

// 在逃公主广播
message EscapePrincessInfo {
  optional bool isBind = 1; // 是否绑定
  optional bool isAnchor = 2; // 是否主播
  optional string jumpUrl = 3; // 跳转半屏链接
}

// 年度礼物
message AnnualGiftInfo {
  repeated AnnualGiftList giftList = 1; // 礼物列表
  optional string jumpUrl = 2; // 跳转链接
  optional int32 jumpType = 3;// 跳转类型：1.半屏；2.全屏
}

// 年度礼物列表
message AnnualGiftList {
  optional string giftId = 1; // 礼物id
  optional string giftName = 2; // 礼物名称
  optional string giftIcon = 3; // 礼物icon
  optional int32 giftPrice = 4;// 礼物价格
  optional bool isUnlock = 5; // 是否解锁
  optional int32 currentNum = 6; // 解锁当前数量
  optional int32 completeNum = 7; // 解锁达标数量
  optional string desc = 8; // 描述
}

// 氛围礼物
message AtmosphereGiftInfo {
  optional string giftId = 1; // 礼物id
  optional string giftName = 2; // 礼物名称
  optional string giftIcon = 3; // 礼物icon
  optional int32 giftPrice = 4;// 礼物价格
  optional int32 currentNum = 5; // 当前数量
  optional int32 completeNum = 6; // 达标数量
  optional string jumpUrl = 7; // 跳转链接
  optional int32 jumpType = 8;// 跳转类型：1.半屏；2.全屏
  optional string desc = 9; // 描述
}

// 活动绑定信息通用广播
message ActivityBindCommonInfo {
  optional bool isBind = 1; // 是否绑定
  optional bool isAnchor = 2; // 是否主播
  optional string jumpUrl = 3; // 跳转半屏链接
  optional string bindAnchorRoomId = 4; // 绑定主播所在房间
  optional string anchorId = 5; // 绑定的主播id
}


// 婚礼大厅信息
message WeddingHallInfo {
  optional bool show = 1; // 是否显示
  optional string logo = 2; // app logo图片
  optional string jumpUrl = 3; // 跳转链接
}


// 上神贵族信息
message SupremeGodNobleInfo {
  optional int32 status = 1; //成就上神状态 0、未满足条件  1、已满足待开启  2、充值任务进行中 3、上神任务进行中 4、上神晋升成功
  optional int64 chargeTaskCurrNum = 2; //充值任务当前值
  optional int64 chargeTaskCompleteNum = 3; //充值任务完整值
  optional int64 chargeTaskSurplusTime = 4; //充值任务剩余时间(秒数)
  optional int64 chargeTaskTotalTime = 5; //充值任务总时间(秒数)
  optional int64 funExpTaskCurrNum = 6; //财富值任务当前值
  optional int64 funExpTaskCompleteNum = 7; //财富值任务完整值
  optional string jumpUrl = 8; // 跳转链接

  optional string godAnimationName = 9; // 神晋升动画名称
  optional string supremeGodAnimationName = 10; // 上神晋升动画名称

}

// 真爱保卫战
message LoveBattleInfo {
  optional string leftUserId = 1;// 左-用户id
  optional string leftUserName = 2;// 左-用户昵称
  optional string leftUserHeadUrl = 3;// 左-用户头像
  optional string rightUserId = 4;// 右-用户id
  optional string rightUserName = 5;// 右-用户昵称
  optional string rightUserHeadUrl = 6;// 右-用户头像
  optional string h5Url = 7; // 跳转H5半屏链接
  optional int32 enhanceDiamondRate = 8; // 奖池增长x钻/s
  optional int64 battleDiamond = 9; // 打擂累计蓝钻数量
  optional int64 defenderTime = 10; // 已守擂时长：(单位:s)
  optional int64 battleCountDown = 11; // 本轮擂台倒计时：(单位:s)
  optional int64 battleHp = 12; // 擂主生命值
  repeated LoveBattleDiamondRule enhanceRule = 13; // 蓝钻增长规则
}

// 真爱保卫战-蓝钻增长规则
message LoveBattleDiamondRule {
  optional int32 time = 1;// 守擂时长
  optional int32 rule = 2;// 奖池增长x钻/s
}

// 活动礼物解锁广播
message ActivityGiftUnlock {
  optional string giftId = 1; // 礼物id
}

// 花神守护神专属礼物信息
message floraGuardGiftInfo {
  optional string giftId = 1;     // 礼物id
  optional bool isLock = 2;       // 是否锁定
  optional int32 jumpType = 3;    // 跳转类型 0-默认不跳/1-h5半屏
  optional string jumpParam = 4;  // 跳转配置 地址
  optional string userId = 5;     // 守护神用户id
  optional string userName = 6;   // 守护神昵称
  optional string avatar = 7;     // 守护神头像
  optional string awardName = 8;  // 奖励名称
  optional string awardIcon = 9;  // 奖励icon
  optional string awardDesc = 10; // 奖励文案
}

// 五一环游记游览挂件广播
message TourAroundInfo {
  optional string activityId = 1; // 活动id
  optional string roomId = 2;// 房间id
  optional int32 jumpType = 3;    // 跳转类型 0-默认不跳/1-h5半屏
  optional string jumpParam = 4;  // 跳转配置 地址
  optional int64 todayDiamond = 5;    // 今日获得蓝钻
  optional int32 ratio = 6;    // 提现比例
  optional int32 completeDays = 7;    //游历天数
}

// 周年庆烟花秀-小控件广播
message FireworksInfo {
  optional string activityId = 1; // 活动id
  optional string roomId = 2;// 房间id
  optional int32 jumpType = 3;    // 跳转类型 0-默认不跳/1-h5半屏
  optional string jumpParam = 4;  // 跳转配置 地址
  optional int32 fireworksLevel = 5;    //烟花等级 1-lv1 2-lv2 3-lv3
  optional int64 currentNum = 6;    // 当前进度数
  optional int64 completeNum = 7;    // 达标数量
  optional int32 bufferSecond = 8;    // buffer剩余时长 单位秒
  optional int32 countdownKindle = 9;    //燃点倒计时 单位秒
  optional string content = 10;// 文案
  optional int32 fireworksStatus = 11;// 烟花状态 0未点燃 1已点燃
  optional int32 status = 12;// 控件展示状态 0隐藏 1展示
}

//周年庆烟花秀-播放烟花广播
message FireworksSetOffInfo {
  optional string activityId = 1; // 活动id
  optional string roomId = 2;// 房间id
  optional string leftUserId = 4;// 左-用户id
  optional string leftUserName = 5;// 左-用户昵称
  optional string leftUserHeadUrl = 6;// 左-用户头像
  optional string rightUserId = 7;// 右-用户id
  optional string rightUserName = 8;// 右-用户昵称
  optional string rightUserHeadUrl = 9;// 右-用户头像
  optional string customizedContent = 10;// 定制文案
  optional string animation = 12;// 动画资源名字
  optional string imageUrl = 13;// cp底图图片半路径
  optional string pcAnimation = 14;// pc动画资源名字
}


//发送CP特效动画广播
message SendCpAnimationBroadcast {
  optional string anchorId = 1;       // 主播ID
  optional string anchorNickName = 2;     // 主播昵称
  optional string anchorHeadUrl = 3;       // 主播头像
  optional string userId = 4;       // 用户id
  optional string userNickName = 5;     // 用户昵称
  optional string userHeadUrl = 6;       // 用户头像
  optional string animationName = 7; // 动画资源名称
  optional string cpBgPicUrl = 8; // cp背景图url
}

// 觉醒礼物信息
message AwakenGiftInfo {
  optional bool isAwakenGift = 1; //是否觉醒礼物
  optional string giftId = 2;     // 礼物id
  optional int32 jumpType = 3;    // 跳转类型 0-默认不跳/1-h5半屏
  optional string jumpParam = 4;  // 跳转配置 地址
  optional int32 status = 5;     // 状态 0-未点亮 1-待觉醒 2-已觉醒
  optional string propName = 6;     // 礼物道具名称

  optional bool isAwakenTaskGift = 7; //是否觉醒任务礼物
  optional int32 propMin = 8; //掉落最小数量
  optional int32 propMax = 9; //掉落最大数量
}
// 华灯初上擂台信息
message LightBattleInfo {
  optional string leftUserId = 1;// 左-用户id
  optional string leftUserName = 2;// 左-用户昵称
  optional string leftUserHeadUrl = 3;// 左-用户头像
  optional string rightUserId = 4;// 右-用户id
  optional string rightUserName = 5;// 右-用户昵称
  optional string rightUserHeadUrl = 6;// 右-用户头像
  optional string h5Url = 7; // 跳转H5半屏链接
  optional int32 enhanceDiamondRate = 8; // 奖池增长x钻/s
  optional int64 battleDiamond = 9; // 打擂累计蓝钻数量
  optional int64 defenderTime = 10; // 已守擂时长：(单位:s)
  optional int64 battleCountDown = 11; // 本轮擂台倒计时：(单位:s)
  optional int64 battleHp = 12; // 擂主生命值
  repeated LightBattleDiamondRule enhanceRule = 13; // 蓝钻增长规则
}

// 华灯初上-蓝钻增长规则
message LightBattleDiamondRule {
  optional int32 time = 1;// 守擂时长
  optional int32 rule = 2;// 奖池增长x钻/s
}

// 我的公主殿下花礼物详情
message MyPrincessFlowerGiftInfo {
  optional bool isBind = 1; // 是否绑定了cp
  optional bool isAnchor = 2; // 是否主播
  optional bool isAllPass = 3; // 是否全解锁
  optional string jumpParam = 4; // 跳转配置 地址
  repeated MyPrincessFlowerGiftList giftList = 5; // 礼物列表
  optional int32 currentNum = 6; // 解锁当前数量
  optional int32 completeNum = 7; // 解锁达标数量
}

//  我的公主殿下花礼物
message MyPrincessFlowerGiftList {
  optional string giftId = 1; // 礼物id
  optional string giftName = 2; // 礼物名称
  optional int32 giftPrice = 3;// 礼物价格
  optional int32 status = 4;// 状态 1-送出解锁 2-已解锁 3-待解锁
}

// 幸运礼物礼物栏详情
message LuckyGiftTabInfo {
  optional string giftId = 1;     // 礼物id
  optional bool isLuckyGift = 2; // 是否幸运礼物
  optional int32 jumpType = 3;    // 跳转类型 0-默认不跳/1-h5半屏
  optional string jumpParam = 4;  // 跳转配置 地址
  optional string tabDescI18n = 5; // 礼物栏描述内容国际化
  optional string tabDesc = 6; // 礼物栏描述内容
  optional string tabInfoDescI18n = 7; // 礼物栏详细描述内容国际化
  optional string tabInfoDesc = 8; // 礼物栏详细描述内容
}

// pk排位赛点击查看本次PK排位奖励信息
message ViewCurrentPkRewardInfo {
  optional string topAwardIcon = 1; // 第一名奖励缩略图
  optional string topAwardName = 2; // 第一名奖励名称
  optional string topAwardDesc = 3; // 第一名奖励描述
  optional PkRewardUserInfo firstUserInfo = 4; // 第一名用户信息
  optional string awardIcon = 5; // 奖励缩略图
  optional string awardName = 6; // 奖励名称
  optional string awardDesc = 7; // 奖励描述
  repeated PkRewardUserInfo userInfos = 8; // 奖励用户信息列表
}

message PkRewardUserInfo {
  optional string userId = 1; // 用户ID
  optional string userName = 2; // 用户昵称
  optional string headUrl = 3; // 用户头像
}

//年度礼物解锁详情信息
message AnnualGiftUnlockDetail {
  repeated UnlockGiftDetail unlockGiftDetailList = 1; //解锁的礼物信息
  optional string jumpUrl = 2; // 跳转链接
  optional int32 jumpType = 3;// 跳转类型：1.半屏；2.全屏

}
message UnlockGiftDetail {
  optional string giftId = 1; // 礼物id
  optional string giftName = 2; // 礼物名称
  optional string giftIcon = 3; // 礼物icon
  optional int32 giftPrice = 4; // 礼物价格
  optional bool isUnlock = 5; // 是否解锁
  optional int32 currentNum = 6; // 当前礼物进度数
  optional int32 completeNum = 7; //解锁达标数
  optional string desc = 8; //描述：默认礼物、经典款、送出X个等文案、返回全部文案
  repeated AnnualAwardList annualAwardList = 9; //奖励详情信息
  optional string buffText = 10; //buff加成文案
}
message AnnualAwardList{
  optional string awardId = 1; // 奖励id
  optional string awardName = 2; // 奖励名称
  optional string awardIcon = 3; //奖励icon
}
message ConfessionDanmuGiftInfo{
  optional string text1 = 1; // 上面文案
  optional string text2 = 2; //  右边文案
  optional int32 num = 3; // 获得弹幕礼物数量
}

// 谋定天下招募礼物详情
message StrategicRecruitGiftInfo {
  optional int32 type = 1; // 类型 0-招安 1-宠妃
  optional int32 status = 2; // 状态 0-可送出 1-没有席位 2-升级中 3-无法升级 4-已达上限
  optional int32 level = 3; // 当前等级
  optional string levelName = 4; // 等级名称
  optional int32 upgradeNum = 5; // 升级所需数量（只有升级中有返回）
  optional string jumpParam = 6; // 跳转配置 地址
}

// 活动通用通告广播
message ActivityNotifyJump {
  // 新类型往0后面加
  optional int32 jumpType = 1;// 提示toast--1/默认不跳-0/h5半屏-1/h5全屏-2/进房-3/APP页面-4/APP弹窗-5/不跳转调接口-6/跳转指定礼物栏礼物-7
  optional string jumpParam = 2;// 跳转参数，地址/参数等
}

// 天使与恶魔契约入口礼物详情
message AngelDevilContractEnterGiftInfo {
  optional string tagName = 1; // 标签名称
  optional string hintText = 2; // 按钮名称
  repeated string hintColors = 3; // 按钮颜色
  optional string jumpParam = 4; // 跳转配置 地址
  optional bool isFullScreen = 5; // 是否全屏
}