Messages.proto
4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
syntax = "proto3";
package src.main.proto;
option java_package = "com.zhongweixian.entity"; //设置java对应的package
option java_multiple_files = true; //建议设置为true,这样会每个对象放在一个文件中,否则所有对象都在一个java文件中
option java_generic_services = true;
//类型
enum DeviceType {
DEVICE_TYPE_UNKNOW = 0;
DEVICE_TYPE_PC = 1; //PC
DEVICE_TYPE_ANDROID = 2; //安卓
DEVICE_TYPE_IOS = 3; //IOS
}
enum Command {
COMMAND_UNKNOW = 0;
COMMAND_HANDSHAKE_REQ = 1; //握手请求,含http的websocket握手请求
COMMAND_HANDSHAKE_RESP = 2; //握手响应,含http的websocket握手响应
COMMAND_AUTH_REQ = 3; //鉴权请求
COMMAND_AUTH_RESP = 4; // 鉴权响应
COMMAND_JOIN_GROUP_REQ = 5; //申请进入群组
COMMAND_JOIN_GROUP_RESP = 6; //申请进入群组响应
COMMAND_JOIN_GROUP_NOTIFY_RESP = 7; //进入房间通知
COMMAND_CHAT_REQ = 8; //聊天请求
COMMAND_CHAT_RESP = 9; //聊天响应
COMMAND_START_SHOW_REQ = 10; //开播请求
COMMAND_START_SHOW_RESP = 11; //开播响应
COMMAND_END_SHOW_REQ = 12; //停播请求
COMMAND_END_SHOW_NOTIFY_RESP = 13; //停播通知
COMMAND_HEARTBEAT_REQ = 14; //心跳请求
COMMAND_CLOSE_REQ = 15; //关闭请求
}
/**
* 鉴权请求
*/
message AuthReqBody {
int64 cts = 1;//消息发送时间
string deviceId = 2;// device id(手机设备id)
string token = 3;
DeviceType deviceType = 4;//clienttype客户端类型1-pc 2-android 3-ios
string cid = 5;//渠道号
string appVersion = 6;//app版本号
string deviceInfo = 7;//手机型号信息,譬如华为某型号
int64 seq = 8;//序列号
string sign = 9;//签名
}
/**
* 鉴权响应
*/
message AuthRespBody {
int64 cts = 1;//消息发送时间
}
/**
* 加入群组请求
*/
message JoinReqBody {
int64 cts = 1;//消息发送时间
string group = 2;
}
/**
* 加入群组申请的结果
*/
enum JoinGroupResult {
JOIN_GROUP_RESULT_UNKNOW = 0;//不允许进入,原因为其它
JOIN_GROUP_RESULT_OK = 1;//允许进入
JOIN_GROUP_RESULT_NOT_EXIST = 2;//组不存在
JOIN_GROUP_RESULT_GROUP_FULL = 3;//组满
JOIN_GROUP_RESULT_IN_BACKLIST = 4;//在黑名单中
JOIN_GROUP_RESULT_TAKEOUTED = 5;//被踢
}
/**
* 加入群组响应
*/
message JoinRespBody {
int64 cts = 1;//消息发送时间
JoinGroupResult result = 2;
string group = 3;
}
/**
* 聊天类型
*/
enum ChatType {
CHAT_TYPE_UNKNOW = 0;//未知
CHAT_TYPE_PUBLIC = 1;//公聊
CHAT_TYPE_PRIVATE = 2;//私聊
}
enum MessagesType{
TEXT = 0; //普通文本消息
LINK_TEXT = 1; //链接消息
LINK_IMGAE = 2; //图片链接消息
LINK_PAY = 3; //支付消息
RED_PAY = 4; //红包消息
}
/**
* 聊天请求
*/
message MessagesReqBody {
int64 cts = 1;//消息发送时间
ChatType chatType = 2; //聊天类型
string text = 3; //聊天内容
string group = 4; //目标组id
int32 fromId = 5; //发送者ID,
int32 toId = 6; //接受者ID
MessagesType messagesType = 7; //消息类型
}
/**
* 聊天响应(列表)
*/
message MessagesRespBody {
repeated MessageRespBody messageRespBody = 1; //接收消息 (List)
}
/**
* 接收消息
*/
message MessageRespBody {
int64 cts = 1;
int32 fromId = 2;
string text = 3;
ChatType type = 4; //聊天类型
int32 toId = 5; //目标用户id
string group = 6; //目标组id
MessagesType messagesType = 7; //消息类型
}
/**
* 开始直播请求
*/
message BeginToLiveReqBody {
int64 cts = 1;//消息发送时间
}
/**
* 开始直播响应
*/
message BeginToLiveRespBody {
int64 cts = 1;//消息发送时间
int64 liveid = 2; //本次直播id
string rtmppublishurl = 3; //rtmp推流地址
string rtmpliveurl = 4; //rtmp播放地址
}
/**
* 结束直播请求
*/
message EndLiveReqBody {
int64 cts = 1;//消息发送时间
}
/**
* 结束直播响应
*/
message EndLiveRespBody {
int64 cts = 1;//消息发送时间
int64 liveid = 2; //本次直播id
}