wujingjing
2024-11-27 6713c4f475408198aa7c6be301195e3c04cdd764
src/stores/chatRoom.ts
@@ -125,6 +125,7 @@
         getSelectListSample(selectSample, userTemplateList);
      })
      .catch((err) => {});
   getHistoryChatRooms();
};
//#endregion
@@ -195,3 +196,45 @@
      return !this.get()?.web_login;
   },
};
let getHistoryChatRoomsPromise: Promise<any>;
//历史对话
const getHistoryChatRooms = async () => {
   getHistoryChatRoomsPromise = new Promise(async (resolve, reject) => {
      if (isSharePage.value) return resolve(null);
      const res = await GetHistoryGroups();
      const resData = (res?.groups || []) as any[];
      // 按最晚时间到最早时间
      chatRoomList.value = resData
         ?.toSorted((a, b) => {
            return b.create_time.localeCompare(a.create_time);
         })
         .map((item) => {
            return {
               id: item.group_id,
               title: item.group_title,
               createTime: item.create_time,
               isInitial: Number(item.chat_count) === 0,
            };
         });
      resolve(chatRoomList.value);
   });
};
const roomClick = (room: ChatRoomItem) => {
   activeRoomId.value = room.id;
   gotoAnswerPage(room);
};
export const selectFirstRoom = () => {
   getHistoryChatRoomsPromise.then(() => {
      if (!chatRoomList.value || chatRoomList.value.length === 0) {
         newChatRoomClick();
      } else {
         const toClickRoom = activeChatRoom.value ?? chatRoomList.value[0];
         roomClick(toClickRoom);
      }
   });
};