package cs; //常量 enum Constant_e { ProtoVersion = 2020061101; //协议版本 } //心跳(每60秒上报) message CMPing { } message SMPing { optional int32 param1 = 1; } //string元组 message MFStringTuple { repeated string values = 1; //values } //int64 pair message MFPairInt64 { optional int64 key = 1; //key optional int64 val = 2; //val } //分页信息 message MFPaging { optional int32 curr_page = 1; //当前页(第一页是0) optional int32 page_size = 2; //每页记录数 optional int32 _total_page = 3; //总页数(服务器填充该字段) optional int32 _total_count = 4; //总记录数(服务器填充该字段) } //用户基础数据(可用于缓存,除下划线开头的字段会存储到db) message MFBaseUserData { optional string account_id = 1; //账号id optional string nickname = 2; //昵称 optional string avatar_url = 3; //头像 optional int32 sex = 4; //性别 1:男 2:女 0:未知 optional int32 last_login_time = 5; //最后登录时间 optional int64 guild_id = 6; //工会id(没有公会的话为0) optional int32 guild_job = 7; //公会职位 1:公会长 2:副公会长 3:精英成员 其他(0):普通会员 optional int64 user_value1 = 50; //用户字段1 optional int64 user_value2 = 51; //用户字段2 optional int64 user_value3 = 52; //用户字段3 optional int64 base_data_version = 100; //数据版本号 optional int32 _online = 101; //是否在线 } //临时用户自定义数据(不会存储每次上/下线时时都重置为0) message MFUserTempCustomData { optional int64 value1 = 1 [default = 0]; //自定义字段1 optional int64 value2 = 2 [default = 0]; //自定义字段2 optional int64 value3 = 3 [default = 0]; //自定义字段3 } //账号信息(自己) message MFAccountInfo { optional MFUserInfo user_info = 1; //用户数据 optional string user_sign = 2; //用户签名用于接口确权 } //用户信息 message MFUserInfo { optional MFBaseUserData base_data = 1; //基础数据 optional MFUserTempCustomData temp_custom_data = 2; //临时用户自定义数据 } //用户状态 message MFUserStatus { optional string account_id = 1; //账号id optional int32 _online = 2; //是否在线 } //好友申请 message MFFriendApply { optional int64 idx = 1; //唯一索引id optional int64 applyid = 2; //applyid optional string target_id = 3; //target_id optional MFBaseUserData base_data = 4; //基础数据 } //公会申请 message MFGuildApply { optional int64 idx = 1; //唯一索引id optional int64 applyid = 2; //applyid optional int64 guild_id = 3; //guild_id optional MFBaseUserData base_data = 4; //基础数据 } //公会基本信息 message MFGuildBasic { optional int64 guild_id = 1; //公会id optional string guild_name = 2; //公会名 optional int32 guild_lv = 3; //公会等级 optional double guild_exp = 4; //公会经验 optional int32 guild_badge = 5; //公会徽章 optional int32 member_num = 6; //公会成员数 optional string guild_declaration = 7; //公会宣言 optional string owner_id = 8; //公会队长id optional string owner_name = 9; //公会队长名字 optional string owner_avatar_url = 10; //公会队长头像 optional int32 join_unlimited = 11; //不限制加入 optional int32 join_cond1 = 20; //加入条件1 optional int32 join_cond2 = 21; //加入条件2 optional int32 applyed = 22; //是否已申请 optional int32 _gameid = 100; //gameid optional int32 _channel = 101; //channel optional int32 _createtime = 102; //createtime optional int32 _modifytime = 103; //modifytime optional int64 _name_ext1 = 104; //name_ext1 optional int64 _name_ext2 = 105; //name_ext2 optional int64 _guild_status = 106; //guild_status } //登录好友服 message CMLoginCommonHead { optional int32 server_id = 1; //保留 } message CMLoginOld { optional string account_id = 3; //账号id optional string session_id = 20; //sessionid optional string nickname = 4; //昵称 optional string avatar_url = 5; //头像 optional int32 sex = 6; //性别 } message CMLogin { optional int32 server_id = 1; //保留(定死传1) optional string reserved2 = 2; //保留 optional string account_id = 3; //账号id optional string session_id = 20; //sessionid optional string nickname = 4; //昵称 optional int32 proto_version = 5; //协议版本号Constant_e.ProtoVersion optional int32 sex = 6; //性别 optional string avatar_url = 7; //头像 } //登录回复 message SMLogin { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFAccountInfo account_info = 3; //账号信息 } //更新用户信息(增量更新,不需更新的字段不传即可) message CMUpdateUserInfo { optional string nickname = 2; //昵称 optional string avatar_url = 3; //头像 optional int32 sex = 4; //性别 1:男 2:女 0:未知 optional int64 user_value1 = 50; //用户字段1 optional int64 user_value2 = 51; //用户字段2 optional int64 user_value3 = 52; //用户字段3 optional int32 delay_time = 100; //延迟更新(单位毫秒) optional int32 delay_flag = 101; //延迟更新标志(只能为1-16),相同的flag定时器覆盖 } //屏蔽字检查 message CMDirtyWordCheck { optional string text = 2; //待检查文本 } //屏蔽字检查回复 message SMDirtyWordCheck { optional int32 errcode = 1; //错误消息 optional string errmsg = 2; //错误消息 } //获取自己的公会信息 message CMGetUserGuild { optional string account_id = 1; //用户id,传空或不传获取自己 } //获取自己 message SMGetUserGuild { optional int32 errcode = 1; //1:公会不存在 optional string errmsg = 2; //错误消息 optional string account_id = 3; //用户id,传空或不传获取自己 optional int64 guild_id = 4; //工会id(没有公会的话为0) optional int32 guild_job = 5; //公会职位 1:公会长 2:副公会长 3:精英成员 其他(0):普通会员 } //获取好友列表 message CMFriendList { } //好友列表回复 message SMFriendList { optional int32 errcode = 1; //错误消息 optional string errmsg = 2; //错误消息 repeated MFUserInfo friend_list = 3; //好友列表 } //好友申请 message CMFriendApply { optional string friend_id = 1; //好友id optional string msg = 2; //消息 } //好友申请回复 message SMFriendApply { optional int32 errcode = 1; //1:已经是好友 optional string errmsg = 2; //消息描述 } //获取好友申请列表 message CMFriendApplyList { optional MFPaging paging = 1; //分页信息 } //获取好友申请列表回复 message SMFriendApplyList { optional int32 errcode = 1; // optional string errmsg = 2; //错误消息 optional MFPaging paging = 3; //分页信息回传 repeated MFFriendApply apply_list = 4; //申请加好友列表 } //同意申请 message CMFriendAgree { optional MFFriendApply apply = 1; //申请信息 } //同意申请回复 message SMFriendAgree { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误消息 } //拒绝好友申请 message CMFriendRefuse { optional MFFriendApply apply = 1; //申请信息 } //拒绝好友申请回复 message SMFriendRefuse { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误消息 } //删除好友 message CMFriendDelete { optional string friend_id = 1; //好友id } //删除好友回复 message SMFriendDelete { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误消息 optional string friend_id = 3; //好友id } //获取黑名单 message CMFriendBlackList { } //获取黑名单回复 message SMFriendBlackList { repeated MFUserInfo black_list = 1; //黑名单 } //添加黑名单 message CMFriendAddBlack { optional MFUserInfo user_info = 1; //好友信息 } //添加黑名单回复 message SMFriendAddBlack { optional int32 errcode = 1; // optional string errmsg = 2; //错误消息 } //删除黑名单 message CMFriendDeleteBlack { optional string account_id = 1; //好友id } //删除黑名单回复 message SMFriendDeleteBlack { optional int32 errcode = 1; // optional string errmsg = 2; //错误消息 } //获取好友/黑名单id列表 message CMFriendIdList { } //获取好友/黑名单id列表回复 message SMFriendIdList { optional int32 errcode = 1; // optional string errmsg = 2; //错误消息 repeated string friends = 3; //好友 repeated string blacklist = 4; //黑名单 } //建群 message CMTeamCreate { optional string team_name = 1; //群名称 } //建群返回 message SMTeamCreate { optional int32 errcode = 1; //1:群已存在 2: 你已经有群 optional string errmsg = 2; //错误消息 } //加群 message CMTeamJoin { optional int64 team_id = 1; //群id } //加群返回 message SMTeamJoin { optional int32 errcode = 1; //1:群id不存在 2:群已满 optional string errmsg = 2; //错误消息 } //同意加群 message CMTeamAgree { } message SMTeamAgree { optional int32 errcode = 1; optional string errmsg = 2; } //踢人 message CMTeamKick { optional string account_id = 1; } //踢人回复 message SMTeamKick { optional int32 errcode = 1; //1:群id错误 optional string errmsg = 2; //错误消息 } //退群 message CMTeamQuit { } message SMTeamQuit { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误消息 } //解散群 message CMTeamDismiss { } message SMTeamDismiss { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //群改名 message CMTeamRename { optional string new_team_name = 1; //新群名 } message SMTeamRename { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //获取公会信息 message CMGuildInfo { optional int64 guild_id = 1; //公会id } //获取公会信息返回 message SMGuildInfo { optional int32 errcode = 1; //1:公会不存在 optional string errmsg = 2; //错误消息 optional MFGuildBasic info = 3; //公会信息 } //建公会 message CMGuildCreate { optional string guild_name = 1; //公会名字 optional int32 guild_badge = 2; //公会徽标 optional string guild_declaration = 3; //公会徽标 optional int32 join_unlimited = 4; //不限制加入 optional int32 join_cond1 = 5; //加入条件1 optional int32 join_cond2 = 6; //加入条件2 } //建公会返回 message SMGuildCreate { optional int32 errcode = 1; //1:公会已存在 2: 你已经有公会 optional string errmsg = 2; //错误消息 optional int64 guild_id = 3; //公会id } //加公会 message CMGuildJoin { optional int64 guild_id = 1; //公会id } //加群返回 message SMGuildJoin { optional int32 errcode = 1; //1:公会id不存在 2:公会已满 optional string errmsg = 2; //错误消息 } //同意加公会 message CMGuildAgree { optional MFGuildApply apply = 1; //申请信息 optional int32 batchid = 2; //批次号(批量的时候id相同建议用时间戳) } message SMGuildAgree { optional int32 errcode = 1; optional string errmsg = 2; } //拒绝加公会申请 message CMGuildRefuse { optional MFGuildApply apply = 1; //申请信息 optional int32 batchid = 2; //批次号(批量的时候id相同建议用时间戳) } message SMGuildRefuse { optional int32 errcode = 1; optional string errmsg = 2; } //踢人 message CMGuildKick { optional string account_id = 1; } //踢人回复 message SMGuildKick { optional int32 errcode = 1; //1:群id错误 optional string errmsg = 2; //错误消息 } //退公会 message CMGuildQuit { } message SMGuildQuit { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误消息 } //解散公会 message CMGuildDismiss { } message SMGuildDismiss { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //修改公会信息(增量更新不需要修改的字段不传) message CMGuildChange { optional string guild_name = 1; //公会名字 optional int32 guild_badge = 2; //公会徽标 optional string guild_declaration = 3; //公会徽标 optional int32 join_unlimited = 4; //不限制加入 optional int32 join_cond1 = 5; //加入条件1 optional int32 join_cond2 = 6; //加入条件2 } message SMGuildChange { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFGuildBasic info = 3; //公会信息 } //查询公会 message CMGuildSearch { optional MFPaging paging = 1; //分页信息 optional string guild_name = 2; //公会名字 } message SMGuildSearch { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFPaging paging = 3; //分页信息 repeated MFGuildBasic guild_list = 4; //公会列表 } //公会排行榜 message CMGuildRank { optional MFPaging paging = 1; //分页信息 } message SMGuildRank { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFPaging paging = 3; //分页信息 repeated MFGuildBasic guild_list = 4; //公会列表 } //公会成员 message CMGuildMemberList { optional MFPaging paging = 1; //分页信息 optional string member_name = 2; //成员名字 } message SMGuildMemberList { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFPaging paging = 3; //分页信息 repeated MFUserInfo member_list = 4; //公会成员列表 optional int32 guild_lv = 5; //公会等级 } //获取公会申请列表 message CMGuildApplyList { optional MFPaging paging = 1; //分页信息 } //获取公会申请列表回复 message SMGuildApplyList { optional int32 errcode = 1; // optional string errmsg = 2; //错误消息 optional MFPaging paging = 3; //分页信息回传 repeated MFGuildApply apply_list = 4; //申请加公会友列表 optional int32 guild_lv = 5; //公会等级 } //公会动态(日志) message CMGuildLog { optional MFPaging paging = 1; //分页信息 } message SMGuildLog { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 optional MFPaging paging = 3; //分页信息 /* values[0]: account_id values[1]: 角色名 values[2]: 职位 1:队长 2:副队长 3:精英会员 其他(0):普通会员 values[3]: 行为时间(unix时间戳) values[4]: 行为 */ repeated MFStringTuple logs = 4; } //设置公会成员职位 message CMGuildMemberSetJob { optional string member_id = 1; //成员id optional int32 job = 2; //职位 } message SMGuildMemberSetJob { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //同意邀请 message CMGuildAgreeInvite { optional int64 guild_id = 1; //公会id optional string user_sign = 2; //邀请方签名 } message SMGuildAgreeInvite { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //新增公会经验 message CMGuildGainExp { optional int32 exp = 1; //检验值 } message SMGuildGainExp { optional int32 errcode = 1; //错误码 optional string errmsg = 2; //错误信息 } //发送聊天消息 message CMSendChatMsg { optional int32 chat_channel = 1; //聊天频道 optional string target = 2; //目标 optional string msg = 3; //消息内容 } //发送自定义消息 message CMSendCustomMsg { repeated string target_list = 1; //目标列表 optional string msg = 2; //消息内容 optional int64 param1 = 3; //透传参数1 optional int64 param2 = 4; //透传参数2 optional int64 param3 = 5; //透传参数3 } //更新临时自定义数据 message CMUpdateTempCustomData { /* 更新方式 0: 覆盖 1: 用新数据和服务器数据做或运算 2: 用新数据和服务器数据做与运算 !!!注意 MFUserRaltimeData走的是增量更新如果不需要处理的字段不传就行 服务器对未传的自动不做任何处理 */ optional int32 update_type = 1; //更新方式 optional MFUserTempCustomData temp_custom_data = 2; //临时自定义数据 optional int32 delay_time = 100; //延迟更新(单位毫秒) optional int32 delay_flag = 101; //延迟更新标志(只能为1-16),相同的flag定时器覆盖 } //查询用户状态 message CMQueryUserStatus { repeated string user_list = 1; //用户列表 } //查询用户状态返回 message SMQueryUserStatus { repeated MFUserStatus status_list = 1; //用户状态列表 } //获取推荐好友 message CMRecommandFriend { } //获取推荐好友返回 message SMRecommandFriend { repeated MFUserInfo friend_list = 1; //好友列表 } //用户上/下线通知 message SMUserStatusNotify { repeated string online_users = 1; //上线用户 repeated string offline_users = 2; //下线用户 } //聊天消息通知 message SMChatMsgNotify { optional string sender = 1; //发送者 optional int32 chat_channel = 2; //聊天频道 optional string msg = 3; //消息内容 } //发送自定义消息 message SMCustomMsgNotify { optional string sender = 1; //发送者 optional string msg = 2; //消息内容 optional int64 param1 = 3; //透传参数1 optional int64 param2 = 4; //透传参数2 optional int64 param3 = 5; //透传参数3 } //更新用户信息 message SMUserInfoUpdate { repeated MFUserInfo user_infos = 1; //用户信息列表 } //删除好友通知a message SMDeleteFriendNotify { repeated string user_list = 1; //用户列表 } //新增黑名单 message SMAddBlackListNotify { repeated MFUserInfo user_infos = 1; //用户信息列表 } //删除黑名单通知 message SMDeleteBlackListNotify { repeated string user_list = 1; //用户列表 } //更新用户临时自定义信息 message SMUserTempCustomDataUpdate { optional string account_id = 1; //账号id optional MFUserTempCustomData temp_custom_data = 2; //用户临时自定义数据 } //更新账号信息通知 message SMUpdateAccountInfo { } //更新红点信息 message SMUpdateRedPointNotify { optional int32 red_point_flags = 1; //红点信息 1<<0:好友申请 1<<1:公会申请 } //显示飘字 message SMShowErrorMsg { optional string msg = 1; //飘字内容 }