forked from gonnavis/RongCloud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex1.html
260 lines (234 loc) · 9.52 KB
/
index1.html
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
<script src="http://cdn.ronghub.com/RongIMLib-2.1.3.min.js"></script>
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript">
// 初始化。
RongIMClient.init("sfci50a7c7j1i");
// 设置连接监听状态 ( status 标识当前连接状态)
// 连接状态监听器
RongIMClient.setConnectionStatusListener({
onChanged: function (status) {
switch (status) {
//链接成功
case RongIMLib.ConnectionStatus.CONNECTED:
console.log('链接成功');
break;
//正在链接
case RongIMLib.ConnectionStatus.CONNECTING:
console.log('正在链接');
break;
//重新链接
case RongIMLib.ConnectionStatus.DISCONNECTED:
console.log('断开连接');
break;
//其他设备登录
case RongIMLib.ConnectionStatus.KICKED_OFFLINE_BY_OTHER_CLIENT:
console.log('其他设备登录');
break;
//网络不可用
case RongIMLib.ConnectionStatus.NETWORK_UNAVAILABLE:
console.log('网络不可用');
break;
}
}});
// 消息监听器
RongIMClient.setOnReceiveMessageListener({
// 接收到的消息
onReceived: function (message) {
// 判断消息类型
switch(message.messageType){
case RongIMClient.MessageType.TextMessage:
// 发送的消息内容将会被打印
console.log(message.content.content);
break;
case RongIMClient.MessageType.VoiceMessage:
// 对声音进行预加载
// message.content.content 格式为 AMR 格式的 base64 码
RongIMLib.RongIMVoice.preLoaded(message.content.content);
break;
case RongIMClient.MessageType.ImageMessage:
// do something...
break;
case RongIMClient.MessageType.DiscussionNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.LocationMessage:
// do something...
break;
case RongIMClient.MessageType.RichContentMessage:
// do something...
break;
case RongIMClient.MessageType.DiscussionNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.InformationNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.ContactNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.ProfileNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.CommandNotificationMessage:
// do something...
break;
case RongIMClient.MessageType.CommandMessage:
// do something...
break;
case RongIMClient.MessageType.UnknownMessage:
// do something...
break;
default:
// 自定义消息
// do something...
}
}
});
var token = "/zo86HfOze1wcXoYgr2qShnQRrATQGnyPn1YnZluJynUIQt3vUk1K0wMD8lWUs6W5h4ZWPYaRhkALpClkQqyhw==";
// 连接融云服务器。
RongIMClient.connect(token, {
onSuccess: function(userId) {
console.log("Login successfully." + userId);
// // 发消息
// 定义消息类型,文字消息使用 RongIMLib.TextMessage
var msg = new RongIMLib.TextMessage({content:"hello test2 aaa",extra:"附加信息"});
//或者使用RongIMLib.TextMessage.obtain 方法.具体使用请参见文档
//var msg = RongIMLib.TextMessage.obtain("hello");
var conversationtype = RongIMLib.ConversationType.PRIVATE; // 私聊
var targetId = "test2"; // 目标 Id
RongIMClient.getInstance().sendMessage(conversationtype, targetId, msg, {
// 发送消息成功
onSuccess: function (message) {
//message 为发送的消息对象并且包含服务器返回的消息唯一Id和发送消息时间戳
console.log("Send successfully");
},
onError: function (errorCode,message) {
var info = '';
switch (errorCode) {
case RongIMLib.ErrorCode.TIMEOUT:
info = '超时';
break;
case RongIMLib.ErrorCode.UNKNOWN_ERROR:
info = '未知错误';
break;
case RongIMLib.ErrorCode.REJECTED_BY_BLACKLIST:
info = '在黑名单中,无法向对方发送消息';
break;
case RongIMLib.ErrorCode.NOT_IN_DISCUSSION:
info = '不在讨论组中';
break;
case RongIMLib.ErrorCode.NOT_IN_GROUP:
info = '不在群组中';
break;
case RongIMLib.ErrorCode.NOT_IN_CHATROOM:
info = '不在聊天室中';
break;
default :
info = x;
break;
}
console.log('发送失败:' + info);
}
});
// // 发消息
// // 定义消息类型,文字消息使用 RongIMLib.TextMessage
// var msg = new RongIMLib.TextMessage({content:"hello test3 aaa",extra:"附加信息"});
// //或者使用RongIMLib.TextMessage.obtain 方法.具体使用请参见文档
// //var msg = RongIMLib.TextMessage.obtain("hello");
// var conversationtype = RongIMLib.ConversationType.PRIVATE; // 私聊
// var targetId = "test3"; // 目标 Id
// RongIMClient.getInstance().sendMessage(conversationtype, targetId, msg, {
// // 发送消息成功
// onSuccess: function (message) {
// //message 为发送的消息对象并且包含服务器返回的消息唯一Id和发送消息时间戳
// console.log("Send successfully");
// },
// onError: function (errorCode,message) {
// var info = '';
// switch (errorCode) {
// case RongIMLib.ErrorCode.TIMEOUT:
// info = '超时';
// break;
// case RongIMLib.ErrorCode.UNKNOWN_ERROR:
// info = '未知错误';
// break;
// case RongIMLib.ErrorCode.REJECTED_BY_BLACKLIST:
// info = '在黑名单中,无法向对方发送消息';
// break;
// case RongIMLib.ErrorCode.NOT_IN_DISCUSSION:
// info = '不在讨论组中';
// break;
// case RongIMLib.ErrorCode.NOT_IN_GROUP:
// info = '不在群组中';
// break;
// case RongIMLib.ErrorCode.NOT_IN_CHATROOM:
// info = '不在聊天室中';
// break;
// default :
// info = x;
// break;
// }
// console.log('发送失败:' + info);
// }
// });
// // 同步会话列表
//getConversationList示例
RongIMClient.getInstance().getConversationList({
onSuccess: function(list) {
console.log(list);
},
onError: function(error) {
// do something...
}
},null);
//getHistoryMessages
RongIMClient.getInstance().getHistoryMessages(RongIMLib.ConversationType.PRIVATE, 'test2', null, 20, {
onSuccess: function(list, hasMsg) {
// hasMsg为boolean值,如果为true则表示还有剩余历史消息可拉取,为false的话表示没有剩余历史消息可供拉取。
// list 为拉取到的历史消息列表
console.log(list);
},
onError: function(error) {
// APP未开启消息漫游或处理异常
// throw new ERROR ......
console.log('getHistoryMessages error');
}
});
},
onTokenIncorrect: function() {
console.log('token无效');
},
onError:function(errorCode){
var info = '';
switch (errorCode) {
case RongIMLib.ErrorCode.TIMEOUT:
info = '超时';
break;
case RongIMLib.ErrorCode.UNKNOWN_ERROR:
info = '未知错误';
break;
case RongIMLib.ErrorCode.UNACCEPTABLE_PaROTOCOL_VERSION:
info = '不可接受的协议版本';
break;
case RongIMLib.ErrorCode.IDENTIFIER_REJECTED:
info = 'appkey不正确';
break;
case RongIMLib.ErrorCode.SERVER_UNAVAILABLE:
info = '服务器不可用';
break;
}
console.log(errorCode);
}
});
</script>
</body>
</html>