优化server sdk

This commit is contained in:
heavyrian2012
2025-02-18 09:53:34 +08:00
parent b95a6b7785
commit ff75379779
22 changed files with 61 additions and 37 deletions
File diff suppressed because one or more lines are too long
@@ -32,7 +32,7 @@ public class ArticlesMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(topArticle.title);
JSONObject object = new JSONObject();
@@ -53,6 +53,7 @@ public class ArticlesMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
try {
super.decode(payload);
JSONObject object = (JSONObject) new JSONParser().parse(new String(Base64.getDecoder().decode(payload.getBase64edData())));
JSONObject topObj = (JSONObject) object.get("top");
this.topArticle = Article.fromJson(topObj);
@@ -133,7 +133,7 @@ public class CallStartMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setContent(callId);
payload.setPushContent("音视频通话邀请");
@@ -175,6 +175,7 @@ public class CallStartMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
callId = payload.getContent();
try {
@@ -100,7 +100,7 @@ public class CardMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setContent(target);
JSONObject objWrite = new JSONObject();
objWrite.put("t", type);
@@ -116,6 +116,7 @@ public class CardMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
target = payload.getContent();
try {
if (!StringUtil.isNullOrEmpty(payload.getBase64edData())) {
@@ -26,7 +26,7 @@ public class FileMessageContent extends MediaMessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(name);
payload.setContent(size + "");
@@ -51,7 +51,7 @@ public class FileMessageContent extends MediaMessageContent {
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
if (payload.getSearchableContent().startsWith(FILE_NAME_PREFIX)) {
name = payload.getSearchableContent().substring(payload.getSearchableContent().indexOf(FILE_NAME_PREFIX) + FILE_NAME_PREFIX.length());
@@ -34,7 +34,7 @@ public class ImageMessageContent extends MediaMessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent("[图片]");
payload.setBase64edData(Base64.getEncoder().encodeToString(thumbnailBytes));
@@ -44,7 +44,7 @@ public class ImageMessageContent extends MediaMessageContent {
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
thumbnailBytes = Base64.getDecoder().decode(payload.getBase64edData());
}
@@ -72,9 +72,7 @@ public class LinkMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(title);
JSONObject objWrite = new JSONObject();
objWrite.put("d", contentDigest);
@@ -88,9 +86,8 @@ public class LinkMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
title = payload.getSearchableContent();
try {
if (!StringUtil.isNullOrEmpty(payload.getBase64edData())) {
JSONObject jsonObject = (JSONObject) new JSONParser().parse(new String(Base64.getDecoder().decode(payload.getBase64edData())));
@@ -66,7 +66,7 @@ public class LocationMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(title);
payload.setBase64edData(Base64.getEncoder().encodeToString(this.thumbnailByte));
@@ -82,6 +82,7 @@ public class LocationMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
if (!StringUtil.isNullOrEmpty(payload.getBase64edData())) {
this.thumbnailByte = Base64.getDecoder().decode(payload.getBase64edData());
}
@@ -14,12 +14,18 @@ abstract public class MediaMessageContent extends MessageContent {
}
@Override
protected MessagePayload encodeBase() {
MessagePayload payload = super.encodeBase();
public MessagePayload encode() {
MessagePayload payload = super.encode();
payload.setRemoteMediaUrl(remoteMediaUrl);
payload.setMediaType(getMediaType());
return payload;
}
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
remoteMediaUrl = payload.getRemoteMediaUrl();
}
protected abstract int getMediaType();
}
@@ -22,7 +22,7 @@ public abstract class MessageContent {
return this;
}
protected MessagePayload encodeBase() {
public MessagePayload encode() {
MessagePayload payload = new MessagePayload();
payload.setType(getContentType());
payload.setPersistFlag(getPersistFlag());
@@ -32,13 +32,11 @@ public abstract class MessageContent {
return payload;
}
protected void decodeBase(MessagePayload payload) {
protected void decode(MessagePayload payload) {
this.mentionedType = payload.getMentionedType();
this.mentionedTargets = payload.getMentionedTarget();
this.extra = payload.getExtra();
}
abstract public int getContentType();
abstract public int getPersistFlag();
abstract public MessagePayload encode();
abstract public void decode(MessagePayload payload);
}
@@ -49,7 +49,6 @@ public class MessageContentFactory {
} else {
messageContent = new UnknownMessageContent();
}
messageContent.decodeBase(messagePayload);
messageContent.decode(messagePayload);
return messageContent;
}
@@ -43,7 +43,7 @@ public class MultiCallOngoingMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setContent(callId);
JSONObject object = new JSONObject();
object.put("initiator", this.initiator);
@@ -60,6 +60,7 @@ public class MultiCallOngoingMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
this.callId = payload.getContent();
try {
JSONObject object = (JSONObject) new JSONParser().parse(new String(Base64.getDecoder().decode(payload.getBase64edData())));
@@ -57,7 +57,7 @@ public class NotDeliveredMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
JSONObject obj = new JSONObject();
obj.put("mid", this.messageUid);
obj.put("all", this.allFailure);
@@ -74,7 +74,7 @@ public class NotDeliveredMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
try {
super.decode(payload);
JSONObject obj = (JSONObject) new JSONParser().parse(new String(Base64.getDecoder().decode(payload.getBase64edData())));
this.messageUid = (long) obj.get("mid");
this.allFailure = (boolean) obj.get("all");
@@ -89,7 +89,7 @@ public class RichNotificationMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = encodeBase();
MessagePayload payload = super.encode();
payload.setPushContent(title);
payload.setContent(desc);
JSONObject jsonObject = new JSONObject();
@@ -113,5 +113,6 @@ public class RichNotificationMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
}
}
@@ -35,11 +35,12 @@ public class SoundMessageContent extends MediaMessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
}
@Override
public MessagePayload encode() {
MessagePayload payload = encodeBase();
MessagePayload payload = super.encode();
JSONObject jsonObject = new JSONObject();
jsonObject.put("duration", duration);
payload.setContent(jsonObject.toJSONString());
@@ -34,7 +34,7 @@ public class StickerMessageContent extends MediaMessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent("[动态表情]");
JSONObject objWrite = new JSONObject();
objWrite.put("x", width);
@@ -47,8 +47,7 @@ public class StickerMessageContent extends MediaMessageContent {
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
try {
JSONObject jsonObject = (JSONObject) new JSONParser().parse(new String(Base64.getDecoder().decode(payload.getBase64edData())));
width = (int) jsonObject.get("x");
@@ -38,13 +38,14 @@ public class StreamTextGeneratedMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
this.streamId = payload.getContent();
this.text = payload.getSearchableContent();
}
@Override
public MessagePayload encode() {
MessagePayload payload = encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(text);
payload.setContent(streamId);
return payload;
@@ -38,13 +38,14 @@ public class StreamTextGeneratingMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
streamId = payload.getContent();
text = payload.getSearchableContent();
}
@Override
public MessagePayload encode() {
MessagePayload payload = encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(text);
payload.setContent(streamId);
return payload;
@@ -56,7 +56,7 @@ public class TextMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent(text);
if(quoteInfo != null) {
payload.setBase64edData(Base64.getEncoder().encodeToString(quoteInfo.encode().toJSONString().getBytes(StandardCharsets.UTF_8)));
@@ -66,6 +66,7 @@ public class TextMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decode(payload);
text = payload.getSearchableContent();
if(!TextUtils.isEmpty(payload.getBase64edData())) {
String jsonStr = new String(Base64.getDecoder().decode(payload.getBase64edData()), StandardCharsets.UTF_8);
@@ -24,7 +24,7 @@ public class TipNotificationMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setContent(tip);
return payload;
@@ -32,7 +32,7 @@ public class TipNotificationMessageContent extends MessageContent {
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
tip = payload.getContent();
}
@@ -43,14 +43,14 @@ public class TypingMessageContent extends MessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setContent(typingType + "");
return payload;
}
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
typingType = Integer.parseInt(payload.getContent());
}
}
@@ -58,7 +58,7 @@ public class VideoMessageContent extends MediaMessageContent {
@Override
public MessagePayload encode() {
MessagePayload payload = super.encodeBase();
MessagePayload payload = super.encode();
payload.setSearchableContent("[视频]");
payload.setBase64edData(Base64.getEncoder().encodeToString(thumbnailBytes));
@@ -73,7 +73,7 @@ public class VideoMessageContent extends MediaMessageContent {
@Override
public void decode(MessagePayload payload) {
super.decodeBase(payload);
super.decode(payload);
thumbnailBytes = Base64.getDecoder().decode(payload.getBase64edData());
try {
JSONObject jsonObject = (JSONObject) new JSONParser().parse(payload.getContent());