聊被易盾拦截增加感叹号提示

This commit is contained in:
huangjian
2022-08-15 14:31:46 +08:00
parent 05f5a850f3
commit 0ddee0f82d
4 changed files with 379 additions and 362 deletions

View File

@@ -16,6 +16,8 @@ import android.util.SparseArray;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@@ -33,6 +35,7 @@ import com.netease.nimlib.sdk.ResponseCode;
import com.netease.nimlib.sdk.StatusCode;
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
import com.netease.nimlib.sdk.chatroom.ChatRoomService;
import com.netease.nimlib.sdk.chatroom.ChatRoomServiceObserver;
import com.netease.nimlib.sdk.chatroom.constant.MemberType;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMember;
@@ -235,6 +238,7 @@ public final class IMNetEaseManager {
registerOnlineStatusChange();
registerServerMessage();
registerMessageFilter();
registerMsgStatusObserver();
model = AvRoomModel.get();
}
@@ -456,6 +460,23 @@ public final class IMNetEaseManager {
NIMChatRoomSDK.getChatRoomServiceObserve().observeReceiveMessage(incomingChatObserver, true);
}
private void registerMsgStatusObserver() {
Observer<ChatRoomMessage> msgStatusObserver = (Observer<ChatRoomMessage>) message -> {
if (message != null) {
String antiSpamRes = message.getYidunAntiSpamRes();
if (!TextUtils.isEmpty(antiSpamRes) && String.valueOf(AuthModel.get().getCurrentUid()).equals(message.getFromAccount())) {
JSONObject jsonObject = JSON.parseObject(antiSpamRes);
if (jsonObject.getIntValue("suggestion") == 2) {
SingleToastUtil.showToast("消息中可能含有违规信息,请停止发送类似信息!");
}
}
}
};
NIMClient.getService(ChatRoomServiceObserver.class).observeMsgStatus(
msgStatusObserver, true);
}
private void dealChatRoomOnlineStatus(ChatRoomStatusChangeData chatRoomStatusChangeData) {
if (filterAnotherChatRoom(chatRoomStatusChangeData)) return;