decode method

  1. @override
void decode(
  1. String? jsonStr
)
override

Implementation

@override
void decode(String? jsonStr) {
  if (jsonStr == null || jsonStr == "") {
    developer.log("Flutter ReferenceMessage deocde error: no content", name: "RongIMClient.ReferenceMessage");
    return;
  }
  Map? map = json.decode(jsonStr);
  if (map == null) {
    developer.log("Flutter ReferenceMessage deocde error: no right content", name: "RongIMClient.ReferenceMessage");
    return;
  }
  this.content = map["content"];
  this.referMsgUserId = map["referMsgUserId"];
  Map? messageMap = map["referMsg"];
  String messageStr = json.encode(messageMap);
  String? objectName = map["objName"];
  this.referMsg = MessageFactory.instance!.string2MessageContent(messageStr, objectName);
  this.extra = map["extra"];
  Map? userMap = map["user"];
  super.decodeUserInfo(userMap);
  Map? menthionedMap = map["mentionedInfo"];
  super.decodeMentionedInfo(menthionedMap);
  this.destructDuration = map["burnDuration"];
}