fix:update demo

This commit is contained in:
SL 2024-11-12 17:37:46 +08:00
parent 002315b82b
commit 62bbbc0581
3 changed files with 33 additions and 9 deletions

View File

@ -222,6 +222,7 @@ public class HttpUtil {
} }
public WKSyncRecent getWKSyncRecent(JSONObject msgJson) { public WKSyncRecent getWKSyncRecent(JSONObject msgJson) {
Log.e("消息数据:", msgJson.toString());
String from_uid = msgJson.optString("from_uid"); String from_uid = msgJson.optString("from_uid");
String client_msg_no = msgJson.optString("client_msg_no"); String client_msg_no = msgJson.optString("client_msg_no");
String channel_id = msgJson.optString("channel_id"); String channel_id = msgJson.optString("channel_id");
@ -235,6 +236,7 @@ public class HttpUtil {
recent.from_uid = from_uid; recent.from_uid = from_uid;
recent.message_id = msgJson.optString("message_id"); recent.message_id = msgJson.optString("message_id");
recent.message_seq = msgJson.optInt("message_seq"); recent.message_seq = msgJson.optInt("message_seq");
recent.is_deleted = msgJson.optInt("is_deleted");
recent.client_msg_no = client_msg_no; recent.client_msg_no = client_msg_no;
recent.channel_id = channel_id; recent.channel_id = channel_id;
recent.channel_type = channel_type; recent.channel_type = channel_type;
@ -258,11 +260,17 @@ public class HttpUtil {
} }
WKSyncExtraMsg extraMsg = new WKSyncExtraMsg(); WKSyncExtraMsg extraMsg = new WKSyncExtraMsg();
extraMsg.message_id_str = extraJson.optString("message_id_str"); extraMsg.message_id_str = extraJson.optString("message_id_str");
extraMsg.revoke = extraJson.optInt("revoke"); extraMsg.message_id = extraJson.optString("message_id_str");
extraMsg.revoker = extraJson.optString("revoker"); if (extraJson.has("revoke"))
extraMsg.readed = extraJson.optInt("readed"); extraMsg.revoke = extraJson.optInt("revoke");
extraMsg.readed_count = extraJson.optInt("readed_count"); if (extraJson.has("revoker"))
extraMsg.is_mutual_deleted = extraJson.optInt("is_mutual_deleted"); extraMsg.revoker = extraJson.optString("revoker");
if (extraJson.has("readed"))
extraMsg.readed = extraJson.optInt("readed");
if (extraJson.has("readed_count"))
extraMsg.readed_count = extraJson.optInt("readed_count");
if (extraJson.has("is_mutual_deleted"))
extraMsg.is_mutual_deleted = extraJson.optInt("is_mutual_deleted");
recent.message_extra = extraMsg; recent.message_extra = extraMsg;
} }
return recent; return recent;
@ -423,7 +431,7 @@ public class HttpUtil {
new Thread(() -> post("/message/revoke", json, (code, data) -> { new Thread(() -> post("/message/revoke", json, (code, data) -> {
if (code == 200) { if (code == 200) {
Log.e("撤回成功","--->"); Log.e("撤回成功", "--->");
} }
})).start(); })).start();
} }
@ -442,6 +450,7 @@ public class HttpUtil {
new Thread(() -> delete("/message", json, (code, data) -> { new Thread(() -> delete("/message", json, (code, data) -> {
if (code == 200) { if (code == 200) {
Log.e("删除消息成功", "-->");
WKIM.getInstance().getMsgManager().deleteWithClientMsgNO(clientMsgNo); WKIM.getInstance().getMsgManager().deleteWithClientMsgNO(clientMsgNo);
} }
})).start(); })).start();

View File

@ -20,6 +20,7 @@ import com.xinbida.wukongim.entity.WKChannel;
import com.xinbida.wukongim.entity.WKChannelType; import com.xinbida.wukongim.entity.WKChannelType;
import com.xinbida.wukongim.entity.WKMsg; import com.xinbida.wukongim.entity.WKMsg;
import com.xinbida.wukongim.interfaces.IClearMsgListener; import com.xinbida.wukongim.interfaces.IClearMsgListener;
import com.xinbida.wukongim.interfaces.IDeleteMsgListener;
import com.xinbida.wukongim.interfaces.IGetOrSyncHistoryMsgBack; import com.xinbida.wukongim.interfaces.IGetOrSyncHistoryMsgBack;
import com.xinbida.wukongim.interfaces.IRefreshMsg; import com.xinbida.wukongim.interfaces.IRefreshMsg;
import com.xinbida.wukongim.msgmodel.WKTextContent; import com.xinbida.wukongim.msgmodel.WKTextContent;
@ -176,7 +177,7 @@ public class MainActivity extends AppCompatActivity {
if (adapter.getData().get(i).msg.clientSeq == msg.clientSeq) { if (adapter.getData().get(i).msg.clientSeq == msg.clientSeq) {
adapter.getData().get(i).msg.status = msg.status; adapter.getData().get(i).msg.status = msg.status;
adapter.getData().get(i).msg.messageID = msg.messageID; adapter.getData().get(i).msg.messageID = msg.messageID;
adapter.getData().get(i).msg.messageSeq= msg.messageSeq; adapter.getData().get(i).msg.messageSeq = msg.messageSeq;
adapter.notifyItemChanged(i); adapter.notifyItemChanged(i);
break; break;
} }
@ -220,6 +221,19 @@ public class MainActivity extends AppCompatActivity {
} }
} }
}); });
// 监听删除消息
WKIM.getInstance().getMsgManager().addOnDeleteMsgListener(channelID, msg -> {
if (msg == null) {
return;
}
for (int i = 0; i < adapter.getData().size(); i++) {
if (msg.clientMsgNO.equals(adapter.getData().get(i).msg.clientMsgNO)) {
adapter.removeAt(i);
break;
}
}
});
} }
@Override @Override
@ -296,6 +310,7 @@ public class MainActivity extends AppCompatActivity {
WKIM.getInstance().getMsgManager().removeSendMsgAckListener(channelID); WKIM.getInstance().getMsgManager().removeSendMsgAckListener(channelID);
WKIM.getInstance().getMsgManager().removeRefreshMsgListener(channelID); WKIM.getInstance().getMsgManager().removeRefreshMsgListener(channelID);
WKIM.getInstance().getMsgManager().removeClearMsg(channelID); WKIM.getInstance().getMsgManager().removeClearMsg(channelID);
WKIM.getInstance().getMsgManager().removeDeleteMsgListener(channelID);
} }
} }

View File

@ -81,13 +81,13 @@ class MessageAdapter extends BaseMultiItemQuickAdapter<UIMessageEntity, BaseView
(position, text) -> { (position, text) -> {
if (position == 0) { if (position == 0) {
if (uiMessageEntity.msg.messageSeq > 0) { if (uiMessageEntity.msg.messageSeq > 0) {
HttpUtil.getInstance().deleteMsg(uiMessageEntity.msg.channelID, uiMessageEntity.msg.channelType, uiMessageEntity.msg.messageSeq, uiMessageEntity.msg.messageID, uiMessageEntity.msg.messageID); HttpUtil.getInstance().deleteMsg(uiMessageEntity.msg.channelID, uiMessageEntity.msg.channelType, uiMessageEntity.msg.messageSeq, uiMessageEntity.msg.messageID, uiMessageEntity.msg.clientMsgNO);
} else { } else {
WKIM.getInstance().getMsgManager().deleteWithClientMsgNO(uiMessageEntity.msg.clientMsgNO); WKIM.getInstance().getMsgManager().deleteWithClientMsgNO(uiMessageEntity.msg.clientMsgNO);
} }
} else { } else {
if (uiMessageEntity.msg.messageSeq > 0) { if (uiMessageEntity.msg.messageSeq > 0) {
HttpUtil.getInstance().revokeMsg(uiMessageEntity.msg.channelID, uiMessageEntity.msg.channelType, uiMessageEntity.msg.messageID, uiMessageEntity.msg.messageID); HttpUtil.getInstance().revokeMsg(uiMessageEntity.msg.channelID, uiMessageEntity.msg.channelType, uiMessageEntity.msg.messageID, uiMessageEntity.msg.clientMsgNO);
} }
} }
}) })