/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import wfc from "../../client/wfc"; import MessageContentType from "../messageContentType"; import GroupNotificationContent from "./groupNotification"; export default class ModifyGroupMemberExtraNotification extends GroupNotificationContent { operator = ""; groupMemberExtra = ""; memberId = ""; constructor(creator, groupMemberExtra) { super(MessageContentType.ModifyGroupMemberExtra_Notification); this.operator = creator; this.groupMemberExtra = groupMemberExtra; } formatNotification() { let notificationStr = ""; if (this.fromSelf) { notificationStr += "你"; } else { let userInfo = wfc.getUserInfo(this.operator, false, this.groupId); if (userInfo.friendAlias) { notificationStr += userInfo.friendAlias; } else if (userInfo.displayName) { notificationStr += userInfo.displayName; } else { notificationStr += this.operator; } } notificationStr += "修改"; if (this.memberId) { let userInfo = wfc.getUserInfo(this.memberId, false); if (userInfo.friendAlias) { notificationStr += userInfo.friendAlias; } else if (userInfo.displayName) { notificationStr += userInfo.displayName; } else { notificationStr += this.memberId; } notificationStr += "的"; } notificationStr += "群成员信息为"; notificationStr += this.groupMemberExtra; return notificationStr; } encode() { let payload = super.encode(); let obj = { g: this.groupId, n: this.groupMemberExtra, o: this.operator, m: this.memberId, }; 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.operator = obj.o; this.groupMemberExtra = obj.n; this.memberId = obj.m; } }