修复进去提示bug

This commit is contained in:
2025-07-07 17:20:37 +08:00
parent 4034c908b2
commit 7b74e7a331

View File

@@ -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 "";
}