From 9abcad323160636d787140e4f4189a9f317bf541 Mon Sep 17 00:00:00 2001 From: mac <347485958@qq.com> Date: Fri, 4 Dec 2020 15:25:20 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20getMessageHaveReadStat?= =?UTF-8?q?us=20=E6=96=B9=E6=B3=95=E6=9C=AA=E5=BA=94=E7=94=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jiguang/jmessageflutter/JmessageFlutterPlugin.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java b/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java index a25335c..08fb63c 100644 --- a/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java +++ b/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java @@ -216,6 +216,8 @@ public void onMethodCall(MethodCall call, Result result) { addGroupMembers(call, result); } else if (call.method.equals("removeGroupMembers")) { removeGroupMembers(call, result); + } else if (call.method.equals("getMessageHaveReadStatus")) { + getMessageHaveReadStatus(call, result); } else if (call.method.equals("exitGroup")) { exitGroup(call, result); } else if (call.method.equals("getGroupMembers")) { @@ -351,7 +353,7 @@ private void setDebugMode(MethodCall call, Result result) { return; } } - + private void userRegister(MethodCall call, final Result result) { HashMap map = call.arguments(); String username, password; From 9556d7e69815bcee0ec871ded6e9ab922b8a9d9c Mon Sep 17 00:00:00 2001 From: mac <347485958@qq.com> Date: Sat, 5 Dec 2020 12:54:15 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=B7=B2=E8=AF=BB=E5=9B=9E=E8=B0=83=E6=97=A0=E6=B3=95=E8=A2=AB?= =?UTF-8?q?=E8=B0=83=E7=94=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/jmessage_flutter.dart | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/lib/jmessage_flutter.dart b/lib/jmessage_flutter.dart index 8a5f56f..64ab0db 100644 --- a/lib/jmessage_flutter.dart +++ b/lib/jmessage_flutter.dart @@ -53,7 +53,7 @@ typedef JMReceiveChatRoomMessageListener = void Function(List messageLi typedef JMReceiveApplyJoinGroupApprovalListener = void Function(JMReceiveApplyJoinGroupApprovalEvent event); typedef JMReceiveGroupAdminRejectListener = void Function(JMReceiveGroupAdminRejectEvent event); typedef JMReceiveGroupAdminApprovalListener = void Function(JMReceiveGroupAdminApprovalEvent event); -typedef JMMessageReceiptStatusChangeListener = void Function(JMConversationInfo conversation, ListserverMessageIdList); +typedef JMMessageReceiptStatusChangeListener = void Function(JMConversationInfo conversation, List serverMessageIdList); class JMEventHandlers { @@ -815,6 +815,28 @@ class JmessageFlutter { return JMNormalMessage.generateMessageFromJson(msgMap); } + /** + * 设置消息已读 + * + * @param target 聊天对象, JMSingle | JMGroup + * @param messageId 本地数据库中的消息id,非 serverMessageId + * + * */ + Future setHaveRead({ + @required dynamic type, /// (JMSingle | JMGroup | JMChatRoom) + @required String messageId, + }) async { + Map param = type.toJson(); + + param..addAll({ + 'messageId': messageId, + }); + + Map msgMap = await _channel.invokeMethod('setHaveRead', + param..removeWhere((key,value) => value == null)); + + return JMNormalMessage.generateMessageFromJson(msgMap); + } /** * 删除本地单条消息 @@ -2507,6 +2529,17 @@ class JMConversationInfo { return msg; } + Future setHaveRead({ + @required dynamic type, /// (JMSingle | JMGroup | JMChatRoom) + @required String messageId, + }) async { + JMFileMessage msg = await JmessageFlutter().setHaveRead( + type: target.targetType, + messageId: messageId + ); + return msg; + } + // getHistoryMessages Future getHistoryMessages({ @required int from, From 6a33b2faaf779f9912cbc5cfd05e90154eaae93a Mon Sep 17 00:00:00 2001 From: mac <347485958@qq.com> Date: Tue, 15 Dec 2020 14:05:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8DprocessApplyJoinGroup=20?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/jmessage_flutter.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jmessage_flutter.dart b/lib/jmessage_flutter.dart index 64ab0db..98b99c3 100644 --- a/lib/jmessage_flutter.dart +++ b/lib/jmessage_flutter.dart @@ -1529,8 +1529,8 @@ class JmessageFlutter { await _channel.invokeMethod('processApplyJoinGroup',{ 'events': events, - 'isAgree': isAgree == 0 ? false : true, - 'isRespondInviter': isRespondInviter == 0 ? false : true, + 'isAgree': isAgree, + 'isRespondInviter': isRespondInviter, 'reason': reason }..removeWhere((key, value) => value == null)); From a3b37de736bc0a78e15bec869921bd5c46e626d4 Mon Sep 17 00:00:00 2001 From: mac <347485958@qq.com> Date: Thu, 17 Dec 2020 14:10:52 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=20updateGroupInfo=20=E6=96=B9=E6=B3=95Andr?= =?UTF-8?q?oid=20=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jmessageflutter/JmessageFlutterPlugin.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java b/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java index 08fb63c..baed9ad 100644 --- a/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java +++ b/android/src/main/java/com/jiguang/jmessageflutter/JmessageFlutterPlugin.java @@ -1719,12 +1719,14 @@ public void gotResult(int status, String desc, List list) { } - private void updateGroupInfo(MethodCall call, final Result result) { + private void updateGroupInfo(final MethodCall call, final Result result) { HashMap map = call.arguments(); long groupId; + final String name; try { JSONObject params = new JSONObject(map); groupId = Long.parseLong(params.getString("id")); + name = params.getString("newName"); } catch (JSONException e) { e.printStackTrace(); handleResult(ERR_CODE_PARAMETER, ERR_MSG_PARAMETER, result); @@ -1735,7 +1737,18 @@ private void updateGroupInfo(MethodCall call, final Result result) { @Override public void gotResult(int status, String desc, GroupInfo groupInfo) { if (status == 0) { - handleResult(toJson(groupInfo), status, desc, result); + groupInfo.updateName(name, new BasicCallback(){ + + @Override + public void gotResult(int i, String s) { + if (i == 0) { + handleResult(new HashMap(), i, s, result); + }else{ + handleResult(i, s, result); + } + } + }); + } else { handleResult(status, desc, result);