wansfa 1 ano atrás
pai
commit
bc9028ae6b

+ 22 - 3
src/components/LemonUI/components/index.vue

@@ -105,6 +105,7 @@ export default {
       currentMessages: [],
       activeSidebar: DEFAULT_MENU_LASTMESSAGES,
       contacts: [],
+      conversations:[],
       menus: [],
       editorTools: [
         { name: "emoji" },
@@ -117,8 +118,8 @@ export default {
   render() {
     return this._renderWrapper([
       this._renderMenu(),
-      this._renderSidebarMessage(),
-      this._renderSidebarContact(),
+      this._renderSidebarMessage(),//加载会话数据
+      this._renderSidebarContact(),//加载联系人
       this._renderContainer(),
       this._renderDrawer(),
     ]);
@@ -140,10 +141,13 @@ export default {
       return DEFAULT_MENUS.includes(this.activeSidebar);
     },
     lastMessages() {
-      const data = this.contacts.filter(item => !isEmpty(item.lastContent));
+      var data = this.contacts.filter(item => !isEmpty(item.lastContent));
       data.sort((a1, a2) => {
         return a2.lastSendTime - a1.lastSendTime;
       });
+      if(!!this.conversations){
+          data=this.conversations;
+      }
       return data;
     },
   },
@@ -877,6 +881,15 @@ export default {
       this.contacts = data;
       this.sortContacts();
     },
+      /**
+     * 初始化会话数据
+     * @param {Array<Contact>} data 会话列表
+     */
+    initConversations(data) {
+      this.conversations = data;
+      this.sortConversations();
+    },
+
     /**
      * 使用 联系人的 index 值进行排序
      */
@@ -886,6 +899,12 @@ export default {
         return a.index.localeCompare(b.index);
       });
     },
+    sortConversations() {
+      this.conversations.sort((a, b) => {
+        if (!a.index) return;
+        return a.index.localeCompare(b.index);
+      });
+    },
     appendContact(contact) {
       if (isEmpty(contact.id) || isEmpty(contact.displayName)) {
         console.error("id | displayName cant be empty");

+ 1 - 1
src/components/LemonUI/database/contacts.js

@@ -15,7 +15,7 @@ export default [
     index: "M",
     unread: 0,
     lastSendTime: 1566047865417,
-    lastContent: "",
+    lastContent: "不错哟",
   },
   {
     id: 3,

+ 7 - 0
src/views/qw/qwChat/qq.vue

@@ -285,6 +285,13 @@ export default {
     };
     const IMUI = this.$refs.IMUI;
     IMUI.initContacts(ContactsData);
+
+    var converData = ContactsData.filter(item => item.id<=7);
+    converData.sort((a1, a2) => {
+      return a2.lastSendTime - a1.lastSendTime;
+    });
+    IMUI.initConversations(converData);
+  
     IMUI.initMenus([
       {
         name: "messages",