Przeglądaj źródła

修改bug

修改bug
Sean 3 miesięcy temu
rodzic
commit
755767d59d
3 zmienionych plików z 73 dodań i 34 usunięć
  1. 3 2
      src/views/chat/contacts.vue
  2. 69 31
      src/views/chat/hall.vue
  3. 1 1
      src/views/chat/topic.vue

+ 3 - 2
src/views/chat/contacts.vue

@@ -70,8 +70,9 @@
               <div class="searchFriendLineContent">通过账号添加</div>
             </div> -->
             <div class="searchFriendButton">
-              <el-button type="primary" v-if="searchFriendList.showBtn==false" @click="openAddWindow(searchFriendList.id)">添加到通讯录</el-button>
-              <el-button type="danger" v-if="searchFriendList.showBtn==true" @click="deleteFriend(searchFriendList)">删除好友</el-button>
+              <el-button type="primary" v-if="searchFriendList.showBtn==false&&searchFriendList.id!=this.$store.state.user.userid" @click="openAddWindow(searchFriendList.id)">添加到通讯录</el-button>
+              <el-button type="danger" v-else-if="searchFriendList.showBtn==true" @click="deleteFriend(searchFriendList)">删除好友</el-button>
+              <el-button type="primary" disabled v-else>添加到通讯录</el-button>
             </div>
             <!-- <div class="searchFriendButton">
               <div class="searchFriendButtonItem">

+ 69 - 31
src/views/chat/hall.vue

@@ -2206,37 +2206,75 @@ export default {
       const message = JSON.parse(event.data);
       console.log("监听消息:",message)
      
-      if(Number(this.receiverId) == Number(message.receiver_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 if(Number(this.receiverId) == Number(message.user_id)){
-        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 (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,//消息类型
+          }
+          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();
+        }
+      }else{
+        //非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();
+        }
       }
       
     },

+ 1 - 1
src/views/chat/topic.vue

@@ -70,7 +70,7 @@
                 <div v-if="scope.row.type==3">讨论</div>
               </template>
             </el-table-column>
-            <el-table-column prop="nickname" label="作者" width=""></el-table-column>
+            <el-table-column prop="author" label="作者" width=""></el-table-column>
             <el-table-column prop="created_at" label="创建时间" width=""></el-table-column>
             <el-table-column prop="updated_at" label="修改时间" width=""></el-table-column>
             <el-table-column prop="status" label="状态" width="">