syntax = "proto3"; package AxibugProtobuf; option optimize_for = SPEED; enum CommandID { CMD_DEFAUL = 0;//缺省不使用 CMD_LOGIN = 2000; //登录 上行 | 下行 对应 Protobuf_Login | Protobuf_Login_RESP CMD_CHATMSG = 4000; //聊天 上行 | 下行 对应 Protobuf_ChatMsg | Protobuf_ChatMsg_RESP CMD_USER_ONLINELIST = 5000; //获取在线用户列表 上行 | 下行 对应 Protobuf_UserList | Protobuf_UserList_RESP CMD_USER_JOIN = 5031; //用户上线 下行 对应 Protobuf_UserOnline_RESP CMD_USER_LEAVE = 5032; //用户下线 下行 对应 Protobuf_UserOffline_RESP CMD_USER_STATE_UPDATE = 5033; //更新在线用户状态 下行 对应 Protobuf_UserState_RESP CMD_TCPTUNNEL_HELLO = 5001; //TCP打洞请求 上行 | 下行 对应 Protobuf_TcpTunnel_HellToSev | Protobuf_TcpTunnel_HellToSev_RESP CMD_TCPTUNNEL_DO = 5002; //TCP打洞请求 下行 对应 Protobuf_TcpTunnel_DoTunnel | Protobuf_TcpTunnel_DoTunnel_RESP } enum ErrorCode { ERROR_DEFAUL = 0;//缺省不使用 ERROR_OK = 1; //成功 ERROR_NOTFIND = 100; //用户不存在 } enum LoginType { BaseDefault = 0;//缺省不使用 HaoYueAuth = 1; BF3 = 3; BF4 = 4; } enum DeviceType { DeviceType_Default = 0;//缺省不使用 PC = 1; Android = 2; IOS = 3; PSV = 4; } enum LoginResultStatus { LoginResultStatus_BaseDefault = 0;//缺省不使用 OK = 1; AccountErr = 2; } //登录数据上行 message Protobuf_Login { LoginType loginType = 1;//登录操作类型 [0]皓月通行证 [3] 皓月BF3 [4] 皓月BF4 DeviceType deviceType = 2;//设备类型 [0]PC [1]AndroidPad预留 [3]IPad预留 string Account = 3;//用户名 string Password = 4;//密码 } //登录数据下行 message Protobuf_Login_RESP { string Token = 1;//登录凭据 (本次登录之后,所有业务请求凭据,需要存储在内存中) string LastLoginDate = 2;//上次登录时间(只用于呈现的字符串,若界面需求需要) string RegDate = 3;//注册时间(只用于呈现的字符串,若界面需求需要) LoginResultStatus Status = 4;//账号状态 (预留) [1]正常[0]被禁封 } //聊天 上行 message Protobuf_ChatMsg { string ChatMsg = 1;//消息 } //聊天 下行 message Protobuf_ChatMsg_RESP { string NickName = 1;//昵称 string ChatMsg = 2;//消息 int64 Date = 3;//消息 }