小程序接入IM发消息一直报20003错误,之前可以发消息,逻辑是进入页面先登录,使用SDK_READY监听事件,SDK_READY监听事件里创建会话,并发送一个默认消息,获取返回的conversationID,不加SDK_READY监听事件会一直报接口调用时机不合理,等待 SDK 处于 ready 状态后再调用(监听 TIM.EVENT.SDK_READY 事件),加SDK_READY监听事件则报20003错误
报错如下
代码如下
//发送消息
setMsg2: function(text) {
var that = this
wx.$app.on(App.tim_.EVENT.SDK_READY, event => {
console.log('setMsg2--------2')
console.log('that.data.user_id----', that.data.user_id)
// 发送文本消息,Web 端与小程序端相同
let message = wx.$app.createTextMessage({
to: that.data.user_id,
conversationType: App.tim_.TYPES.CONV_C2C,
payload: {
text: text
}
});
// 2. 发送消息
let promise = wx.$app.sendMessage(message);
promise.then(function(imResponse) {
// 发送成功
console.log('sendMessage success:', imResponse);
// 打开某个会话时,第一次拉取消息列表
let promise = wx.$app.getMessageList({
conversationID: imResponse.data.message.conversationID,
count: 15
});
promise.then(function(imResponse) {
let messageList = imResponse.data.messageList; // 消息列表。
});
}).catch(function(imError) {
wx.$app.resendMessage(message)
// 发送失败
console.log('发送失败sendMessage error:', imError);
});
})
},
相似问题