Skip to content

Commit 9728991

Browse files
committed
群聊添加@的提醒 文本发送
群聊添加@的提醒 文本发送
1 parent 300190c commit 9728991

File tree

3 files changed

+38
-5
lines changed

3 files changed

+38
-5
lines changed

android/src/main/java/com/netease/im/RNNeteaseImModule.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,13 +1031,27 @@ public void onResult(int code, Void aVoid, Throwable throwable) {
10311031
/**
10321032
* 发送文本消息
10331033
*
1034-
* @param content 文本内容
1034+
* @param content 文本内容
1035+
* @param atUserIds
10351036
* @param promise
10361037
*/
10371038
@ReactMethod
1039+
public void sendTextMessage(String content, ReadableArray atUserIds, final Promise promise) {
1040+
LogUtil.i(TAG, "sendTextMessage" + content);
1041+
1042+
List<String> atUserIdList = array2ListString(atUserIds);
1043+
sessionService.sendTextMessage(content, atUserIdList, new SessionService.OnSendMessageListener() {
1044+
@Override
1045+
public int onResult(int code, IMMessage message) {
1046+
// promise.resolve(ReactCache.createMessage(message,null));
1047+
return 0;
1048+
}
1049+
});
1050+
}
1051+
10381052
public void sendTextMessage(String content, final Promise promise) {
10391053
LogUtil.i(TAG, "sendTextMessage" + content);
1040-
sessionService.sendTextMessage(content, new SessionService.OnSendMessageListener() {
1054+
sessionService.sendTextMessage(content, null, new SessionService.OnSendMessageListener() {
10411055
@Override
10421056
public int onResult(int code, IMMessage message) {
10431057
// promise.resolve(ReactCache.createMessage(message,null));

android/src/main/java/com/netease/im/session/SessionService.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.netease.nimlib.sdk.msg.model.AttachmentProgress;
3535
import com.netease.nimlib.sdk.msg.model.CustomMessageConfig;
3636
import com.netease.nimlib.sdk.msg.model.IMMessage;
37+
import com.netease.nimlib.sdk.msg.model.MemberPushOption;
3738
import com.netease.nimlib.sdk.msg.model.MessageReceipt;
3839
import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
3940

@@ -558,9 +559,14 @@ public int onResult(int code, IMMessage message) {
558559
/**
559560
* @param content
560561
*/
561-
public void sendTextMessage(String content, OnSendMessageListener onSendMessageListener) {
562+
public void sendTextMessage(String content, List<String> selectedMembers, OnSendMessageListener onSendMessageListener) {
562563

563564
IMMessage message = MessageBuilder.createTextMessage(sessionId, sessionTypeEnum, content);
565+
566+
if (selectedMembers != null && !selectedMembers.isEmpty()) {
567+
MemberPushOption option = createMemPushOption(selectedMembers, message);
568+
message.setMemberPushOption(option);
569+
}
564570
sendMessage(message, onSendMessageListener);
565571
}
566572

@@ -770,6 +776,18 @@ private void appendPushConfig(IMMessage message) {
770776
// }
771777
}
772778

779+
private MemberPushOption createMemPushOption(List<String> selectedMembers, IMMessage message) {
780+
781+
if (selectedMembers.isEmpty()) {
782+
return null;
783+
}
784+
785+
MemberPushOption memberPushOption = new MemberPushOption();
786+
memberPushOption.setForcePush(true);
787+
memberPushOption.setForcePushContent(message.getContent());
788+
memberPushOption.setForcePushList(selectedMembers);
789+
return memberPushOption;
790+
}
773791
private boolean isOriginImageHasDownloaded(final IMMessage message) {
774792

775793
if (message.getAttachStatus() == AttachStatusEnum.transferred) {

index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,10 @@ export default class NIM{
276276
/**
277277
*1.发送文本消息
278278
* @param content 文本内容
279+
* @param atUserIds @的群成员ID ["abc","abc12"]
279280
*/
280-
static sendTextMessage(content){
281-
return RNNeteaseIm.sendTextMessage(content);
281+
static sendTextMessage(content,atUserIds){
282+
return RNNeteaseIm.sendTextMessage(content,atUserIds);
282283
}
283284

284285
/**

0 commit comments

Comments
 (0)