juggleim-rnsdk 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/android/src/main/java/com/juggleim/JuggleIMManager.java +32 -0
- package/ios/JuggleIMManager.m +30 -0
- package/package.json +1 -1
- package/src/index.d.ts +26 -1
- package/src/index.js +22 -0
package/README.md
CHANGED
|
@@ -441,6 +441,8 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
441
441
|
|
|
442
442
|
// 添加是否已读
|
|
443
443
|
map.putBoolean("hasRead", message.isHasRead());
|
|
444
|
+
map.putBoolean("isEdit", message.isEdit());
|
|
445
|
+
map.putBoolean("isDeleted", message.isDeleted());
|
|
444
446
|
|
|
445
447
|
// 添加群消息阅读信息
|
|
446
448
|
if (message.getGroupMessageReadInfo() != null) {
|
|
@@ -1552,6 +1554,36 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
|
|
|
1552
1554
|
}
|
|
1553
1555
|
}
|
|
1554
1556
|
|
|
1557
|
+
/**
|
|
1558
|
+
* 更新消息
|
|
1559
|
+
* @param messageId 消息ID
|
|
1560
|
+
* @param contentMap 新的消息内容
|
|
1561
|
+
* @param conversationMap 会话对象
|
|
1562
|
+
* @param promise Promise对象
|
|
1563
|
+
*/
|
|
1564
|
+
@ReactMethod
|
|
1565
|
+
public void updateMessage(String messageId, ReadableMap contentMap, ReadableMap conversationMap, Promise promise) {
|
|
1566
|
+
try {
|
|
1567
|
+
MessageContent content = convertMapToMessageContent(contentMap);
|
|
1568
|
+
Conversation conversation = convertMapToConversation(conversationMap);
|
|
1569
|
+
|
|
1570
|
+
JIM.getInstance().getMessageManager().updateMessage(messageId, content, conversation, new IMessageManager.IMessageCallback() {
|
|
1571
|
+
@Override
|
|
1572
|
+
public void onSuccess(Message message) {
|
|
1573
|
+
promise.resolve(convertMessageToMap(message));
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
@Override
|
|
1577
|
+
public void onError(int errorCode) {
|
|
1578
|
+
promise.reject("error", "Error code: " + errorCode);
|
|
1579
|
+
}
|
|
1580
|
+
});
|
|
1581
|
+
} catch (Exception e) {
|
|
1582
|
+
e.printStackTrace();
|
|
1583
|
+
promise.reject(e);
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1555
1587
|
/**
|
|
1556
1588
|
* 设置消息置顶
|
|
1557
1589
|
* @param messageId 消息ID
|
package/ios/JuggleIMManager.m
CHANGED
|
@@ -396,6 +396,8 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
|
|
|
396
396
|
|
|
397
397
|
// 添加是否已读
|
|
398
398
|
dict[@"hasRead"] = @(message.hasRead);
|
|
399
|
+
dict[@"isEdit"] = @(message.isEdit);
|
|
400
|
+
dict[@"isDeleted"] = @(message.isDeleted);
|
|
399
401
|
|
|
400
402
|
// 添加群消息阅读信息
|
|
401
403
|
if (message.groupReadInfo) {
|
|
@@ -1498,6 +1500,34 @@ RCT_EXPORT_METHOD(
|
|
|
1498
1500
|
}];
|
|
1499
1501
|
}
|
|
1500
1502
|
|
|
1503
|
+
/**
|
|
1504
|
+
* 更新消息
|
|
1505
|
+
*/
|
|
1506
|
+
RCT_EXPORT_METHOD(updateMessage : (NSString *)messageId content : (
|
|
1507
|
+
NSDictionary *)contentMap conversation : (NSDictionary *)
|
|
1508
|
+
conversationMap resolver : (RCTPromiseResolveBlock)
|
|
1509
|
+
resolve rejecter : (RCTPromiseRejectBlock)reject) {
|
|
1510
|
+
@try {
|
|
1511
|
+
JMessageContent *content = [self convertDictToMessageContent:contentMap];
|
|
1512
|
+
JConversation *conversation =
|
|
1513
|
+
[self convertDictionaryToConversation:conversationMap];
|
|
1514
|
+
|
|
1515
|
+
[JIM.shared.messageManager updateMessage:content
|
|
1516
|
+
messageId:messageId
|
|
1517
|
+
inConversation:conversation
|
|
1518
|
+
success:^(JMessage *message) {
|
|
1519
|
+
resolve([self convertMessageToDictionary:message]);
|
|
1520
|
+
}
|
|
1521
|
+
error:^(JErrorCode code) {
|
|
1522
|
+
reject(@"error",
|
|
1523
|
+
[NSString stringWithFormat:@"Error code: %ld", (long)code],
|
|
1524
|
+
nil);
|
|
1525
|
+
}];
|
|
1526
|
+
} @catch (NSException *exception) {
|
|
1527
|
+
reject(@"UPDATE_MESSAGE_ERROR", exception.reason, nil);
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1501
1531
|
/**
|
|
1502
1532
|
* 设置消息置顶
|
|
1503
1533
|
*/
|
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -202,12 +202,14 @@ declare module "juggleim-rnsdk" {
|
|
|
202
202
|
* @property {Conversation} conversation - 会话对象
|
|
203
203
|
* @property {MessageContent} content - 消息内容
|
|
204
204
|
* @property {GroupMessageReadInfo} [groupMessageReadInfo] - 群消息阅读信息(可选)
|
|
205
|
+
* @property {MessageMentionInfo} mentionInfo - 消息提及信息
|
|
206
|
+
* @property {Message} [referredMessage] - 引用的消息
|
|
205
207
|
*/
|
|
206
208
|
export interface Message {
|
|
207
209
|
clientMsgNo: number;
|
|
208
210
|
localAttribute: string;
|
|
209
211
|
messageState: number;
|
|
210
|
-
|
|
212
|
+
isEdit: boolean;
|
|
211
213
|
direction: number;
|
|
212
214
|
isDelete: boolean;
|
|
213
215
|
senderUserId: string;
|
|
@@ -218,6 +220,7 @@ declare module "juggleim-rnsdk" {
|
|
|
218
220
|
content: MessageContent;
|
|
219
221
|
groupMessageReadInfo?: GroupMessageReadInfo;
|
|
220
222
|
mentionInfo: MessageMentionInfo;
|
|
223
|
+
referredMessage?: Message;
|
|
221
224
|
}
|
|
222
225
|
|
|
223
226
|
/**
|
|
@@ -364,6 +367,11 @@ declare module "juggleim-rnsdk" {
|
|
|
364
367
|
onError?: (message: Message, errorCode: number) => void;
|
|
365
368
|
}
|
|
366
369
|
|
|
370
|
+
export interface UpdateMessageCallback {
|
|
371
|
+
onSuccess?: (message: Message) => void;
|
|
372
|
+
onError?: (errorCode: number) => void;
|
|
373
|
+
}
|
|
374
|
+
|
|
367
375
|
// 获取消息相关接口
|
|
368
376
|
export interface GetMessageOptions {
|
|
369
377
|
count?: number;
|
|
@@ -377,6 +385,8 @@ declare module "juggleim-rnsdk" {
|
|
|
377
385
|
content: MessageContent;
|
|
378
386
|
mentionInfo?: MessageMentionInfo;
|
|
379
387
|
pushData?: PushData;
|
|
388
|
+
// 引用消息ID
|
|
389
|
+
referredMessageId?: string;
|
|
380
390
|
}
|
|
381
391
|
/**
|
|
382
392
|
* 连接状态监听器回调函数
|
|
@@ -853,6 +863,21 @@ declare module "juggleim-rnsdk" {
|
|
|
853
863
|
messageIds: string[],
|
|
854
864
|
): Promise<Boolean>;
|
|
855
865
|
|
|
866
|
+
/**
|
|
867
|
+
* 更新消息
|
|
868
|
+
* @param messageId 消息ID
|
|
869
|
+
* @param content 新的消息内容
|
|
870
|
+
* @param conversation 会话对象
|
|
871
|
+
* @param callback 回调函数
|
|
872
|
+
* @returns {Promise<Message>} 更新后的消息对象
|
|
873
|
+
*/
|
|
874
|
+
static updateMessage(
|
|
875
|
+
messageId: string,
|
|
876
|
+
content: MessageContent,
|
|
877
|
+
conversation: Conversation,
|
|
878
|
+
callback?: UpdateMessageCallback
|
|
879
|
+
): Promise<Message>;
|
|
880
|
+
|
|
856
881
|
/**
|
|
857
882
|
* 设置消息置顶
|
|
858
883
|
* @param messageId 消息ID
|
package/src/index.js
CHANGED
|
@@ -938,6 +938,28 @@ class JuggleIM {
|
|
|
938
938
|
return JMI.sendReadReceipt(conversation, messageIds);
|
|
939
939
|
}
|
|
940
940
|
|
|
941
|
+
/**
|
|
942
|
+
* 更新消息
|
|
943
|
+
* @param {string} messageId - 消息ID
|
|
944
|
+
* @param {MessageContent} content - 新的消息内容
|
|
945
|
+
* @param {Conversation} conversation - 会话对象
|
|
946
|
+
* @param {UpdateMessageCallback} callback - 回调对象
|
|
947
|
+
* @returns {Promise<Message>} 更新后的消息对象
|
|
948
|
+
*/
|
|
949
|
+
static async updateMessage(messageId, content, conversation, callback = {}) {
|
|
950
|
+
try {
|
|
951
|
+
const updatedMessage = await JMI.updateMessage(messageId, content, conversation);
|
|
952
|
+
if (callback.onSuccess) {
|
|
953
|
+
callback.onSuccess(updatedMessage);
|
|
954
|
+
}
|
|
955
|
+
return updatedMessage;
|
|
956
|
+
} catch (error) {
|
|
957
|
+
if (callback.onError) {
|
|
958
|
+
callback.onError(error.code || -1);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
|
|
941
963
|
/**
|
|
942
964
|
* 设置消息置顶
|
|
943
965
|
* @param {string} messageId - 消息ID
|