我在sdk下载页下载的存储 SDK(av-weapp-min.js), 然后在初始化开始测试的时候就报错:
TypeError: AV.TextMessage is not a constructor
代码结构是在这样的:
app.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;
AV.init({
appId: '*************',
appKey: '************',
})
const realtime = new Realtime({
appId: '**************',
appKey: '*****************',
plugins: [TypedMessagesPlugin], // 注册富媒体消息插件
})
globalData: {
AV: AV,
realtime: realtime
}
===============================================
pages/index.js
const app = getApp()
const AV = app.globalData.AV
app.globalData.realtime.createIMClient('Bob').then(function(bob) {
bob.on('message', function(message, conversation) {
console.log('[Bob] received a message from [' + message.from + ']: ' + message.text);
// 收到消息之后一般的做法是做 UI 展现,示例代码在此处做消息回复,仅为了演示收到消息之后的操作,仅供参考。
conversation.send(new AV.TextMessage('Tom,我在 Jerry 家,你跟 Harry 什么时候过来?还有 William 和你在一起么?'));
});
return bob.createConversation({
members: ['Jerry', 'Bob', 'Harry', 'William'],
name: 'Tom & Jerry & friends',
})
}).then(function(conversation) {
// 发送消息
return conversation.send(new AV.TextMessage('你们在哪儿?'));
}).then(function(message) {
console.log('发送成功!');
}).catch(console.error);