From 7b74e7a33154c892c6ebb80c1b9ac1e4d8b29a00 Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Mon, 7 Jul 2025 17:20:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9B=E5=8E=BB=E6=8F=90?= =?UTF-8?q?=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/imCommon.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/util/imCommon.js b/util/imCommon.js index c56e3c8..d78a363 100644 --- a/util/imCommon.js +++ b/util/imCommon.js @@ -230,8 +230,11 @@ export const bytesToSize = (bytes) => { export const tipMessaggeFormat = (msg, currentUserID) => { - const getName = (user) => - user.userID === currentUserID ? "你" : user.nickname; + const getName = (user) => { + if (!user) return "未知用户"; + if (user.userID === currentUserID) return "你"; + return user.nickname || user.userID || "未知用户"; + }; switch (msg.contentType) { case MessageType.FriendAdded: @@ -243,26 +246,26 @@ export const tipMessaggeFormat = (msg, currentUserID) => { case MessageType.GroupInfoUpdated: const groupUpdateDetail = JSON.parse(msg.notificationElem.detail); const groupUpdateUser = groupUpdateDetail.opUser; - return `${parseInfo(groupUpdateUser)}修改了群信息`; + return `${getName(groupUpdateUser)}修改了群信息`; case MessageType.GroupOwnerTransferred: const transferDetails = JSON.parse(msg.notificationElem.detail); const transferOpUser = transferDetails.opUser; const newOwner = transferDetails.newGroupOwner; - return `${parseInfo(transferOpUser)}转让群主给${parseInfo(newOwner)}`; + return `${getName(transferOpUser)}转让群主给${getName(newOwner)}`; case MessageType.MemberQuit: const quitDetails = JSON.parse(msg.notificationElem.detail); const quitUser = quitDetails.quitUser; - return `${parseInfo(quitUser)}退出了群组`; + return `${getName(quitUser)}退出了群组`; case MessageType.MemberInvited: const inviteDetails = JSON.parse(msg.notificationElem.detail); const inviteOpUser = inviteDetails.opUser; const invitedUserList = inviteDetails.invitedUserList ?? []; let inviteStr = ""; invitedUserList.find( - (user, idx) => (inviteStr += parseInfo(user) + "、") && idx > 3, + (user, idx) => (inviteStr += getName(user) + "、") && idx > 3, ); inviteStr = inviteStr.slice(0, -1); - return `${parseInfo(inviteOpUser)} 邀请了${inviteStr}${ + return `${getName(inviteOpUser)} 邀请了${inviteStr}${ invitedUserList.length > 3 ? "..." : "" }加入群聊`; case MessageType.MemberKicked: @@ -271,20 +274,20 @@ export const tipMessaggeFormat = (msg, currentUserID) => { const kickdUserList = kickDetails.kickedUserList ?? []; let kickStr = ""; kickdUserList.find( - (user, idx) => (kickStr += parseInfo(user) + "、") && idx > 3, + (user, idx) => (kickStr += getName(user) + "、") && idx > 3, ); kickStr = kickStr.slice(0, -1); - return `${parseInfo(kickOpUser)} 踢出了${kickStr}${ + return `${getName(kickOpUser)} 踢出了${kickStr}${ kickdUserList.length > 3 ? "..." : "" }`; case MessageType.MemberEnter: const enterDetails = JSON.parse(msg.notificationElem.detail); const enterUser = enterDetails.entrantUser; - return `${parseInfo(enterUser)}加入了群聊`; + return `${getName(enterUser)}加入了群聊`; case MessageType.GroupDismissed: const dismissDetails = JSON.parse(msg.notificationElem.detail); const dismissUser = dismissDetails.opUser; - return `${parseInfo(dismissUser)}解散了群聊`; + return `${getName(dismissUser)}解散了群聊`; default: return ""; }