问题描述
在vue项目中需要实现聊天室的功能,选择了融云,个人将官网文档中的一些接口(初始化、连接、监听等)写在了 mounted中,将appkey、和userid、token存储在data中,然后一些自定义的function定义在了methods中,比如发送消息,现在消息发送成功了。
【问题】:那要如何接收消息?
问题出现的环境背景及自己尝试过哪些方法
我看到官网上有提供下面这个方法,描述是接收到的消息,但是我在onReceived()这个方法中打印数据,在控制台并没有打印出相关的信息。
// 消息监听器
RongIMClient.setOnReceiveMessageListener({
// 接收到的消息
onReceived: function(message) {
console.log('message-->',message)
...
}
})
相关代码
data(){
return {
userId: 'key001'
appkey: 'xxx',
token: 'xxxxx'
}
},
mounted(){ //初始化,连接那些都省略
...
// 消息监听器
RongIMClient.setOnReceiveMessageListener({
// 接收到的消息
onReceived: function(message) {
console.log('message-->',message)
...
}
})
...
},
methods:{
... //其他一些无关也省略
sendTextMessage (textContent) {
let msg = new RongIMLib.TextMessage({content: textContent, extra:"附加信息"});
let conversationtype = RongIMLib.ConversationType.PRIVATE; // 单聊
let targetId = "doctor001"; // 目标 Id
RongIMClient.getInstance().sendMessage(conversationtype, targetId, msg, {
onSuccess: function (message) {
console.log("Send successfully");
},
onError: function (errorCode,message) {
... //省略
}
});
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
控制台打印的信息:
正在链接
链接成功
Connect successfully.key001
Send successfully
自己看文档,如何获取回话列表有点没看懂。文档中有说获取单聊历史消息,但是这之前不是有个监听接收消息的function了吗?又要一个getHistoryMessages(获取历史消息)干嘛?
【期待结果】:各位帮帮忙,顺便帮我解释下几个问题:
1、监听接收消息setOnReceiveMessageListener,控制台无打印,要如何打印出这块接收到的数据
2、setOnReceiveMessageListener() 和 getHistoryMessages() 区别
先谢过各位大神了~~~
setOnReceiveMessageListener,是接收实时消息,需要当另外一个人给你发送一条消息才可以监听到,如果是要看之前发送的消息,要用获取历史会话