Browse Source

更新体验问题

lex 2 years ago
parent
commit
acd015a94e

+ 22 - 6
src/layout/components/AppMain.vue

@@ -81,7 +81,12 @@
           p-id="3078"
           width="48"
           height="48"
-          @click="chatVisible = true"
+          @click="
+            () => {
+              chatVisible = true;
+              this.$bus.$emit('scrollToBottom');
+            }
+          "
         >
           <path
             d="M512 796a456.672 456.672 0 0 1-74.768-6.4L262 896V718.976C170.64 654.832 112 556.48 112 446 112 252.704 291.088 96 512 96s400 156.704 400 350S732.912 796 512 796z m0-650c-193.296 0-350 134.32-350 300 0 101.664 59.2 191.344 149.376 245.6l-1.6 115.968 117.68-70.736a404.8 404.8 0 0 0 84.544 9.168c193.296 0 350-134.304 350-300S705.296 146 512 146zM336 400a48 48 0 1 1-48 48 48 48 0 0 1 48-48z m176 0a48 48 0 1 1-48 48 48 48 0 0 1 48-48z m176 0a48 48 0 1 1-48 48 48 48 0 0 1 48-48z"
@@ -162,7 +167,7 @@
       :append-to-body="true"
       :visible.sync="chatVisible"
       size="910px"
-      :class="chatVisible ? '' : 'drawer-container'"
+      :class="loadChatDom ? '' : 'drawer-container'"
       custom-class="innerDrawer"
       :withHeader="false"
     >
@@ -212,6 +217,7 @@ export default {
       allIdList: [],
       isShow: false,
       activeImg: null,
+      loadChatDom: false,
       chatVisible: true,
       noReadNum: 0 // 消息未读数
     };
@@ -237,6 +243,9 @@ export default {
   async mounted() {
     console.log(this.$store.state.user, "userInfo");
     this.chatVisible = false;
+    setTimeout(() => {
+      this.loadChatDom = true;
+    }, 1000);
     // console.log(this.$ref.chatModel);
     this.$bus.$on("showguide", obj => {
       this.guideList = [];
@@ -253,9 +262,12 @@ export default {
     } catch (e) {}
 
     this.init();
+
+    this.$bus.$on("getNoReadNum", this.getNoReadMessage);
   },
   beforeDestroy() {
     this.$bus.$off("showguide", () => {});
+    this.$bus.$off("getNoReadNum", this.getNoReadMessage);
     // core.off(CoreEvent.MESSAGES, this.handleMessages);
     const Events = RongIMLib.Events;
     RongIMLib.removeEventListener(Events.MESSAGES, this.handleMessages);
@@ -272,8 +284,11 @@ export default {
         }
       });
 
-      const Events = RongIMLib.Events;
-      RongIMLib.addEventListener(Events.MESSAGES, this.handleMessages);
+      // const Events = RongIMLib.Events;
+      // RongIMLib.addEventListener(Events.MESSAGES, this.getNoReadMessage);
+      // RongIMLib.addEventListener(Events.MESSAGE_RECEIPT_RESPONSE, message => {
+      //   console.log("121212", message);
+      // });
     },
     handleMessages(newMessage) {
       console.log(newMessage, "newMessage");
@@ -354,7 +369,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 .drawer-container {
-  display: none;
+  display: none !important;
 }
 
 .previewImg {
@@ -413,6 +428,7 @@ export default {
   position: fixed;
   right: 36px;
   bottom: 36px;
+  z-index: 99;
 
   ::v-deep .el-badge__content {
     display: flex;
@@ -549,4 +565,4 @@ export default {
 .el-image-viewer__close {
   display: none !important;
 }
-</style>
+</style>

+ 3 - 0
src/layout/components/components/conversation-list.vue

@@ -201,6 +201,9 @@ export default {
         });
         this.list = [...tmpList];
         console.log(this.list, "data");
+
+        // 初始化未读数
+        this.$bus.$emit("getNoReadNum");
       });
     },
     switchConversation(conversation) {

+ 4 - 17
src/layout/components/components/message-list.vue

@@ -114,6 +114,8 @@ export default {
     if (core.currentConversation) {
       this.handleSwitchConversation(core.currentConversation);
     }
+
+    this.$bus.$on("scrollToBottom", this.scrollToBottom);
   },
   methods: {
     onContextmenu(item, e) {
@@ -245,22 +247,6 @@ export default {
       }
       return receivedStatus;
     },
-    getProgressBar(message) {
-      return message.messageUId.indexOf("sending") === 0 &&
-        message.messageId &&
-        [
-          MessageType.IMAGE,
-          MessageType.FILE,
-          MessageType.SIGHT,
-          MessageType.HQ_VOICE,
-          MessageType.GIF
-        ].indexOf(message.messageType) !== -1
-        ? h("progress-bar", {
-            mId: message.messageId,
-            reverse: message.messageType === MessageType.FILE
-          })
-        : null;
-    },
     handleClick(data) {
       this.tap.emit(data);
     },
@@ -441,7 +427,7 @@ export default {
      * 处理新消息
      */
     handleMessages(newMessages) {
-      console.log(newMessages, "newMessages");
+      this.$bus.$emit("getNoReadNum");
       if (!newMessages.length || !this.conversation) {
         return;
       }
@@ -669,6 +655,7 @@ export default {
     core.off(CoreEvent.MESSAGE_SEND_SUCCESS, this.handleUpdateMessage);
     core.off(CoreEvent.MESSAGE_SEND_FAIL, this.handleUpdateMessage);
     core.off(CoreEvent.TYPING_STATUS, this.handleTypingStatus);
+    this.$bus.$off("scrollToBottom");
   }
 };
 </script>