feat:私聊、公聊、房间、支持垃圾字检测
This commit is contained in:
@@ -25,6 +25,7 @@ import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseFetchLoadAdapter
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.adapter.IRecyclerView;
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemClickListener;
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.MsgListFetchLoadMoreView;
|
||||
import com.netease.nim.uikit.common.util.AntiSpamUtil;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.Observer;
|
||||
import com.netease.nimlib.sdk.RequestCallback;
|
||||
@@ -408,6 +409,9 @@ public class ChatRoomMsgListPanel {
|
||||
if (message.getDirect() == MsgDirectionEnum.Out) {
|
||||
// 发出的消息,如果是发送失败,直接重发,否则有可能是漫游到的多媒体消息,但文件下载
|
||||
if (message.getStatus() == MsgStatusEnum.fail) {
|
||||
if (AntiSpamUtil.isAntiSpam(message)) {
|
||||
return;
|
||||
}
|
||||
resendMessage(message); // 重发
|
||||
} else {
|
||||
if (message.getAttachment() instanceof FileAttachment) {
|
||||
|
@@ -33,6 +33,7 @@ import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseFetchLoadAdapter
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.adapter.IRecyclerView;
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.listener.OnItemClickListener;
|
||||
import com.netease.nim.uikit.common.ui.recyclerview.loadmore.MsgListFetchLoadMoreView;
|
||||
import com.netease.nim.uikit.common.util.AntiSpamUtil;
|
||||
import com.netease.nim.uikit.common.util.media.BitmapDecoder;
|
||||
import com.netease.nim.uikit.common.util.sys.ClipboardUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.NetworkUtil;
|
||||
@@ -723,6 +724,9 @@ public class MessageListPanelEx {
|
||||
if (message.getDirect() == MsgDirectionEnum.Out) {
|
||||
// 发出的消息,如果是发送失败,直接重发,否则有可能是漫游到的多媒体消息,但文件下载
|
||||
if (message.getStatus() == MsgStatusEnum.fail) {
|
||||
if (AntiSpamUtil.isAntiSpam(message)) {
|
||||
return;
|
||||
}
|
||||
resendMessage(message); // 重发
|
||||
} else {
|
||||
if (message.getAttachment() instanceof FileAttachment) {
|
||||
|
@@ -1,12 +1,35 @@
|
||||
package com.netease.nim.uikit.common.util;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.msg.MsgService;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.msg.model.LocalAntiSpamResult;
|
||||
|
||||
public class AntiSpamUtil {
|
||||
|
||||
public static boolean isAntiSpam(IMMessage message) {
|
||||
try {
|
||||
if (message == null) {
|
||||
return false;
|
||||
}
|
||||
String antiSpamRes = message.getYidunAntiSpamRes();
|
||||
if (!TextUtils.isEmpty(antiSpamRes)) {
|
||||
JSONObject jsonObject = JSON.parseObject(antiSpamRes);
|
||||
if (jsonObject.getIntValue("suggestion") == 2) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 云信检验本地反垃圾词库
|
||||
*
|
||||
@@ -17,7 +40,7 @@ public class AntiSpamUtil {
|
||||
String text = message.getContent();
|
||||
LocalAntiSpamResult result = NIMClient.getService(MsgService.class)
|
||||
.checkLocalAntiSpam(text, "***");
|
||||
message.setContent(result.getContent()==null?"":result.getContent());
|
||||
message.setContent(result.getContent() == null ? "" : result.getContent());
|
||||
|
||||
if (result.getOperator() != 0) {
|
||||
//Map<String, Object> map = message.getRemoteExtension();
|
||||
|
Reference in New Issue
Block a user