/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import GroupNotificationContent from './groupNotification' import MessageContentType from '../messageContentType' import wfc from '../../client/wfc' export default class MuteGroupMemberNotification extends GroupNotificationContent { groupId operator // 操作类型,1禁言,0取消禁言 muteType memberIds constructor(operator, muteType, memberIds) { super(MessageContentType.MuteGroupMember_Notification) this.operator = operator this.muteType = muteType this.memberIds = memberIds } formatNotification(message) { let notifyStr = '' if (this.fromSelf) { notifyStr += '您' } else { notifyStr += wfc.getGroupMemberDisplayName(this.groupId, this.operator) } notifyStr += '把' if (this.memberIds) { this.memberIds.forEach((memberId) => { notifyStr += ' ' notifyStr += wfc.getGroupMemberDisplayName(this.groupId, memberId) }) } if (this.muteType === 1) { notifyStr += '设置了禁言' } else { notifyStr += '取消了禁言' } return notifyStr } encode() { let payload = super.encode() let obj = { g: this.groupId, o: this.operator, n: this.muteType + '', ms: this.memberIds, } 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.muteType = parseInt(obj.n) this.memberIds = obj.ms } }