UNPKG

wildfire-im-sdk

Version:
64 lines (55 loc) 1.87 kB
/* * Copyright (c) 2020 WildFireChat. All rights reserved. */ import GroupNotificationContent from "./groupNotification"; import wfc from "../../client/wfc"; import MessageContentType from "../messageContentType"; export default class GroupJoinTypeNotificationContent extends GroupNotificationContent { operator; //在group type为Restricted时,0 开放加入权限(群成员可以拉人,用户也可以主动加入);1 只能群成员拉人入群;2 只能群管理拉人入群 joinType; constructor(operator, joinType) { super(MessageContentType.ChangeJoinType_Notification); this.operator = operator; this.type = joinType; } formatNotification(message) { let notifyStr; if (this.fromSelf) { notifyStr = '您'; } else { notifyStr = wfc.getGroupMemberDisplayName(this.groupId, this.operator); } switch (this.joinType) { case 0: notifyStr += ' 开放了加入群组功能'; break; case 1: notifyStr += ' 仅允许群成员邀请加入群组'; break; case 2: notifyStr += " 关闭了加入群组功能"; break; default: break; } return notifyStr; } encode() { let payload = super.encode(); let obj = { g: this.groupId, o: this.operator, n: (this.joinType + '') }; payload.binaryContent = wfc.utf8_to_b64(JSON.stringify(obj)); return payload; } decode(payload) { super.decode(payload); let obj = JSON.parse(wfc.b64_to_utf8(payload.binaryContent)); this.groupId = obj.g; this.operator = obj.o; this.joinType = parseInt(obj.n); } }