syntax = "proto2";

package UserResult;

import "BagResult.proto";
import "MedalResult.proto";
import "CommonResult.proto";
import "ThemeResult.proto";
import "PropCardResult.proto";

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "UserResult";

//message Login {// 废弃，login、logon接口统一返回logon
//  optional string userId = 1;
//  optional string tickToken = 2; // 登录成功返回的tocken
//  optional bool addSysGMember = 3; //true需要前端调用加入系统总群
//  optional string phoneNumber = 4; //电话号码
//  optional string userName = 5; //用户登录帐号
//  optional string password = 6; //用户密码
//  optional string mcId = 7; //主渠道
//  optional string scId = 8; //子渠道
//}

message Logon {
  optional string tlsSig = 1; //腾讯Tls后台签名
  optional string roomId = 2; //当前所在的房间ID
  repeated int32 dataVersions = 3; //静态数据版本号(字段废弃，改用dataVersionInfo)
  optional string mcId = 4; //用户归属主渠道ID
  optional string scId = 5; //用户归属子渠道ID
  optional bool setPassword = 6; //是否已经设置密码
  optional string sessionId = 7; //当前请求交互的sessionId
  //login
  optional string userId = 8;
  optional string tickToken = 9; // 登录成功返回的tocken
  optional bool addSysGMember = 10; //true需要前端调用加入系统总群
  optional string phoneNumber = 11; //电话号码
  optional string password = 12; //用户密码
  optional bool needSetResource = 13; //是否需要设置个人资料
  optional string headUrl = 14; //第三方头象

  optional bool isSignAnchor = 15; // 是否签约主播
  optional string channelTag = 16; // 渠道标签
  optional bool isNewUser = 17; // 是否新注册用户
  optional int64 createTime = 18; // 创建时间

  optional string bindAnchorId = 19; // 绑定主播id
  optional int32 receiveAwards = 20; //推广注册用户是否领取奖励 1 未领取 2 已领取 3 手动领取

  optional bool isChatBlack = 21;// 是否聊天黑名单用户
  optional bool needCertification = 22;// 需要实名认证
  optional bool needPhoneNumber = 23;// 需要绑定手机

  optional int32 youthMode = 24;//青年模式-1:暂时解锁青年模式  0:不需要青年模式 1:未开启青年模式 2:已开启青年模式

  optional int32 userConceal = 25; // 用户隐私协议展示，0：不展示，1：展示

  optional string unFinishedMiaiRoomId = 26;// 未结束相亲语音房Id

  optional bool isWhiteHorse = 27; // 是否为白马号

  optional int64 invitationOverTime = 28;// 邀请码入口过期时间，-1代表已过期

  optional string dataVersionInfo = 29;// 数据版本号信息，json字符 k:表名 v:版本号

  optional string trtcUserSig = 30;// trtcUserSig

  optional bool reg = 31; // 是否是注册账号

  optional int32 receptionHeartBeatTime = 32;// 用户承接心跳时间

  optional bool isPublicMuteChatBlack = 33;// 是否公屏聊天黑名单用户

  optional bool isMuteChatBlack = 34;// 是否私聊聊天黑名单用户

  optional string nickName = 35;// 用户昵称

  optional bool checkSimplePwd = 36;//是否检查用户是否存在简单密码

  optional int32 sex = 37; // 性别

  optional bool officialChannelId = 38; //是否官方渠道 1 是 0 不是

  optional bool isWarriorBlackCard = 39; //是否黑卡用户

  optional bool isWarriorCloak = 40; //是否开启勇者斗篷

  optional bool warriorCloakProp = 41; //是否领取了勇者斗篷

  optional bool simplePwdTips = 42; //简单密码提示

  optional string videoSwitchByChannel = 43; //特定渠道名下视频区屏蔽
  
  optional bool isGreyPage = 44; // 首页是否置灰

  optional bool isSilent = 45; //是否静默黑名单

  optional int32 rtcType = 46;// 当前RTC类型 0:TRTC 1:ARTC

  repeated ThemeResult.Resource resourceList =47 ;// 主题信息

  optional string themeId = 48 ; // 主题ID

  optional PropCardResult.MyColorfulIdInfo myColorfulIdInfo = 49; //炫彩id信息

  optional bool isShowFunRoomTab = 50; //主页tab展示开关：false-关闭，true-打开

  optional PropCardResult.MyNumberSkinInfo myNumberSkinInfo = 51; //靓号皮肤信息

  optional PropCardResult.MyIdOuterShowCard myIdOuterShowCard = 52; //外显卡信息
  
  optional UserCloakInfo cloakInfo = 53;// 隐身斗篷信息

  optional int32 unionType = 54; // 公会主播签约类型（3-视频主播 4-语音主播 5-音视频主播）

  optional string wxUnionId = 55; // 微信唯一ID
  optional string wxMpOpenId = 56; // 微信小程序唯一ID

  optional string invitationCode = 57;//已经绑定的邀请码

  optional bool restrictiveBehavior = 58; //限制用户行为

  optional int32 funLevel = 59;// 财富等级

  optional int32 angelDevilLevel = 60; // 天使与恶魔活动等级

  optional int32 idCardAge = 61;//身份证年龄
}

//用户数据列表
message UserBaseList {
  repeated UserBase list = 1;
}

//获取玩家基本信息(用户昵称+头像)
message UserBase {
  optional string userId = 1; //用户ID
  optional string nickName = 2; //用户昵称
  optional int32 logoTime = 3; //修改logo的时间 0为没修改过
  optional string headUrl = 4; //第三方头象
  optional int32 sex = 5; //性别
  optional int32 age = 6; //年龄
  optional string position = 7; //坐标
  optional int32 nobleId = 8;//当前贵族 0 为没有贵族
  optional int32 level = 9;//平台等级
  optional int32 funLevel = 10;//财富等级
  optional string headFrameId = 11; //当前使用的头象框ID(没有就为空字符串)
  optional int32 jobId = 12; // 角色id
  optional string headStampId = 13; //头像贴，头像表情id
  optional string slogan = 14; //个性化签名
  optional int32 liveLevel = 15;//主播等级
  optional int32 vipLv = 16; //平台VIP等级（旧值，请使用新值）
  optional bool isWarriorCloak = 17;// 是否开启勇者斗篷
  optional int32 vipType = 18; //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
  
  optional UserCloakInfo cloakInfo = 19;// 隐身斗篷信息

  optional int32 charmLevel = 20;//魅力等级
  optional string countryIcon = 21;//用户所在国家国旗emoji
}

//用户数据列表
message UserOptList {
  repeated UserOpt list = 1;
}

//用户组合数据
message UserOpt {
  // 必返回数据
  optional string userId = 1;
  optional string nickName = 2; //用户昵称
  optional int32 sex = 3; // 姓别 0 未知 1:男 2:女
  optional int32 level = 4; //平台等级
  optional bool online = 5; // 是否在线
  optional string position = 6; //地理位置
  optional string slogan = 7; //个性化签名
  optional bool isCancellation = 8; // 用户是否已注销
  optional string thirdIconUrl = 9; //headUrl头像地址
  optional int32 age = 10; //年龄
  optional bool isNewUser = 11; // 是否新注册用户
  optional int32 followEnterRoom = 12; // 跟随进房状态
  optional bool friendCheck = 13; // 加好友需要验证
  optional int32 funLevel = 14; // 财富等级
  optional int64 funExp = 15; // 财富经验

  // 好友数据
  optional int32 friendStatus = 16; //好友状态 0是自己,1是好友,2已请求,3对方已请求,4可请求加好友
  optional string friendRemark = 17; // 好友备注
  optional bool isBlackList = 18; // 是否是黑名单
  optional int64 addBlackListTime = 19; // 加入黑名单的时间

  // 用户在房间才有数据
  optional string roomId = 20; //用户所在房间号
  optional string roomName = 21; //用户所在房间名
  optional int32 roomType = 22; //用户所在房间类型
  optional string unionId = 23; //频道所在的公会id（公会房）
  optional int32 roomState = 24;// 用户所在房间状态

  // 针对getUnionUserOptList
  optional string nameCard = 25; //公会群名片
  optional int32 unionJobId = 26; //所在公会的职位id
  optional string unionPhoneNum = 27; //公会绑定的手机号
  optional int32 unionMemberLevel = 28; //公会成员等级

  optional bool liveFocus = 29; // 关注状态，是否关注
  optional double blackBean = 30; // V币
  optional int32 liveDiamond = 31; // 钻石
  optional int32 vipLv = 32; //平台vip（旧值，请使用新值vipType）
  optional int64 vipOverTime = 33; // VIP过期时间
  optional int32 nobleId = 34;//当前贵族 0 为没有贵族
  optional int32 follows = 35; // 我关注的数
  optional int32 friends = 36; // 被关注数(粉丝数)
  optional int32 momentCount = 37; //动态数量
  optional int32 funsGroup = 38; //粉丝团人数

  optional int32 stampId = 39; // 盖章Id
  optional string stampUserId = 40; // 盖章人Id
  optional string stampNickName = 41; // 盖章人昵称
  optional int64 stampOverTime = 42; // 盖章过期时间(倒计时毫秒)

  optional string anchorFunTypeUnionId = 43; // 主播隶属娱乐公会Id
  optional string anchorFunTypeUnionName = 44; // 主播隶属娱乐公会名称

  optional string headFrameId = 45; //当前使用的头象框ID(调整为必返回数据)
  repeated MedalResult.MedalInfo medals = 46; //勋章列表（以适应多勋章的情况）
  optional string fontColor = 47;//字体颜色

  optional string channelTag = 48; // 渠道标签
  optional bool isWeekStar = 49;// 是否周星达人
  optional int64 miaiCPOverTime = 50; // 相亲CP剩余时间

  optional int32 anchorLevel = 51;// 视频主播等级
  optional int32 charmLevel = 52; // 魅力等级
  optional int64 charmExp = 53; // 魅力经验

  optional string phoneNumber = 54;// 手机号(必返回)
  optional bool isBuyNoble = 55;// 是否购买过贵族

  optional bool bEverCharge = 56; //是否充值过一元档
  optional CommonResult.CuteInfo userIdCuteInfo = 57; //用户id-靓号信息
  optional bool bEverCharge98 = 58; //是否充值过98元档
  optional string headStampId = 59; //头像贴， 头像表情id
  optional int32 achievementLevel = 60; // 成就等级
  optional int32 achievementRank = 61; // 全服成就排名
  optional bool isHighRiskProhibitUser = 62; //高危封禁用户
  //是否是兄弟团用户
  optional bool isBroUser = 63;
  //兄弟团等级
  optional int32  broGroupLevel = 64;
  //兄弟团名称
  optional string broGroupName = 65;
  //是否佩戴勋章
  optional bool  showBroMedal = 66 ;

  //ip地址-省份
  optional string  location = 67;

  optional bool isWarriorCloak = 68;// 是否开启勇者斗篷

  optional int32 vipType = 69; //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
  //兄弟团勋章
  optional string broMedalIcon = 70;
  optional string charmIccon = 71;//蓬莱仙子专属动态图效
  optional string stampIcon = 72; //印章缩略图
  optional double stampIconWidth = 73; //印章宽度
  optional double stampIconHeight = 74; //印章高度
  optional int64 stampIconUpdateTime = 75; //印章更新时间
  optional int32  followUnionCount = 76 ;// 关注公会厅数量
  optional int32  nftDebrisNum = 77 ;// nft碎片数量
  repeated NftList nftList = 78;//nft集合

  optional string idColors = 79; //id颜色

  optional PropCardResult.MyNumberSkinInfo myNumberSkinInfo = 80; //靓号皮肤信息
  
  optional UserCloakInfo cloakInfo = 81;// 隐身斗篷信息

  optional int32 height = 82;//身高
  optional int32 weight = 83;//体重
  optional string countryI18n = 84;//IP所在国家国际化数据体{"zh_CN":"中国","en_US":"china","ar_SA":"الصين"}
  optional string country = 85;//IP所在国家

  optional int32 roomJobId = 86; //房间角色ID

  optional string countryIcon = 87;//国旗图标emoji
  
  optional int32 partyLevel = 88; // 酒吧贵气等级
  optional int64 partyExp = 89; // 酒吧贵气经验
  
  optional int32 qualifierPkLevel = 90;// pk排位赛用户等级
  optional int32 qualifierPkTotalStar = 91;// pk排位赛用户累计星级
  optional int32 angelDevilLevel = 92; // 天使与恶魔活动等级
}

message NftOpt{
  repeated NftList nftList = 1;//nft集合
}

//nft集合
message NftList{
  optional string themeId = 1;//主题id
  optional string title = 2;//标题
  optional string nftCoverBg =3;//封面背景图
  optional string nftPeriodIndex = 4;//nft期数编号
  optional string nftCardNum = 5;//nft卡编号
  optional int32 currentValue = 6;//当前进度
  optional int32 maxValue = 7;//最大进度
  optional bool own = 8;//是否拥有
  optional bool next = 9;//是否下一期
  optional string cardNum = 10;//卡编号（不带NO）
}

//nft详情
message NftDetail{
  repeated NftDetailItem normalList = 1;//正常款集合
  repeated NftDetailItem hideList = 2;//隐藏款集合
  optional string title = 3;//标题
  optional string saleTime = 4;//发售时间
  optional int32 completeNum = 5;//完成人数
  optional string nftCardNum = 6;//nft卡编号
  optional bool own = 7;//是否拥有
  optional string username = 8;//用户昵称
  optional string headUrl = 9;//用户头像
  optional string flashResource = 10;//flash动画资源

}

//nft详情明细项
message NftDetailItem{
  optional string giftId = 1;//礼物id
  optional string highImg = 2;//高亮背景图
  optional string grayImg = 3;//置灰背景图
  optional bool own = 4; //状态 是否拥有
}

//nft碎片信息
message NftDebrisInfo{
  optional int32 debrisNum = 1;//碎片数量

}

//玩家详细信息
message UserDetail {
  optional string nickName = 1; //用户昵称
  optional int32 sex = 2; // 姓别 0 未知 1:男 2:女
  optional int32 level = 3; //玩家等级
  optional string phoneNum = 4; // 电话号码
  optional int32 age = 5; //年龄
  optional string slogan = 6; //个性化签名
  optional string position = 7; //地标
  optional int32 friendStatus = 8; //好友状态 0是自己,1是好友,2已请求,3对方已请求,4可请求加好友
  optional OtherDetail details = 9; //其它信息
  optional int32 funLevel = 10; // 娱乐等级
  optional int32 friends = 11; // 粉丝数(被关注数)
  optional string friendRemark = 12; // 好友备注
  optional bool liveFocus = 13; // 关注主播状态
  optional int32 follows = 14; // 关注的数
  optional int32 vipLv = 15; //平台VIP等级(旧值，请使用新值vipType)
  optional int32 stampId = 16; // 盖章Id
  optional string stampUserId = 17; // 盖章人Id
  optional string stampNickName = 18; // 盖章人昵称
  optional int64 stampOverTime = 19; // 盖章过期时间(倒计时毫秒)
  optional string thirdIconUrl = 20; //第三方头像
  optional int32 nobleId = 21;//当前贵族 0 为没有贵族
  optional int32 charmLevel = 22; // 魅力等级
  optional int32 anchorLevel = 23;// 视频主播等级
  optional string headFrameId = 24; // 头像框ID
  optional bool isOnline = 25; // 是否在线
  optional bool isWeekStar = 26; //是否周星达人
  optional bool isNewUser = 27; // 是否新注册用户
  repeated MedalResult.MedalInfo medals = 28; // 勋章列表
  optional string headUrl = 29; // 头像url
  optional int32 momentNum = 30; // 动态数量
  repeated string playGames = 31; // 喜欢玩的游戏
  optional string constellation = 32; // 星座
  optional int32 emotion = 33; // 情感状态，0-保密 1-单身 2-恋爱中 3-已婚 4-同性？
  optional string job = 34; // 职业
  optional bool hasGift = 35; // 是否收到礼物
  optional bool hasCar = 36; // 是否有座驾
  optional bool updateSex = 37; // 是否有性别卡
  optional string fontColor = 38;// 字体颜色
  optional bool modifyTips = 39; // 编辑提示
  optional string birthday = 40; // 生日
  repeated string banners = 41; // banner图
  optional string userId = 42;// 当前用户id
  optional CommonResult.CuteInfo userIdCuteInfo = 57; //当前用户id-靓号信息
  optional bool isWarriorCloak = 58;//是否开启隐身斗篷
  optional int32 achievementLevel = 59; // 成就等级
  optional int32 achievementRank = 60; // 全服成就排名
  optional string homePageFloatId = 61;// 使用中的主页飘id
  optional bool isHighRiskProhibitUser = 62; //高危封禁用户
  optional string homePageFloatFullFile = 63;// 使用中的主页飘app个人主页文件名
  optional string homePageFloatCardFile = 64;// 使用中的主页飘app个人卡片文件名
  optional int32 totalGiftWallCount = 65; // 总的礼物墙数量
  optional int32 giftWallCount = 66; // 激活的礼物墙数量
  optional HomePageFloatInfo homePageFloatInfo = 67; // 用户主页飘信息
  optional string location = 68; // ip 地址信息
  optional int32 fanClubMedalLevel = 69;    // 粉丝团勋章等级
  optional string fanClubMedalName = 70;    // 粉丝团勋章名称
  optional string fanClubMedalIcon = 71;    // 粉丝团勋章icon左边
  optional string fanClubMedalBg = 72;      // 粉丝团勋章icon右边
  optional bool fanClubIsLive = 73;         // 粉丝团主播是否开播
  optional string fanClubAnchorRoomId = 74; // 粉丝团主播房间ID
  optional bool isWearMedal = 75;           // 是否佩戴粉丝团勋章
  optional bool isCustomMedal = 76;         // 粉丝团勋章是否为定制勋章（专属勋章需做特殊处理）

  optional int32 vipType = 77; //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
  optional string fanClubMedalIcon2 = 78;    // 粉丝团勋章icon左边(新尺寸)
  optional string fanClubMedalBg2 = 79;      // 粉丝团勋章icon右边(新尺寸)
  optional string customMedalIcon = 80;      // 粉丝团勋章icon右边(新尺寸)

  optional bool isPotentialUser = 81;//是否潜力用户

  optional int32 likes = 82;//点赞数
  optional string charmIccon = 83;//蓬莱仙子专属动态图效
  optional int32 followUnionCount = 84; //关注的公会数量

  optional SilveryValentineCard silveryCard = 85; //情侣卡

  repeated string virtualRoleHeadUrls = 86;//虚拟CP的形象（不含域名）
  repeated bool virtualRoleHeadOverTimes = 87;//虚拟CP形象是否过期

  optional string virtualRoleImageUrl = 88;//用户的虚拟形象uri(不含域名) 未创建虚拟用户时为空
  optional bool roleImageOverTime = 89;//用户的虚拟形象是否过期
  optional int32 nftDebrisNum = 90;//nft碎片数量

  optional string idColors = 91; //id颜色

  optional PersonalCardInfo personalCardInfo = 92;//个人卡片信息

  optional OfficialCertificationInfo officialCertificationInfo = 93;//官方认证信息

  optional PropCardResult.MyNumberSkinInfo myNumberSkinInfo = 94; //靓号皮肤信息
  
  optional UserCloakInfo cloakInfo = 95;// 隐身斗篷信息

  optional int32 height = 96;//身高
  optional int32 weight = 97;//体重
  optional string countryI18n = 98;//IP所在国家 国际化数据体{"zh_CN":"中国","en_US":"china","ar_SA":"الصين"}
  optional string country = 99;//IP所在国家
  optional string countryIcon = 100;//国旗图标emoji

  optional string constellationI18n = 101; // 星座国际化
  
  optional int32 partyLevel = 102; // 酒吧贵气等级
  
  optional int32 qualifierPkLevel = 103;// pk排位赛用户等级
  optional int32 qualifierPkTotalStar = 104;// pk排位赛用户累计星级
  repeated MedalResult.MedalInfo activityOnceMedals = 105; // 活动一次性勋章列表
  optional int32 angelDevilLevel = 106; // 天使与恶魔活动等级
}

message PersonalCardInfo{
  optional string staticFile = 1;//使用中个人静态卡片路径
  optional string dynamicFile = 2;//使用中个人卡片动态图标文件名
  optional string personalCardId = 3;//使用中个人卡片id
  optional string baseFile = 4;//使用中个人卡片底图路径
  optional int32 type = 5;// 1、活动卡片；2、贵族卡片
  optional string pcStaticFile = 6;//使用中pc静态卡片
  optional string pcDynamicFile = 7;//使用中pc动态卡片资源
  optional string leftUserHeadUrl = 8; // 左边用户头像， 拥用者
  optional string rightUserHeadUrl = 9; // 右边用户头像， CP
  optional string leftUserNickName = 10; // 左边拥有者昵称
  optional string rightUserNickName = 11; // 右边用户昵称， CP的昵称
  optional int32 personalCardType = 12;//个人卡片类型 0:普通 1:CP个人卡片
}

message SilveryValentineCard {
    optional string cardId = 1; // 卡片主键id
    optional bool isHave = 2; // 是否有情侣卡
    optional string userHeadUrl = 3; // 用户头像
    optional string anchorHeadUrl = 4; // 主播头像
    optional string userNickname = 5; // 用户昵称
    optional string anchorNickname = 6; // 主播昵称
    optional string title = 7; // 主标题
    optional string subtitle = 8; // 子标题
    optional string timeStr = 9; // 时间字符串
    optional string backgroundStr = 10; // 背景图字符串
}

message HomePageFloatInfo {
  optional string homePageFloatId = 1; // 主页飘id
  optional string leftUserHeadUrl = 2; // 左边用户头像， 拥用者
  optional string rightUserHeadUrl = 3; // 右边用户头像， CP
  optional string leftUserNickName = 4; // 左边拥有者昵称
  optional string rightUserNickName = 5; // 右边用户昵称， CP的昵称
  optional string userInfoBaseMap = 6; // 用户信息底图
}

//查看个人主页的其它信息
message OtherDetail {
  optional string roomId = 1; //所在房间id
  optional string roomName = 2; //所在房间名
  optional string unionId = 3;// 所在房间的公会id
  optional BagResult.GiftList gifts = 4; //礼物列表
  optional BagResult.CarList cars = 5; //座驾列表
  optional string inUnionId = 6; //所在公会
  optional string inUnionName = 7; //所在公会名
  optional int32 roomType = 8; //所在房间类型 ERoomMainType
  optional int32 roomStatus = 9; // 所在房间状态
  optional int32 inUnionType = 10; //所在公会类型  2:游戏公会 3:娱乐公会
  optional int32 inUnionLevel = 11; //所在公会等级
  optional string inUnionHeadUrl = 12; //所在公会头像
  optional CommonResult.CuteInfo inUnionIdCuteInfo = 13; //所在公会-靓号信息
  optional string roomUrl = 14;//直播间封面
}

//好友数据
message FriendList {
  repeated string userIds = 1; //玩家ID
  optional int32 friendCount = 2;//好友数量
}

//谁看过我记录
message LookMeList {
  repeated string userId = 1; //玩家Id
  repeated string userName = 2; //玩家昵称
  repeated int64 logTime = 3; //记录时间
}

//message MyDataInfo {
//  optional int32 friendCount = 1; //好友个数
//  optional int32 channelCount = 2; //收藏频道个数（废弃）
//  optional int32 payGameCount = 3; //玩过的游戏个数
//  optional double blackBean = 4; //我的钱包V币金额总数
//  optional int32 taskCount = 5; //未完成的任务个数(废弃)
//  optional int32 trusteeshipCount = 6; //新订单个数（废弃）
//  optional int32 lookMeCount = 7; //谁看过我数量
//  optional int32 dayLookMeCount = 8; //今天谁看过我数量
//  optional int32 groupCount = 9; //群组数量
//}

message UserLevel {
  optional string userId = 1; //玩家ID
  optional int32 level = 2; //玩家等级
  optional int32 dValue = 3; //升级还差的经验
  optional int32 iconLevel = 4; //Icon等级
}

//好友推荐
message FriendRecommended {
  optional string userId = 1; //被推荐的用户id
  optional string msg = 2; //消息(内容为(1:好友名，2:公会名，3:游戏名，4:距离(单位:m)，5：TA也在玩VV语音))
  optional int32 type = 3; //推荐类型(1:相同好友，2：相同公会，3：相同游戏，4：距离近 ，5:随机一个当天登陆的活跃用户)
}

//message NewTipsInfo {
//  optional int32 newCarState = 1; //0:没有新座驾 1：有新座驾并且为第一次 2：有新座驾
//}

//更新基础属性数据
message UpdateAttributes {
  repeated int32 attrIds = 1; //属性ID列表
  repeated int64 attrValues = 2; //属性值列表
}

//个人主页结果
message personHomePageBtnListResult {
  optional bool alreadyApply = 1; //是否已经申请好友
  optional bool alreadyBlackFriend = 2; //是否已经加入黑名单
  optional string remarkName = 3; //备注名称
}

//个人状态结果
//message UserStatusResult {
//  optional bool petCapcuted = 1; //宠物被抓
//}

// 删除好友通知信息
message delFriendInfo {
  optional string initiator = 1; // 删除好友发起人
  optional string accepter = 2; // 被删除好友
}

//扫描好友数量
message ScanNumResult {
  optional int32 num = 1;
}

message SignUpInfo {
  optional string carId = 1; //赠送的车ID
  optional int32 signDay = 2; //签到的天数
}

// 修改好友状态，广播通知
message ChangeUserFriendStatus {
  optional string initiator = 1; // 申请发起人
  optional string accepter = 2; // 接收人
  optional int32 status = 3; // 好友状态，1-申请加好友 2-同意加好友 3-删除好友
  optional string nickName = 4; // 申请人昵称
}

// 用户上线/下线，广播通知
message UserOnlineOrNot {
  optional string userId = 1; // 用户id，通知好友
  optional bool isOnline = 2; // 是否在线
}

message DeviceConfigInfo {
  optional bool liveSuspend = 1; //直播间悬浮窗口开关
  optional int32 voiceSuspend = 2; //语音房间悬浮窗口设置类型
  optional bool openLocation = 3; //是否开启定位
  optional bool newMsgNotice = 4; //是否收新消息通知
  optional bool strangerNews = 5; //是否收打招呼消息通知
}

// 盖章广播
message stampBroadcast {
  optional string userId = 1; //被盖章用户ID
  optional int32 stampId = 2; //盖章ID，不传代表盖章过期
  optional int32 stampActionType = 3; //盖章时长类型，1-盖章30分钟；2-盖章60分钟
  optional string nickName = 4; //被盖章用户昵称
  optional int32 funlevel = 5; //娱乐等级
  optional string sendUserId = 6; //盖章用户ID
  optional string sendNickName = 7; //盖章用户昵称
  optional int32 sendFunlevel = 8; // 盖章用户娱乐等级
  optional bool isWarriorCloak = 9;// 是否开启勇者斗篷
  optional string emoteUrl = 10;// 表情
  
  optional UserCloakInfo cloakInfo = 11;// 隐身斗篷信息
}

// 用户服务广播通知
message UserServiceBroadcast {
  optional int32 serviceType = 1; //通知类型 1-用户登录限制 2.红点提示 3.警告提示
  optional string data = 2; //通知内容 跟类型 1:无 2:红点提示类型
  optional string userId = 3;//用户ID
  //扩展参数
  //serviceType=3时的数据内容 JSON{'maskTime':60} maskTime参数遮罩时间单位秒，params和maskTime为空或maskTime=0时不用处理遮罩
  optional string extParam = 4;
  optional string dataI18n = 5;// 通知内容国际化
  optional string extParamI18n = 6;// 扩展参数国际化
}

message UserHeadFrameData {
  repeated string ids = 1; //已经拥有的头象框ID
  repeated int64 overTimes = 2; //头象框过期时间戳（-1为无限）
}

// 游客登录
message VisitorLogon {
  optional string userId = 1; // 游客ID
  optional string serverId = 2; // 当前服务器ID，已无效
  optional string host = 3; //socket连接host，已无效
  optional int32 port = 4; //socket连接port，已无效
  optional int32 h5port = 5; //websocket连接port，已无效
  optional string sessionId = 6; //当前请求交互的sessionId
  optional string tlsSig = 7; //腾讯Tls后台签名，im
  optional string trtcUserSig = 8;// trtcUserSig
}

// 收到的礼物列表
message ReceiveGifts {
  repeated ReceiveGiftInfo list = 1;
}

// 礼物信息
message ReceiveGiftInfo {
  optional string giftId = 1; //礼物ID
  optional int64 num = 2; //数量
  optional string name = 3; //名称
  optional int32 type = 4; //类型
  optional int32 price = 5; //价格
  optional int32 state = 6; //是否有效 0-无效 1-有效
}

//离线原因
message S2COffline {
  optional string userId = 1; //当前请求交互的userId
}

// 元宝交易明细列表
message IngotsDealData {
  repeated IngotsDealInfo list = 1; // 元宝交易明细列表
}

// 元宝交易信息
message IngotsDealInfo {
  optional string id = 1; // 记录ID
  optional string userId = 2; // 用户id
  optional string receiveId = 3; // 接收者id
  optional int32 source = 4; // 来源，送礼-6，元宝开黑任务领取-71，元宝签到任务奖励-72，元宝新手任务奖励-73，元宝精英任务奖励-74，元宝成就任务奖励-75，平台等级升级-76，财富等级升级-77，元宝实物兑换-78，游戏充值-2，活动消费元宝-79，活动获得元宝-80
  optional string target = 5; // 目标，对应来源，礼物Id，任务Id，平台等级，财富等级，实物Id，充值订单，活动id
  optional int32 num = 6; // 礼物的数量，或者签到打卡天数
  optional int32 ingots = 7; // 元宝，送礼与兑换是消费，其余是获得
  optional int64 createTime = 8; //创建时间
  optional string showNickName = 9; // 展示的用户昵称
  optional int64 showLogoTime = 10; // 展示的用户修改logo的时间，0为没修改过 -1为第三方头像
  optional string showHeadUrl = 11; // 展示的用户第三方头像
}

// 每日经验信息
message DayPointInfo {
  optional int32 onlinePointMax = 1; // 最大获得经验值
  optional int64 userPoint = 2; // 用户获得经验值
  optional int32 vipRate = 3; // 平台vip加速倍数（需要缩小10倍）
  optional int32 onlineTime = 4; // 在线时长，单位分
}

// 获得元宝广播通知
message IngotsDealBroadcast {
  optional int32 source = 1; // 来源，元宝签到任务奖励-72，平台等级升级-76，财富等级升级-77
  optional string target = 2; // 目标，对应来源，任务Id，平台等级，财富等级
  optional int32 ingots = 3; // 元宝
  optional int32 num = 4; // 对应签到任务，打卡天数
  optional int32 nextNum = 5; // 下次特殊奖励剩余天数
  optional int32 nextIngots = 6; // 下次奖励元宝
  optional string nextCarId = 7; // 下次奖励座驾
  optional int32 nextOverDays = 8; // 下次奖励座驾有效天数
  optional int32 otherIngots = 9; // 额外奖励元宝
  optional string otherCarId = 10; // 额外奖励座驾
  optional int32 otherOverDays = 11; // 额外奖励座驾有效天数
}

// 用户信息
//message UserInfo {
//  optional string banners = 1; //banner图，图ID列表，逗号分隔
//  optional string nickName = 2; //昵称
//  optional string userId = 3; //用户ID
//  optional int32 logoTime = 4; //修改logo的时间 0为没修改过
//  optional string thirdIconurl = 5; //第三方头像
//  optional int32 sex = 6; // 姓别 0 未知 1:男 2:女
//  optional int32 level = 7; //玩家等级
//  optional string phoneNum = 8; // 电话号码
//  optional int32 age = 9; //年龄
//  optional string slogan = 10; //个性化签名
//  optional string position = 11; //地标
//
//  optional int32 livelevel = 12; // 主播等级（废弃）
//  optional int32 hotlevel = 13; // 人气等级（废弃）
//  optional int32 funlevel = 14; // 娱乐等级
//  optional int32 vipLv = 15; //平台VIP等级
//  optional int32 petLevel = 16; // 宠物等级(0级未领取宠物)(废弃)
//
//  optional int32 friends = 17; // 粉丝数(被关注数)
//  optional int32 follows = 18; // 关注的数
//
//  optional int32 emotion = 19; //情感，0-保密 1-单身 2-恋爱中 3-已婚 4-同性？
//  optional string constellation = 20; //星座
//  optional string birthday = 21; //生日
//  optional string job = 22; //职业
//  repeated string playGames = 23; //喜欢玩的游戏
//
//  optional string unionId = 24; //公会ID
//  optional int32 unionLogoTime = 25; //公会头像0为没修改过
//  optional string coverId = 26; //公会封面ID
//  optional string unionName = 27; //公会名称
//  optional int32 unionLv = 28; //公会等级
//  optional int32 unionType = 29; // 公会类型 1:系统公会,2:游戏公会,3:娱乐公会
//
//  optional bool hasCar = 30; //是否拥有座驾
//  optional bool hasGift = 31; //是否收到礼物
//
//  optional bool livefocus = 32; //是否关注主播
//  optional int32 relationship = 33; //关系，版本未定
//  repeated string friendliness = 34; //亲密榜，版本未定
//
//  optional int32 momentNum = 35; // 动态数量
//  optional bool modifyTips = 36; // 编辑提示
//  optional string roomId = 37; //所在房间，若空，则不在房间
//  optional string roomName = 38; //房间名
//  optional int32 roomType = 39; //所在房间类型 ERoomMainType
//  optional string roomUnionId = 40; //房间所属公会
//
//  optional string headFrameId = 41; // 头像框
//
//  optional string channelTag = 42; // 渠道标签
//  optional bool isNewUser = 43; // 是否新注册用户
//
//  optional int32 activityMedalId = 44; //活动勋章id(默认为0,即没有勋章)
//  optional bool updateSex = 45; // 是否更新性别卡
//
//  optional string friendRemark = 46; // 好友备注
//  optional int32 activityUniqueMedalId = 47; //活动专属勋章id(默认为0,即没有勋章)
//  repeated MedalResult.MedalInfo medals = 48; //勋章列表（以适应多勋章的情况）
//
//  optional bool isWeekStar = 49;// 是否周星达人
//  optional string fontColor = 50;//昵称/字体颜色
//  optional int32 nobleId = 51;//当前贵族 0 为没有贵族
//
//  optional int32 charmLevel = 52;// 魅力等级
//}

// 我的用户信息
message MyUserInfo {
  optional string userId = 1; // 用户ID
  optional string nickName = 2; // 昵称
  optional int32 logoTime = 3; // 修改logo的时间 0为没修改过
  optional string thirdIconurl = 4; // 第三方头像
  optional int32 sex = 5; // 姓别 0 未知 1:男 2:女
  optional int32 level = 6; //玩家等级
  optional string phoneNum = 7; // 电话号码
  optional int32 age = 8; //年龄
  optional string slogan = 9; //个性化签名
  optional string position = 10; //地标

  optional int32 livelevel = 11; // 主播等级
  optional int32 hotlevel = 12; // 人气等级
  optional int32 funlevel = 13; // 娱乐等级
  optional int32 vipLv = 14; // 平台VIP等级(旧值请使用新值vipType)
  optional int32 petLevel = 15; // 宠物等级(0级未领取宠物)
  optional int32 friends = 16; // 粉丝数(被关注数)
  optional int32 follows = 17; // 关注的数

  optional int32 liveDiamond = 18; // 非绑定钻石
  optional int32 bindLiveDiamond = 19; // 绑定钻石
  optional int32 ingots = 20; // 元宝
  optional int32 blackBean = 21; // V币
  optional int32 bindBlackBean = 22; // 绑定V币

  optional string headFrameId = 23; // 头像框

  optional bool isWeekStar = 24;// 是否周星达人

  repeated MedalResult.MedalInfo medals = 25; //勋章列表（以适应多勋章的情况）

  optional string fontColor = 26;//昵称/字体颜色
  optional int32 nobleId = 27;//当前贵族 0 为没有贵族

  optional int32 charmLevel = 28;// 魅力等级

  optional int32 vipType = 29; //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
}

// 在线用户信息列表
message OnlineUserList {
  repeated OnlineuserInfo list = 1;
  optional bool invitationCode = 2;//是否为邀请码
}

// 在线用户信息
message OnlineuserInfo {
  optional string userId = 1; // 用户ID
  optional string nickname = 2; // 用户昵称
  optional int64 loginTime = 3; // 登录时间
  optional int32 logoTime = 4; // 头像修改时间
  optional int32 sex = 5; // 发送者性别
  optional int32 age = 6; // 发送者年龄
  optional int32 vipLv = 7; // 平台vip(旧值，请使用新值vipType)
  optional string position = 8; // 地理位置
  optional string slogan = 9; // 个性化签名
  optional bool isLive = 10; // 是否在语音或直播房间
  optional string headUrl = 11; //	第三方头像url
  optional bool isWeekStar = 12;// 是否周星达人
  repeated MedalResult.MedalInfo medals = 13; //勋章列表（以适应多勋章的情况）
  optional int32 anchorLevel = 14; // 主播等级
  optional string userIdCute = 15; // 用户ID-靓号
  optional int32 vipType = 16; //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
  optional int32 funLevel = 17;// 魅力等级
  optional int32 charmLevel = 18;// 魅力等级
  optional int32 level = 19;// 平台等级
  optional int32 nobleId = 20;//当前贵族ID 0 为没有贵族
  optional string country = 21;//IP所在国家 = 25;// 魅力等级
  optional string countryI18n = 22;//IP所在国家国际化数据体{"zh_CN":"中国","en_US":"china","ar_SA":"الصين"}
  optional string countryIcon = 23;//国旗图标emoji
}

// 套装赠送礼物用户信息
message GiftPackageMallUserInfo {
  optional string userId = 1; // 用户ID
  optional string nickname = 2; // 用户昵称
  optional int32 logoTime = 3; // 头像修改时间
  optional string headUrl = 4; //    第三方头像url
  optional string userIdCute = 5; // 用户ID-靓号
  optional bool isAnchor = 6; // 是否是主播
  optional int32 friendStatus = 7; // 好友状态（ 0是自己,1是好友,2已请求,3对方已请求,4可请求加好友）
  optional bool giftFlag = 8; // 是否赠送过
  optional bool askForFlag = 9; // 是否索要过
  optional string tips = 10; // 文案提示
}

// 陌生人消息信息
message StrangerMsg {
  optional bool canSendMsg = 1; // 能否发送陌生人消息
  optional int32 strangerCount = 2; // 陌生人消息数量，0-代表是好友
}

// 推荐主播列表
message RecommendAnchorList {
  repeated RecommendAnchorInfo list = 1;
}

// 推荐主播信息
message RecommendAnchorInfo {
  optional string userId = 1; // 用户ID
  optional string nickName = 2; // 昵称
  optional int32 logoTime = 3; // 修改logo的时间 0为没修改过
  optional string thirdIconurl = 4; // 第三方头像
  optional int32 sex = 5; // 姓别 0 未知 1:男 2:女
  optional int32 age = 6; //年龄
  optional string roomId = 7; // 开播房间(语音或视频)
}

// 娱乐推广专属礼包列表
message NewUserGiftPackageList{
  repeated NewUserGiftPackageInfo list = 1;
  optional string bindAnchorId = 2;
}
// 娱乐推广专属礼包
message NewUserGiftPackageInfo {
  optional string imgUrl = 1; // 礼物图片url
  optional string desc = 2; // 描述
}

// 用户通用信息广播
//attrIds 类型：1-黑名单，2-昵称/字体颜色特效
//attrValues：           如果是昵称/字体颜色特效对应的是其id
message UserCommonInfoBroadcast {
  repeated int32 attrIds = 1;// 属性ID列表
  repeated string attrValues = 2;// 属性值列表
  optional string userId = 3;// 用户id
  optional string attrValuesI18n = 4;// 属性值列表国际化
}

//巨星等级提升
message StarLevelUpBroadcast {
  optional UserBase anchorVo = 1;//升级的主播用户数据
  optional int32 starLv = 2;//星级
  repeated UserBase thanksUser = 3;//感谢的用户列表
  optional int32 rewardDiamond = 4;//升级获得的钻石
}

//频道通知
message ChannelNoticBroadcast {
  optional string msgId = 1;//消息ID
  repeated string msgParam = 2;//消息参数
  optional int32 noticType = 3;//通知消息类型 1：频道通知
  optional UserBase targetUser = 4;//目标用户数据
}


// 娱乐推广用户是否有礼物包裹
message HaveGiftPackage{
  optional int32 haveGiftPackge = 1;// 用户是否有包裹礼物  1:有 2没有
}

message IntegralData {
  optional int32 integral = 1;//积分
  optional int32 brokenMoney = 2;//零钱
  repeated IntegralLogVo logVos = 3;//积分记录
}

message IntegralLogData {
  repeated IntegralLogVo logVos = 1;//积分记录
}

message IntegralLogVo {
  optional int32 id = 1;//日志唯一ID
  optional int64 logTime = 2;//日志时间
  optional string cause = 3;//原因
  optional int32 changeValue = 4;//变动值
  optional int32 integral = 5;//当时总积分
}

message BrokenMoneyData {
  optional int32 brokenMoney = 1    ;//零钱(单位分)
  repeated BrokenMoneyVo logVos = 2;//零钱记录
}

message BrokenMoneyLogData {
  repeated BrokenMoneyVo logVos = 1;//零钱记录
}

message BrokenMoneyVo {
  optional int32 id = 1;//日志唯一ID
  optional int64 logTime = 2;//日志时间
  optional string cause = 3;//原因
  optional int32 changeValue = 4;//变动值(单位分)
  optional int32 brokenMoney = 5;//当时零钱(单位分)
}

message MyGoodsDataResult {
  repeated MyGoodsVo list = 1;
}

message MyGoodsVo {
  optional string id = 1;//唯一ID
  optional string goodsId = 2;//物品ID
  optional int32 goodsType = 3;//物品类型 商品类型 1:零钱(现金) 2:礼物 3:实物 4:钻石 5:游戏礼包码 6:卡码
  optional int32 goodsNum = 4;//物品数量
  optional string name = 5;//姓名
  optional string phoneNumber = 6;//联系电话
  optional string address = 7;//收货地址
  optional bool convert = 8;//是否已兑换
  optional int32 goodsIValue1 = 9;//物品类型对应 数值参数   1:零钱值  2:无  3:无  4:钻石 5:无 6:无
  optional string goodsSValue1 = 10;//物品类型对应 字符参数   1:无  2:无  3:无  4:无 5:游戏ID 6:卡号
  optional string goodsSValue2 = 11;//物品类型对应 字符参数   1:无  2:无  3:无  4:无 5:游戏礼包码 6:卡密
  optional int64 createTime = 12;//领取时间
  optional int64 overTime = 13;//过期时间
}

// 主播等级
message AnchorLevelInfo{
  optional int32 level = 1;
  optional int32 liveTime = 2;
  optional int32 requireTime = 3;
  optional int32 requireMoney = 4;
  optional int64 receivedMoney = 5;
}

//青少年数据
message YouthModeResult {
  optional int32 youthMode = 1;//青年模式-1:暂时解锁青年模式  0:不需要青年模式 1:未开启青年模式 2:已开启青年模式 3:已使用超过40（配表）分钟
}

// 我的气泡信息
message MyBubbleInfo {
  optional string useBubble = 1;// 使用的气泡
  repeated string bubbleList = 2;// 我的气泡列表
  optional string bulletChatLogoUrl = 3;// 弹幕图标图
  optional int32 type = 4;// 类型：0-普通气泡 1-弹幕气泡
}

// 用户房间信息
message UserLocationRoomInfo {
  optional string roomId = 1; //所在房间，若空，则不在房间
  optional int32 roomType = 2; //所在房间类型 ERoomMainType
  optional string roomUnionId = 3; // 用户所在房间所属公会
  optional string roomName = 4; // 用户所在房间名称
  optional int32 roomState = 5;// 用户所在房间状态
  optional string roomUrl = 6;//房间封面
}

message FriendInfoList {
  repeated FriendInfo list = 1;
}

message FriendInfo {
  optional string userId = 1;
  optional string nickName = 2;
  optional int32 sex = 3;
  optional bool online = 4;
  optional int32 logoTime = 5;
  optional string headUrl = 6;
}

// 邀请码修改信息，广播通用
message InvitationInfo {
  optional string mcId = 1;// 主渠道
  optional string scId = 2;// 子渠道
  optional string bindAnchorId = 3;// 绑定主播Id
  optional string roomId = 4;// 所在房间，若空，则不在房间
  optional string roomName = 5;// 房间名
  optional int32 roomType = 6;// 所在房间类型 ERoomMainType
  optional string roomUnionId = 7;// 房间所属公会
  optional int32 resultCode = 8;// 邀请码错误码
}

// 用户直播流水 收益 提现余额信息
message UserRevenueInfo {
  optional double liveEarn = 1;//月流水(单位'厘')
  optional double totalLiveEarn = 2;//总流水(单位'厘')
  optional double balance = 3; //可提现金额 (单位'元')
  optional double freezeBalance = 4;// 冻结金额 (单位'元')(不可提现的)
  optional double dayBalance = 5; //当天可提现金额 (单位'元')
  optional double monthLiveBalance = 6; // 本月收益(单位'厘')
  optional double totalTax = 7; //总预扣税收
  optional double monthLiveTax = 8; //本月的税收
  optional double exchangeRate = 9; //兑换比例
}

//主播中心 中播薪资信息
message AnchorSalaryInfo {
  optional int32 jobId = 1;//身份ID 1:家族长 100：主播 其它
  optional double salary = 2; //可提现薪资余额 (单位'美元')
  optional int64 surplusDiamond = 3;//历史结余金币流水(国内是钻石)
  optional int64 stTimeDiamond = 4;//本期金币流水(国内是钻石)

  optional float userSalary = 5;//本期主播薪资（美元）
  optional float userRewardSalary = 6;//本期主播奖励（美元）（已废弃）
  optional float userCommissionSalary = 7;//本期家族长薪资（美元）

  optional string familyId = 8;//签约的家族ID

  optional int32 liveTime = 9;//上麦时长(秒)
  optional int32 liveDay = 10;//有效直播天数

  optional double balance = 11;//本期积分(结余积分)

}

// 用户当前平台等级、财富等级、魅力等级、成就等级信息以及距离下一等级经验差
message UserLevelInfo {
  optional string userLevelName = 1; // 用户当前平台等级名称
  optional int32 userLevelNextPoint = 2; // 平台等级距离下一级经验
  optional string funLevelName = 3; // 用户财富等级名称
  optional int32 funLevelNextPoint = 4; // 财富等级距离下一级经验
  optional string charmLevelName = 5; // 用户当前魅力等级名称
  optional int32 charmLevelNextPoint = 6; // 魅力等级距离下一级经验
  optional int64 vipOverTime = 7; // vip过期时间
  optional double vipRate = 8; // vip加速倍率
  optional string achievementLevelName = 9;// 用户当前成就等级名称
  optional int32 achievementLevelNextPoint = 10;// 成就等级距离下一级经验
}

//用户渠道信息
message UserChannelData {
  optional string mcId = 1;// 主渠道
  optional string scId = 2;// 子渠道
}

//获取用户vip客服组
message CustomerServiceGroup {
  repeated string normalGroup = 1;// 普通用户客服
  repeated string vipGroup = 2;// vip用户客服
}

//平台尊贵VIP广播
message PlatHonorVipBroadcast {
  optional bool isVip = 1;
}

//实名认证提示广播
message RealNameTipBroadcast {
  optional bool isTip = 1;
}

//获取用户勇者斗篷信息
message getWarriorCloakInfo{
  optional bool warriorCloak = 1;//勇者斗篷开启状态
  optional bool warriorCloakProp = 2;//勇者斗篷领取状态
  
  optional UserCloakInfo cloakInfo = 3;// 隐身斗篷信息
}

// 用户等级变化通知
message UserLevelChangeBroadcast {
  optional int32 type = 1;                // 等级类型 1=成就等级
  optional int32 curLevel = 2;            // 当前等级
  optional string userId = 3;             // 用户ID
}

// 我的主页飘信息
message MyHomePageFloatInfo {
  optional string useFloat = 1;// 使用的主页飘
  repeated string floatList = 2;// 我的主页飘列表
}

message GiftBoxInfoList {
  repeated GiftBoxInfo giftBoxInfos = 1;// 礼物盒列表
  optional bool showTab = 2;// 是否展示礼盒面板
}

message GiftBoxInfo {
  optional string giftName = 1;// 礼物名称
  optional string giftId = 2;// 礼物ID
  optional int32 price = 3;// 礼物钻石
  repeated GiftBoxGiftInfo giftBoxGiftInfos = 4;//礼物盒下的礼物
}

message GiftBoxGiftInfo {
  optional string giftName = 1;// 礼物名称
  optional string giftId = 2;// 礼物ID
}

message LuckyBagInfoList {
  repeated LuckyBagGiftInfo luckyBagGiftInfos = 1;// 福袋礼物信息
}

message LuckyBagGiftInfo {
  optional string giftName = 1;// 礼物名称
  optional string giftId = 2;// 礼物ID
}

message CustomQuotaInfo {
  optional bool status = 1;// 显示开关
  optional int32 quota = 2;// 消费提醒额度
  optional bool everyDayConsumeTip = 3;//每日消费提醒开关
  optional double consume = 4;// 今日消费
  optional int32 minQuota = 5;//最小提醒额度
  optional int32 section = 6;//单位
}

message UserInterestCardInfo{
  repeated string userKeyword = 1; //用户设置的关键字
  repeated string systemKeyword = 2; //系统关键字
  optional string content = 3;// 描述
  repeated string pic = 4;// 图片地址
  optional int32 keywordNum = 5;// 兴趣卡关键字数量限制
  optional int32 contentLength = 6;// 兴趣卡描述长度限制
  optional int32 picNum = 7;// 兴趣卡图片数量限制
  optional string headUrl = 8;// 头像
  optional string nickName = 9;// 昵称
  optional int32 likes = 10;// 点赞数
  optional bool isLike = 11;//今天是否点赞
}


message GiftInfoList {
  //礼物列表
  repeated GiftInfo giftLists = 1;
}

// 礼物信息
message GiftInfo{
  optional string giftId = 1;                   // 礼物ID
  optional bool showUp = 2;                     // 是否展示礼物列表up标识(true-是，false-否)
}

message stampNewBroadcast {
  optional string userId = 1; //被盖章用户ID
  optional int32 stampId = 2; //盖章ID，不传代表盖章过期
  optional int32 stampActionType = 3; //盖章时长类型，1-盖章30分钟；2-盖章60分钟
  optional string nickName = 4; //被盖章用户昵称
  optional int32 funlevel = 5; //娱乐等级
  optional string sendUserId = 6; //盖章用户ID
  optional string sendNickName = 7; //盖章用户昵称
  optional int32 sendFunlevel = 8; // 盖章用户娱乐等级
  optional bool isWarriorCloak = 9;// 是否开启勇者斗篷
  optional string emoteUrl = 10;// 表情
  optional string icon = 11;// 缩略图
  optional double height = 12;// 缩略图高度
  optional double width = 13;// 缩略图宽度
  optional int64 updateTime = 14; //更新时间
  optional string stampName = 15; //名称
  optional string receiverHeadUrl = 17; //被盖章人头像
  
  optional UserCloakInfo cloakInfo = 18;// 隐身斗篷信息
}

message CountryData {
  optional string country = 1; //国家名称 中国
  optional string countryIsoCode = 2; //国家国际代码 CN
  optional string language = 3;//国家语言代码 zh
  optional int32 mobileCountryCode = 4;//国家电话号码区号
}

message userServiceCharge {
  optional double serviceCharge = 1; //服务费
  optional double commissionPercentage =  2; //服务费比例
}

message SmsData {
  optional int32 overTime = 1;//限时的短信会返回限时秒数
}


message SimpleUserInfoList {
  repeated SimpleUserInfo list = 1;
}

message SimpleUserInfo {
  optional string userId = 1;//用户ID
  optional string nickName = 2;//用户昵称
  optional string headUrl = 3;//用户头像s
}

message OfficialCertificationInfo {
  optional string officialCertificationId = 1;//官方认证id
  optional string officialCertificationText = 2;//官方认证文本
  optional string officialCertificationIcon = 3;//官方认证图片
}

message MyOfficialCertificationInfo {
  repeated OfficialCertificationInfo myOfficialCertificationInfo = 1;//官方认证集合
}

message UserAwardWearSwitchInfo {
  optional bool isAwardWear = 1;//奖励自动穿戴开关
}

message UserConfigInfo {
  optional DeviceConfigInfo deviceConfig = 1;//对应设备的配置
  optional bool blockPrivateChat = 2;//私聊屏蔽开关
}

message NobleRecreationList{
  repeated NobleRecreationInfo list = 1;
}

message NobleRecreationInfo{
  optional string id = 1;//id
  optional string name = 2;//名称
  optional string playType = 3;//播放类型
  optional int32 num = 4;//数量
  optional string range = 5;//范围
  optional string msg = 6;//信息模板
  optional int32 visibleType = 7;//可见类型 -1都不可见  0全部可见 1 私聊可见 2 语音房可见
  optional string flashName = 8;//flash名称
  optional string flashVersion = 9;//flash版本
  optional bool isLock = 10;//是否锁定

}

// 用户隐身斗篷信息，广播通用
message UserCloakInfo {
  optional bool isCloak = 1;// 是否开启隐身斗篷
  optional bool hadCloak = 2;// 是否拥有隐身斗篷
  optional int32 cloakLevel = 3;// 隐身斗篷等级
  optional int32 usedLevel = 4;// 当前使用的隐身斗篷等级
  optional string cloakNickName = 5;// 当前使用的隐身斗篷昵称
  optional string cloakUrl = 6;// 当前使用的隐身斗篷头像 
  optional string userId = 7;// 用户id，冗余字段广播需要使用
  optional int32 soundCardId = 8;//变声器声卡ID
  optional string soundCardName = 9;//变声器声卡名称
  optional bool soundCardStatus = 10;//变声器开启状态
  optional string cloakNickNameI18n = 11;// 当前使用的隐身斗篷昵称
  optional string soundCardNameI18n = 12;// 当前使用的隐身斗篷头像
}

// 用户货币明细列表
message CurrencyDetailList {
  repeated CurrencyDetailInfo list = 1;
}

message CurrencyDetailInfo {
  optional int64 id = 1;// 流水自增ID
  optional string itemName = 2;// 项目名称
  optional string itemNameI18n = 3;// 国际化项目名称
  optional string num = 4;// 展示货币数量
  optional string consumeTime = 5;// 消费时间
  optional int32 operateType = 6;//0 支出 1 收入

}

//获取用户勇者斗篷信息
message getWarriorCloakInfoOnRoom{
  optional bool warriorCloak = 1;//勇者斗篷开启状态
  optional string useNickName = 2;//当前使用的昵称
  optional int32 usedLevel = 3;// 当前使用的隐身斗篷等级
  repeated UserCloakInfoListOnRoom list = 4;// 隐身斗篷信息
  optional bool soundCardStatus = 5;//变声器开启状态
  optional int32 soundCardId = 6;//变声器声卡ID
  optional string soundCardName = 7;//变声器声卡名称
}
// 用户隐身斗篷信息，房间内使用
message UserCloakInfoListOnRoom {
  optional int32 cloakLevel = 1;// 隐身斗篷等级
  optional string cloakUrl = 2;// 隐身斗篷头像
  optional int64 overTime = 3; // 斗篷过期时间
}

// 用户版本信息
message UserVersionInfo {
  optional string versionCode = 1;  // 最新版本号
  optional bool isMarketPackage = 2; // 是否是市场包
  optional bool isUpdate = 3; // 是否需要更新
  optional int32 forceUpdate = 4; // 0-不提示更新，1-强更 2-提示
  optional int32 packageFlag = 5; // 0-无需更新 1-补丁，2-整包
}

//随机变声器返回信息
message RandomSoundCardInfo{
  optional int32 soundCardId = 1;//变声器声卡ID
  optional string soundCardName = 2;//变声器声卡名称
}

// 语音主播获取地址信息
message VoiceAnchorAddressInfo {
  optional bool isWhiteList = 1; // 是否在主播私聊白名单
  optional string gpsAddress = 2; // GPS定位地址
  optional bool isRestartGetAddress = 3; // 是否需要重新获取地址
  optional bool isVoiceAnchor = 4; // 是否是语音主播
}

message StAnchorLiveResult {
  repeated StAnchorLiveInfo list = 1;
  optional string familyId = 2;
  optional int32 stDiamondTotal = 3;//金币总流水(国内为钻石)
  optional int32 page = 4;//页码
  optional int32 pageSize = 5;//每页数量
  optional int32 memberCount = 6;//家族人数
  optional int32 totalCount = 7;//总条数
}

message StAnchorLiveInfo {
  optional string userId = 1;//用户ID
  optional string nickName = 2;//昵称
  optional string headUrl = 3;//头像
  optional int32 stDiamond = 4;//金币流水(国内为钻石)
  optional int32 liveTime = 5;//上麦时长（秒）
  optional int32 surplusDiamond = 6;//结余的流水(国内为钻石)
  optional int32 liveDay = 7;//有效直播天数
  optional float userCommissionSalary = 8;//公会长薪资
}

message UserModules {
  repeated UserModuleVo list = 1;
}

// SuperUser("u001","超管"),
// BDUser("u002","BD"),
// InviteFriends("u003","邀请好友"),
// InviteCode("u004","填写邀请码"),
// CoinSeller("u005","币商入口"),
message UserModuleVo {
  optional string moduleId = 1;//模块ID
  optional string moduleName = 2;//模块名称
  optional string moduleNameI18n = 3;//模块名称国际化
  optional int32  status = 4;//状态
}

message StUnionLiveResult {
  repeated StUnionLiveInfo list = 1;
  optional int32 page = 2;//页码
  optional int32 pageSize = 3;//每页数量
  optional int32 totalCount = 4;//总条数
  optional int32 unionCount = 5;//公会数量
  optional int32 stDiamondTotal = 6;//金币总流水(国内为钻石)
}

message StUnionLiveInfo {
  optional string unionId = 1;//公会ID
  optional string unionName = 2;//公会名称
  optional string logo = 3;//头像
  optional string masterId = 4;//公会长ID
  optional int32 familyMemberCount = 5;//家族成员数量
  optional int32 stDiamond = 6;//金币流水(国内为钻石)
  optional string createTime = 7;//创建时间
}

message ExchangeDiamondBonusInfo {
  optional double exchangeDiamondNum = 1; //兑换蓝钻数
  optional double exchangeDiamondBonusRate =  2; //兑换比例比例
}
