/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import wfc from "../../client/wfc"; import MessageContentType from "../messageContentType"; import GroupNotificationContent from "./groupNotification"; export default class AddGroupMemberNotification extends GroupNotificationContent { invitor = ""; invitees = []; constructor(invitor, invitees) { super(MessageContentType.AddGroupMember_Notification); this.invitor = invitor; this.invitees = invitees; } formatNotification() { let notifyStr; if (this.invitees.length === 1 && this.invitees[0] === this.invitor) { if (this.fromSelf) { return "您加入了群组"; } else { return wfc.getGroupMemberDisplayName(this.groupId, this.invitor) + " 加入了群组"; } } if (this.fromSelf) { notifyStr = "您邀请:"; } else { notifyStr = wfc.getGroupMemberDisplayName(this.groupId, this.invitor) + "邀请:"; } let membersStr = ""; let userInfos = wfc.getUserInfos(this.invitees, this.groupId); userInfos.forEach((m) => { membersStr += " " + m.displayName; }); return notifyStr + membersStr + "加入了群组"; } encode() { let payload = super.encode(); let obj = { g: this.groupId, o: this.invitor, ms: this.invitees, }; payload.binaryContent = wfc.utf8_to_b64(JSON.stringify(obj)); return payload; } decode(payload) { super.decode(payload); let json = wfc.b64_to_utf8(payload.binaryContent); let obj = JSON.parse(json); this.groupId = obj.g; this.invitor = obj.o; this.invitees = obj.ms; } }