|
@@ -276,7 +276,7 @@
|
|
|
<img src="@/assets/chat/user/admin.png" v-else>
|
|
|
</div>
|
|
|
<div class="otherUserMessageText">
|
|
|
- <div class="messageGroupInvite" @click="openGroupInviteWindow">
|
|
|
+ <div class="messageGroupInvite" @click="openGroupInviteWindow(item)">
|
|
|
<div class="messageGroupInviteTop">
|
|
|
<div class="messageGroupInviteIcon">
|
|
|
<img src="@/assets/chat/user/group.jpg">
|
|
@@ -2041,6 +2041,7 @@ export default {
|
|
|
//info.content.split(',')[0] 群名称
|
|
|
//info.content.split(',')[1] 群id
|
|
|
//获得要加入的群聊详情
|
|
|
+ console.log(info.content)
|
|
|
this.groupInviteInfo.group_name = info.content.split(',')[0];
|
|
|
this.groupInviteInfo.group_id = info.content.split(',')[1];
|
|
|
},
|
|
@@ -2247,45 +2248,52 @@ export default {
|
|
|
handleIncomingMessage(event) {
|
|
|
const message = JSON.parse(event.data);
|
|
|
console.log("监听消息:",message)
|
|
|
-
|
|
|
- //先判断是否为群消息
|
|
|
+
|
|
|
+ console.log(message.receiver_id.length == 18)
|
|
|
+ //第一步:先判断是否为群消息
|
|
|
if (message.receiver_id && message.receiver_id.length == 18) {
|
|
|
- //18位就是群聊
|
|
|
- if(Number(this.myUserId) == Number(message.user_id)){
|
|
|
- //如果message的receiverId和会话的receiverId一致,说明这条信息是自己发的回显
|
|
|
- let receiveMessage = {
|
|
|
- action:"said",//自己说的
|
|
|
- user_avatar:message.user_avatar,//头像
|
|
|
- content:message.content,//内容
|
|
|
- msg_type:message.msg_type,//消息类型
|
|
|
+ //第二步:判断当前接收的消息是否显示到聊天框中
|
|
|
+ if(Number(this.receiverId)==Number(message.receiver_id)){
|
|
|
+ console.log("当前消息为群消息,并且可以显示到当前的会话框中!")
|
|
|
+ //18位就是群聊
|
|
|
+ if(Number(this.myUserId) == Number(message.user_id)){
|
|
|
+ //如果message的receiverId和会话的receiverId一致,说明这条信息是自己发的回显
|
|
|
+ let receiveMessage = {
|
|
|
+ action:"said",//自己说的
|
|
|
+ user_avatar:message.user_avatar,//头像
|
|
|
+ content:message.content,//内容
|
|
|
+ msg_type:message.msg_type,//消息类型
|
|
|
+ }
|
|
|
+ console.log("来自单聊的回显消息:"+this.receiverId,message.receiver_id)
|
|
|
+ console.log(message)
|
|
|
+ //消息添加到聊天记录
|
|
|
+ this.chatrecords.push(receiveMessage);
|
|
|
+ // 确保 Vue 能够检测到数组的变化
|
|
|
+ //this.$set(this.chatrecords, this.chatrecords.length, receiveMessage);
|
|
|
+ console.log(this.chatrecords)
|
|
|
+ //滚动条滚动到底部
|
|
|
+ this.scorllBottom();
|
|
|
+ }else{
|
|
|
+ let receiveMessage = {
|
|
|
+ action:"recieved",//对方说的
|
|
|
+ receiver_avatar:message.user_avatar,//头像
|
|
|
+ content:message.content,//内容
|
|
|
+ msg_type:message.msg_type,//消息类型
|
|
|
+ }
|
|
|
+ //如果message的receiverId和会话的receiverId不一致,说明这条信息是别人发的,需要添加到聊天记录
|
|
|
+ //消息添加到聊天记录
|
|
|
+ console.log("来自单聊消息:"+this.receiverId,message.user_id)
|
|
|
+ this.chatrecords.push(receiveMessage);
|
|
|
+ console.log(message)
|
|
|
+ //滚动条滚动到底部
|
|
|
+ this.scorllBottom();
|
|
|
}
|
|
|
- console.log("来自单聊的回显消息:"+this.receiverId,message.receiver_id)
|
|
|
- console.log(message)
|
|
|
- //消息添加到聊天记录
|
|
|
- this.chatrecords.push(receiveMessage);
|
|
|
- // 确保 Vue 能够检测到数组的变化
|
|
|
- //this.$set(this.chatrecords, this.chatrecords.length, receiveMessage);
|
|
|
- console.log(this.chatrecords)
|
|
|
- //滚动条滚动到底部
|
|
|
- this.scorllBottom();
|
|
|
}else{
|
|
|
- let receiveMessage = {
|
|
|
- action:"recieved",//对方说的
|
|
|
- receiver_avatar:message.user_avatar,//头像
|
|
|
- content:message.content,//内容
|
|
|
- msg_type:message.msg_type,//消息类型
|
|
|
- }
|
|
|
- //如果message的receiverId和会话的receiverId不一致,说明这条信息是别人发的,需要添加到聊天记录
|
|
|
- //消息添加到聊天记录
|
|
|
- console.log("来自单聊消息:"+this.receiverId,message.user_id)
|
|
|
- this.chatrecords.push(receiveMessage);
|
|
|
- console.log(message)
|
|
|
- //滚动条滚动到底部
|
|
|
- this.scorllBottom();
|
|
|
+ console.log("当前消息为群消息,但是用户未开启此聊天窗口!")
|
|
|
}
|
|
|
}else{
|
|
|
- //非18位是单聊
|
|
|
- if(Number(this.myUserId) == Number(message.user_id)){
|
|
|
+ //当前的单聊消息是自己发的,回显到聊天框中
|
|
|
+ if(Number(this.receiverId)==Number(message.receiver_id)){
|
|
|
//如果message的receiverId和会话的receiverId一致,说明这条信息是自己发的回显
|
|
|
let receiveMessage = {
|
|
|
action:"said",//自己说的
|
|
@@ -2303,22 +2311,57 @@ export default {
|
|
|
//滚动条滚动到底部
|
|
|
this.scorllBottom();
|
|
|
}else{
|
|
|
- let receiveMessage = {
|
|
|
- action:"recieved",//对方说的
|
|
|
- receiver_avatar:message.user_avatar,//头像
|
|
|
- content:message.content,//内容
|
|
|
- msg_type:message.msg_type,//消息类型
|
|
|
- }
|
|
|
- //如果message的receiverId和会话的receiverId不一致,说明这条信息是别人发的,需要添加到聊天记录
|
|
|
- //消息添加到聊天记录
|
|
|
- console.log("来自单聊消息:"+this.receiverId,message.user_id)
|
|
|
- this.chatrecords.push(receiveMessage);
|
|
|
- console.log(message)
|
|
|
- //滚动条滚动到底部
|
|
|
- this.scorllBottom();
|
|
|
+ //判断要回显的内容是不是在群聊
|
|
|
+ if(Number(message.receiver_id.length) == 18){
|
|
|
+ console.log("当前是单聊消息,你选择的是单聊框,可以回显!")
|
|
|
+ let receiveMessage = {
|
|
|
+ action:"recieved",//对方说的
|
|
|
+ receiver_avatar:message.user_avatar,//头像
|
|
|
+ content:message.content,//内容
|
|
|
+ msg_type:message.msg_type,//消息类型
|
|
|
+ }
|
|
|
+ console.log("来自单聊的回显消息:"+this.receiverId,message.receiver_id)
|
|
|
+ console.log(message)
|
|
|
+ //消息添加到聊天记录
|
|
|
+ this.chatrecords.push(receiveMessage);
|
|
|
+ // 确保 Vue 能够检测到数组的变化
|
|
|
+ //this.$set(this.chatrecords, this.chatrecords.length, receiveMessage);
|
|
|
+ console.log(this.chatrecords)
|
|
|
+ //滚动条滚动到底部
|
|
|
+ this.scorllBottom();
|
|
|
+ }else{
|
|
|
+ // console.log(this.receiverId)
|
|
|
+ // console.log(message.receiver_id,message.user_id)
|
|
|
+ // console.log("当前是单聊消息,但是你选择的是群聊框,该条消息不能回显!")
|
|
|
+ if(this.receiverId!=message.receiver_id&&this.receiverId!=message.user_id){
|
|
|
+ //收到单聊消息,但是单聊消息不属于当前的聊天窗口
|
|
|
+ console.log("当前单聊消息不属于当前的聊天窗口,不回显!")
|
|
|
+ }else{
|
|
|
+ if(this.receiverId==message.user_id){
|
|
|
+ console.log("当前单聊消息属于当前的聊天窗口,回显!")
|
|
|
+ let receiveMessage = {
|
|
|
+ action:"recieved",//对方说的
|
|
|
+ receiver_avatar:message.user_avatar,//头像
|
|
|
+ content:message.content,//内容
|
|
|
+ msg_type:message.msg_type,//消息类型
|
|
|
+ }
|
|
|
+ console.log("来自单聊的回显消息:"+this.receiverId,message.receiver_id)
|
|
|
+ console.log(message)
|
|
|
+ //消息添加到聊天记录
|
|
|
+ this.chatrecords.push(receiveMessage);
|
|
|
+ // 确保 Vue 能够检测到数组的变化
|
|
|
+ //this.$set(this.chatrecords, this.chatrecords.length, receiveMessage);
|
|
|
+ console.log(this.chatrecords)
|
|
|
+ //滚动条滚动到底部
|
|
|
+ this.scorllBottom();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
},
|
|
|
// 5.2 发送消息
|
|
|
sendUserMessage() {
|