From 70afd3ae7e266d2d2d4fb06178de164ddad28893 Mon Sep 17 00:00:00 2001 From: GatlinHa <312777916@qq.com> Date: Fri, 30 May 2025 18:57:05 +0800 Subject: [PATCH] bug fixed --- .prettierrc.json | 3 +- src/js/event/receiveGroupSystemMsg.js | 1 - src/stores/audio.js | 1 + src/stores/document.js | 1 + src/stores/image.js | 2 ++ src/stores/video.js | 1 + src/views/message/components/SessionItem.vue | 31 ++++++++++---------- 7 files changed, 23 insertions(+), 17 deletions(-) diff --git a/.prettierrc.json b/.prettierrc.json index ecdf3e0..ffd6496 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -4,5 +4,6 @@ "tabWidth": 2, "singleQuote": true, "printWidth": 100, - "trailingComma": "none" + "trailingComma": "none", + "jsxBracketSameLine": true } diff --git a/src/js/event/receiveGroupSystemMsg.js b/src/js/event/receiveGroupSystemMsg.js index eca90be..bde8d9d 100644 --- a/src/js/event/receiveGroupSystemMsg.js +++ b/src/js/event/receiveGroupSystemMsg.js @@ -34,7 +34,6 @@ export const onReceiveGroupSystemMsg = (updateScroll, capacity) => { content: msg.body.content, msgTime: now } - await messageData.preloadResource([showMsg]) messageData.addMsgRecords(sessionId, [showMsg]) messageData.updateMsgKeySort(sessionId) diff --git a/src/stores/audio.js b/src/stores/audio.js index f692853..4fd8d48 100644 --- a/src/stores/audio.js +++ b/src/stores/audio.js @@ -33,6 +33,7 @@ export const useAudioStore = defineStore('anylink-audio', () => { const audioIds = new Set() msgRecords.forEach((item) => { const aar = jsonParseSafe(item.content) + if (!aar || !Array.isArray(aar)) return aar.forEach((item) => { if (item.type === msgContentType.AUDIO || item.type === msgContentType.RECORDING) { const objectId = item.value diff --git a/src/stores/document.js b/src/stores/document.js index cb7c5f3..89fb05f 100644 --- a/src/stores/document.js +++ b/src/stores/document.js @@ -33,6 +33,7 @@ export const useDocumentStore = defineStore('anylink-document', () => { const documentIds = new Set() msgRecords.forEach((item) => { const aar = jsonParseSafe(item.content) + if (!aar || !Array.isArray(aar)) return aar.forEach((item) => { if (item.type === msgContentType.DOCUMENT) { const objectId = item.value diff --git a/src/stores/image.js b/src/stores/image.js index be70351..96aab01 100644 --- a/src/stores/image.js +++ b/src/stores/image.js @@ -57,6 +57,7 @@ export const useImageStore = defineStore('anylink-image', () => { const imageIds = new Set() const aar = jsonParseSafe(content) + if (!aar || !Array.isArray(aar)) return aar.forEach((item) => { if (item.type === msgContentType.SCREENSHOT || item.type === msgContentType.IMAGE) { const objectId = item.value @@ -78,6 +79,7 @@ export const useImageStore = defineStore('anylink-image', () => { const imageIds = new Set() msgRecords.forEach((item) => { const aar = jsonParseSafe(item.content) + if (!aar || !Array.isArray(aar)) return aar.forEach((item) => { if (item.type === msgContentType.SCREENSHOT || item.type === msgContentType.IMAGE) { const objectId = item.value diff --git a/src/stores/video.js b/src/stores/video.js index ef2a5c9..5143556 100644 --- a/src/stores/video.js +++ b/src/stores/video.js @@ -33,6 +33,7 @@ export const useVideoStore = defineStore('anylink-video', () => { const videoIds = new Set() msgRecords.forEach((item) => { const aar = jsonParseSafe(item.content) + if (!aar || !Array.isArray(aar)) return aar.forEach((item) => { if (item.type === msgContentType.VIDEO) { const objectId = item.value diff --git a/src/views/message/components/SessionItem.vue b/src/views/message/components/SessionItem.vue index 493c611..e839537 100644 --- a/src/views/message/components/SessionItem.vue +++ b/src/views/message/components/SessionItem.vue @@ -3,7 +3,7 @@ import { ref, computed, watch } from 'vue' import UserAvatarIcon from '@/components/common/UserAvatarIcon.vue' import GroupAvatarIcon from '@/components/common/GroupAvatarIcon.vue' import SessionTag from './SessionTag.vue' -import { sessionShowTime } from '@/js/utils/common' +import { jsonParseSafe, sessionShowTime } from '@/js/utils/common' import { Top, MuteNotification } from '@element-plus/icons-vue' import { MsgType } from '@/proto/msg' import { useUserStore, useMessageStore, useGroupStore } from '@/stores' @@ -225,39 +225,40 @@ const showDetailContent = computed(() => { } if (sessionInfo.value.sessionType === MsgType.GROUP_CHAT) { + const jsonContent = jsonParseSafe(lastMsg.value.content) switch (lastMsg.value.msgType) { case MsgType.SYS_GROUP_CREATE: - return getSysGroupCreateMsgTips(lastMsg.value.content) + return getSysGroupCreateMsgTips(jsonContent) case MsgType.SYS_GROUP_ADD_MEMBER: - return getSysGroupAddMemberMsgTips(lastMsg.value.content) + return getSysGroupAddMemberMsgTips(jsonContent) case MsgType.SYS_GROUP_DEL_MEMBER: - return getSysGroupDelMemberMsgTips(lastMsg.value.content) + return getSysGroupDelMemberMsgTips(jsonContent) case MsgType.SYS_GROUP_UPDATE_ANNOUNCEMENT: - return getSysGroupUpdateAnnouncement(lastMsg.value.content) + return getSysGroupUpdateAnnouncement(jsonContent) case MsgType.SYS_GROUP_UPDATE_NAME: - return getSysGroupUpdateName(lastMsg.value.content) + return getSysGroupUpdateName(jsonContent) case MsgType.SYS_GROUP_UPDATE_AVATAR: - return getSysGroupUpdateAvatar(lastMsg.value.content) + return getSysGroupUpdateAvatar(jsonContent) case MsgType.SYS_GROUP_SET_ADMIN: case MsgType.SYS_GROUP_CANCEL_ADMIN: - return getSysGroupChangeRoleMsgTips(lastMsg.value.msgType, lastMsg.value.content) + return getSysGroupChangeRoleMsgTips(lastMsg.value.msgType, jsonContent) case MsgType.SYS_GROUP_SET_ALL_MUTED: case MsgType.SYS_GROUP_CANCEL_ALL_MUTED: - return getSysGroupUpdateAllMuted(lastMsg.value.msgType, lastMsg.value.content) + return getSysGroupUpdateAllMuted(lastMsg.value.msgType, jsonContent) case MsgType.SYS_GROUP_SET_JOIN_APPROVAL: case MsgType.SYS_GROUP_CANCEL_JOIN_APPROVAL: - return getSysGroupUpdateJoinApproval(lastMsg.value.msgType, lastMsg.value.content) + return getSysGroupUpdateJoinApproval(lastMsg.value.msgType, jsonContent) case MsgType.SYS_GROUP_SET_HISTORY_BROWSE: case MsgType.SYS_GROUP_CANCEL_HISTORY_BROWSE: - return getSysGroupUpdateHistoryBrowse(lastMsg.value.msgType, lastMsg.value.content) + return getSysGroupUpdateHistoryBrowse(lastMsg.value.msgType, jsonContent) case MsgType.SYS_GROUP_OWNER_TRANSFER: - return getSysGroupOwnerTransfer(lastMsg.value.content) + return getSysGroupOwnerTransfer(jsonContent) case MsgType.SYS_GROUP_UPDATE_MEMBER_MUTED: - return getSysGroupUpdateMemberMuted(lastMsg.value.content) + return getSysGroupUpdateMemberMuted(jsonContent) case MsgType.SYS_GROUP_LEAVE: - return getSysGroupLeave(lastMsg.value.content) + return getSysGroupLeave(jsonContent) case MsgType.SYS_GROUP_DROP: - return getSysGroupDrop(lastMsg.value.content) + return getSysGroupDrop(jsonContent) case MsgType.GROUP_CHAT: return getGroupChatMsgTips(showSimplifyMsgContent(lastMsg.value.content)) default: