/* * 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; } }