-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathapp.js
94 lines (85 loc) · 3.07 KB
/
app.js
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
//app.js
const util = require('./utils/util.js');
const AV = require('./libs/leancloud-storage.js');
const Realtime = require('./libs/leancloud-realtime.js').Realtime;
const TypedMessagesPlugin = require('./libs/leancloud-realtime-plugin-typed-messages.js').TypedMessagesPlugin;
const ImageMessage = require('./libs/leancloud-realtime-plugin-typed-messages.js').ImageMessage;
const Event = require('./libs/leancloud-realtime.js').Event;
// 初始化存储 SDK
AV.init({
appId: 'xxxxxxxxxxxxxx-gzGzoHsz',
appKey: 'xxxxxxxxxxxxxxx',
serverURLs: 'https://avoscloud.com'
});
// 初始化即时通讯 SDK
const realtime = new Realtime({
appId: 'xxxxxxxxxxxxxxxx-gzGzoHsz',
appKey: 'xxxxxxxxxxxxxxxxxxxx',
plugins: [TypedMessagesPlugin], // 注册富媒体消息插件
});
AV.Bottle = AV.Object.extend('Bottle');
App({
realtime: realtime, //即时通讯 对象
imClient: null, // IMClient 对象
globalData: {
},
ininClient: function () {
var that = this;
that.realtime.createIMClient(that.globalData.user.id).then(function (client) {
console.log(client);
// 当前用户收到了某一条消息,可以通过响应 Event.MESSAGE 这一事件来处理。
client.on(Event.MESSAGE, function (message, conversation) {
console.log(conversation)
console.log(message);
console.log('收到新消息:' + message.getText());
var pages = getCurrentPages();
pages.forEach((page) => {
//如果当前聊天页面存在, 刷新聊天页面的chatlist
console.log(page.__route__);
if (page.__route__ == "pages/liaoTian/liaoTian") {
page.refreshChatList(message, conversation);
}
})
});
that.imClient = client;
}).catch(console.error);
},
onLaunch: function () {
//var user = AV.User.current();
//console.log("user", user);
var that = this;
var user = wx.getStorageSync("user");
if (user) {
console.log(user);
that.globalData.user = user;
that.ininClient();
return;
}
/*
if (user) {
this.getUserInfo().then((userInfo) => {
//更新用户信息
user.set(userInfo).save().then(user => {
// 成功,此时可在控制台中看到更新后的用户信息
console.log(user);
that.globalData.user = user;
if (that.userInfoReadyCallback) {
that.userInfoReadyCallback();
}
// 用自己的名字作为 clientId 来登录即时通讯服务
that.realtime.createIMClient(userInfo.nickName).then(function (client) {
// 成功登录
console.log(client);
// 当前用户收到了某一条消息,可以通过响应 Event.MESSAGE 这一事件来处理。
client.on(Event.MESSAGE, function (message, conversation) {
console.log(message);
console.log('收到新消息:' + message.text);
});
that.imcClient = client;
}).catch(console.error);
}).catch(console.error);
});
}
*/
},
})