define(function(require) {
var $ = require("jquery");
var justep = require("$UI/system/lib/justep");
var RongIMLib = require("$UI/system/lib/RongIMLib");
var protobuf = require("$UI/system/lib/protobuf-2.3.9.min");
var Model = function() {
this.callParent();
};
Model.prototype.modelLoad = function(event) {
var appkey = '82hegw5u81xdx';
// 仅在桌面版解决方案中有效,Web 可忽略
var dataAccessProvider = null;
// 私有部署配置,公有云用户可忽略
var options = {
navi : 'navi.cn.ronghub.com',
api : 'api-cn.ronghub.com',
protobuf : protobuf
}
// RongIMLib.RongIMClient.init(appkey);
RongIMLib.RongIMClient.init(appkey, dataAccessProvider, options);
/* 连接状态监听器 */
RongIMLib.RongIMClient.setConnectionStatusListener({
onChanged : function(status) {
/* status 标识当前连接状态 */
console.log('连接成功');
}
});
/* 消息监听器 */
RongIMLib.RongIMClient.setOnReceiveMessageListener({
onReceived : function(message) {
console.log(message);
}
});
/* 开发者后台获取或 Server API */
var token = 'cy/mB+8hixWDpDR4lNt4eZcGl4txWSSzyy24zPgKzPc=@rpy9.cn.rongnav.com;rpy9.cn.rongcfg.com';
RongIMLib.RongIMClient.connect(token, {
onSuccess : function(userId) {
console.log('连接成功, 用户 ID 为', userId);
// 连接已成功, 此时可通过 getConversationList 获取会话列表并展示
},
onTokenIncorrect : function() {
console.log('连接失败, 失败原因: token 无效');
},
onError : function(errorCode) {
console.log('连接失败, 失败原因: ', errorCode);
}
});
};
Model.prototype.button5Click = function(event) {
RongIMLib.RongIMClient.getInstance().getConversationList({
onSuccess : function(list) {
// list => 会话列表集合
// 获取成功, 此处可通过处理 list 在 UI 上展示会话列表
console.log(list[0].latestMessage.content.content)
},
onError : function(error) {
console.log(error)
}
}, null);
};
Model.prototype.button6Click = function(event) {
var msg = new RongIMLib.TextMessage({
content : 'Bex5测试成功!',
extra : '附加信息'
});
var conversationType = RongIMLib.ConversationType.PRIVATE; // 单聊
var targetId = 'azhi0423'; // 用户 B 的 userId
RongIMLib.RongIMClient.getInstance().sendMessage(conversationType, targetId, msg, {
onSuccess : function(message) {
// message 为发送的消息对象并且包含服务器返回的消息唯一 ID 和发送消息时间戳
console.log('发送成功');
},
onError : function(errorCode, message) {
console.log(errorCode)
}
});
};
Model.prototype.button7Click = function(event) {
var conversationType = RongIMLib.ConversationType.PRIVATE; //单聊, 其他会话选择相应的消息类型即可
var targetId = 'azhi0423'; // 想获取自己和谁的历史消息,targetId 赋值为对方的 userId。类型: string
var timestrap = 0; // 默认传 null,若从头开始获取历史消息,请赋值为 0, timestrap = 0;
var count = 20; // 每次获取的历史消息条数,范围 0-20 条,可以多次获取
RongIMLib.RongIMClient.getInstance().getHistoryMessages(conversationType, targetId, timestrap, count, {
onSuccess : function(list, hasMsg) {
// list => Message 数组。
// hasMsg => 是否还有历史消息可以获取。
console.log(list.length);
},
onError : function(error) {
console.log('GetHistoryMessages, errorcode:' + error);
}
});
};
return Model;
});