syntax = "proto2";

package CommonResult;

import "MedalResult.proto";
//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "CommonResult";
import "PropCardResult.proto";

//单个字符串数据
message StringResult {
  optional string data = 1;
  optional string dataI18n = 2;
}

//字符串数组
message StringArrayResult {
  repeated string datas = 1;
}

//单个整形数据
message IntResult {
  optional int32 data = 1;
}

//单个长整形数据
message LongResult {
  optional int64 data = 1;
}

//单个Float数据
message FloatResult {
  optional double data = 1;
}

//单个Double数据
message DoubleResult {
  optional double data = 1;
}

//单个布尔型数据
message BoolResult {
  optional bool data = 1;
}

//整形数组
message IntDatas {
  repeated int32 datas = 1;
}


//整形数组
message LongDatas {
  repeated int64 datas = 1;
}

//Float数组
message FloatDatas {
  repeated double data = 1;
}

//Double数组
message DoubleDatas {
  repeated double data = 1;
}

//通用id数量
message IdNums {
  repeated int32 ids = 1;//id
  repeated int32 nums = 2;//数量
}

message SearchData {
  repeated SearchVo datas = 1;
}

message SearchVo {
  optional int32 type = 1;//数据类型:1公会;2群组;3用户
  optional string id = 2;
  optional string name = 3;
  optional int32 logoTime = 4;
  optional string gameId = 5;//绑定的游戏id(群组)
  optional string unionId = 6;//公会ID(群组)
  optional bool password = 7;//是否有密码
  optional int32 onlineNum = 8;//在线数量
  optional int32 jobId = 9;//职位ID
  optional int32 unionType = 10;//公会类型  2:游戏公会 3:娱乐公会
  optional string headUrl = 11;// 头像图片
}

message CommonBroadcast {
  //广播类型:1头橡框 2.同意敲门进房时通知操作人 3.同意敲门进房时通知敲门人 4.忽略敲门时通知操作人
  //5.忽略敲门或敲门超时或取消敲门时，通知敲门人 6.敲门时，通知房主和场控 7.忽略敲门或敲门超时或取消敲门时，通知房主和场控
  //8.敲门人数量变化时，通知房主和场控//9.强制退出当前逻辑服，重连
  optional int32 type = 1;//广播类型
  repeated string params = 2;//参数列表  类型1:[头象模框ID]  类型2:[敲门人nickName] 类型4:[敲门人nickName]
}

message UploadLogBroadcast {
  optional int32 type = 1;//广播类型:1：上传声网日志
  repeated string params = 2;//参数列表  类型1:[无]
  optional int64 taskId = 3;//上报任务ID
}

//键值
message KeyValuesResult {
  repeated string keys = 1;//键值数组
  repeated string values = 2;//内容值数组
}

message SearchRoomList {
  repeated SearchRoomVo vos = 1;
  repeated SearchRoomVo unionLiveVos = 2;//公会直播间
  repeated SearchRoomVo locationLiveVos = 3;//地标直播间集合
  optional int32  status = 4; //  状态 ,默认空,  1 : 搜索频繁
}

message SearchRoomVo {
  optional string roomId = 1;//房间id
  optional string roomName = 2;//房间名字
  optional string createId = 3;//房主ID
  optional int32 onlineNum = 4;//在线人数
  optional string nickName = 5;//用户昵称
  optional int32 logoTime = 6;//用户头像修改logo的时间 0为没修改过
  optional int32 sex = 7;//性别
  optional int32 age = 8;//年龄
  optional int32 vipLv = 9;//VIP
  optional string gameId = 10;//游戏分类ID(游戏分类才有)
  optional string os = 11;//操作系统(游戏分类才有)
  optional string zone = 12;//区服(微信,QQ)(游戏分类才有)
  optional int32 type = 13;//数据类型:1语音房,2视频房
  optional string unionId = 14;//娱乐公会ID
  optional bool isWeekStar = 15;//是否周星达人
  repeated MedalResult.MedalInfo medals = 16;//勋章列表(以适应多勋章 的情况 )
  optional bool isGuardAngel = 17; //是否有守护天使标签
  optional int32 funRoomType = 18; // 语音房的房间类型，小程序需要过滤哄睡及电台类型的房间
  optional bool needPwd = 19; // 语音房是否需要密码
  optional string spLiveTag = 20;//专属开播标签
  optional int32 roomLogoTime = 21; // 房间封面
  optional string logoPath = 22;//公会语音厅封面图片路径 app/logo/union/voice/公会ID/图片文件名称
  optional CuteInfo createIdCuteInfo = 23;//房主ID-靓号信息
  optional string location = 24;//房间开播位置
  optional int32 distance = 25;//开播位置距离用户多远 单位米
  optional string rtcType = 26;//房间使用的rtc类型
  optional bool isUnionRoom = 27;//是否公会厅
  optional OfficialCertificationInfo officialCertificationInfo = 28;//官方认证信息
  optional PropCardResult.MyNumberSkinInfo myNumberSkinInfo = 29; //靓号皮肤信息
  optional PropCardResult.MyColorfulIdInfo myColorfulIdInfo = 30; //炫彩id信息
}

// 返回第一个客服号的userId
message CustomerServiceInfo {
  optional string userId = 1; // 第一个客服号的userId
}

message Safrv2metaIdNameInfo{
  optional string userName = 1;//身份证姓名
  optional string identityId = 2;//身份证Id
  optional string status = 3;//状态
}

// 返回符合条件的所有主播信息
message SearchAnchorList {
  repeated SearchAnchorVo dataList = 1;// 主播列表
  repeated SearchAnchorVo locationList = 2;// 地标主播列表
}

message SearchAnchorVo {
  optional string anchorId = 1; // 主播id
  optional string roomId = 2; // 房间Id
  optional string nickName = 3; // 主播昵称
  optional string headUrl = 4; // 主播头像
  optional string headFramId = 5; // 头像框信息，不存在则为空
  optional string unionId = 6; // 公会ID
  optional string anchorIdCute = 7; // 主播id-靓号
  optional string roomName = 8; // 房间名称
  optional string roomUrl = 9; // 房间封面
  optional string location = 10;// 房间开播位置
  optional int32 distance = 11;// 开播位置距离用户多远 单位米
}

// 表格同步信息广播
message SyncDataBroadcast {
  optional string name = 1; // 表格名称
  optional int32 version = 2; // 版本信息
}

// 靓号信息
message CuteInfo {
  optional string cuteNumber = 1; // 用户靓号/房间靓号/公会靓号
  optional string type = 2; // 靓号类型
  optional string icon = 3; // 靓号icon
  optional string startDate = 4; //开始生效时间
  optional string endDate = 5; //结束生效时间
}

//布尔数组
message BoolDatas {
  repeated bool datas = 1;
}

// 经纬度信息
message LocationInfo{
  optional double lng = 1; //经度
  optional double lat = 2; //纬度
  optional string location = 3; //位置名称
}

message stampConfig{
  repeated stampConfigInfo info = 1; //印章信息
}

message stampConfigInfo{
  optional int32 stampId = 1; //印章ID
  optional string stampName = 2; //印章名称
  optional string emoteUrl = 3; //表情
  optional int64 updateTime = 4; //更新时间
  optional int32 price = 5; //价格
  optional int32 giftLabel = 6; //礼物标签ID
}

message OfficialCertificationInfo {
  optional string officialCertificationId = 1;//官方认证id
  optional string officialCertificationText = 2;//官方认证文本
  optional string officialCertificationIcon = 3;//官方认证图片
}

// 补丁信息广播
message PatchInfoBroadcast {
  optional string version = 1; // 版本号
  optional int32 deviceType = 2; // 平台类型 1:Android 2:IOS 3:其他 4:PC
  optional string title = 3; // 标题
  optional string content = 4; // 内容
  optional string downloadUrl = 5; // 下载链接
}

//国家列表
message CountryList {
  repeated CountryInfo countryList = 1;//国家列表
  optional CountryInfo ipCountryInfo = 2;//当前IP所在国家
}

message CountryInfo {
  optional string countryId = 1; //国家代号
  optional string countryName = 2; //国家名称
  optional string countryNameI18n = 3; //国家名称国际化数据
}