在ionic2中使用極光提供的jmessage進行即時聊天阿纤,由于極光官方?jīng)]有像jpush那樣提供cordova插件眶根,而我們?yōu)榱撕啽憔筒蝗message封裝成cordova的插件而是使用jmessage提供的web sdk進行即時聊天的開發(fā)暴匠。
由于在ionic2中使用jquery這樣的三方類庫將不再像在ionic1中那樣簡單备绽,而是提供了一個typings的庫嚼贡。它可以將js庫生成對應(yīng)的文件驮配,然后通過typings加載到項目中去娘扩,比如jquery在通過typings處理后就可以直接導(dǎo)入使用。詳細地址
而在這里我們采用另外一種也是最常用的使用三方類庫的方式:
要使用極光提供的jmessage那么我們首先需要去極光官網(wǎng)創(chuàng)建一個應(yīng)用壮锻,得到應(yīng)用的AppKey和Master Secret琐旁。這里就不再贅述。
第一步:在極光的官網(wǎng)找到j(luò)message 的web sdk開發(fā)文檔 猜绣,然后再資源下載中下載Web-SDK文件灰殴。
第二步:將下載的jmessage-sdk-web.min.js文件導(dǎo)入到項目中,然后再項目的index.html中引入該文件掰邢。
第三步:在需要使用JMessage的時候?qū)Message進行聲明(不知道為什么的請看我之前的 Ionic2使用非ionic-native中的cordova插件的方法 這篇文章)
部分代碼:
ngOnInit() {
let JIM = new JMessage();
JIM.init({
"appkey": "25b693b31d2c2ad5f072ef0c",
"random_str": "022cd9fd995849b58b3ef0e943421ed9",
"signature": "D97C2DDA3E46E5E6D482E9E8EE84AF93",
"timestamp": "1467967210887"
}).onSuccess(function (data) {
if (data.code == 0) {
console.log('初始化成功');
// 注冊
// JIM.register({
// 'username': 'test',
// 'password': '123456'
// //'is_md5' : '<is_md5>可選參數(shù)牺陶,密碼是否為md5加密的密碼,默認為false
// }).onSuccess(function (data) {
// if (data.code == 0) {
// console.log('注冊成功');
// } else if (data.code == 882002) {
// console.log('用戶已存在辣之,視操作而定');
// }
// // console.log('success:' + JSON.stringify(data))
// }).onFail(function (data) {
// console.log('error:' + JSON.stringify(data))
// });
//登錄
JIM.login({
'username': 'test',
'password': '123456'
//'is_md5' : '<is_md5>可選參數(shù)掰伸,密碼是否為md5加密的密碼,默認為false
}).onSuccess(function (data) {
if (data.code == 0) {
console.log('登陸成功怀估,會返回用戶名');
//接下來就可以進行會話的一系列操作了
//獲取會話列表
JIM.getConversation().onSuccess(function (data) {
console.log('success:' + JSON.stringify(data))
}).onFail(function (data) {
console.log('error:' + JSON.stringify(data))
});
JIM.onMsgReceive(function (data) {
console.log('receive msg: ' + JSON.stringify(data));
});
} else if (data.code == 880104) {
//更多錯誤請參照錯誤代碼列表
console.log('登錄失敗狮鸭,密碼錯誤');
}
}).onFail(function (data) {
console.log('error:' + JSON.stringify(data))
});
}
}).onFail(function (data) {
console.log('error:' + JSON.stringify(data))
});
}