From b0172b8a3b7dc6bd89aea145936fe4f77634003e Mon Sep 17 00:00:00 2001 From: SL Date: Mon, 5 Aug 2024 14:09:48 +0800 Subject: [PATCH] fix:update sync channel message --- example/lib/http.dart | 14 ++++---------- example/pubspec.lock | 16 ++++++++++++---- example/pubspec.yaml | 1 + lib/db/message.dart | 4 ++++ 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/example/lib/http.dart b/example/lib/http.dart index adb707d..e4c7df4 100644 --- a/example/lib/http.dart +++ b/example/lib/http.dart @@ -45,7 +45,8 @@ class HttpUtils { conversation.conversations = []; if (response.statusCode == HttpStatus.ok) { try { - var list = jsonDecode(response.data); + var list = response.data; + // var list = jsonDecode(response.data); for (int i = 0; i < list.length; i++) { var json = list[i]; WKSyncConvMsg convMsg = WKSyncConvMsg(); @@ -84,7 +85,6 @@ class HttpUtils { int pullMode, Function(WKSyncChannelMsg) back) async { final dio = Dio(); - print('开始seq: $startMsgSeq 结束seq: $endMsgSeq'); final response = await dio.post('$apiURL/channel/messagesync', data: { "login_uid": UserInfo.uid, // 当前登录用户uid "channel_id": channelID, // 频道ID @@ -95,18 +95,12 @@ class HttpUtils { "pull_mode": pullMode // 拉取模式 0:向下拉取 1:向上拉取 }); if (response.statusCode == HttpStatus.ok) { - var data = jsonDecode(response.data); + var data = response.data; WKSyncChannelMsg msg = WKSyncChannelMsg(); msg.startMessageSeq = data['start_message_seq']; msg.endMessageSeq = data['end_message_seq']; msg.more = data['more']; - var messages; - var list = data['messages']; - if (list is String) { - messages = jsonDecode(data['messages']); - } else { - messages = list; - } + var messages = data['messages']; List msgList = []; for (int i = 0; i < messages.length; i++) { diff --git a/example/pubspec.lock b/example/pubspec.lock index 67aaa44..cd5ff10 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -122,13 +122,21 @@ packages: source: hosted version: "1.0.5" dio: - dependency: transitive + dependency: "direct main" description: name: dio - sha256: ce75a1b40947fea0a0e16ce73337122a86762e38b982e1ccb909daa3b9bc4197 + sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714 url: "https://pub.flutter-io.cn" source: hosted - version: "5.3.2" + version: "5.5.0+1" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.1" encrypt: dependency: transitive description: @@ -539,7 +547,7 @@ packages: path: ".." relative: true source: path - version: "1.4.1" + version: "1.5.1" x25519: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 1a56436..d2e6e39 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: cupertino_icons: ^1.0.2 wukongimfluttersdk: path: ../ + dio: ^5.5.0+1 dev_dependencies: flutter_test: sdk: flutter diff --git a/lib/db/message.dart b/lib/db/message.dart index a2f498c..fe22be4 100644 --- a/lib/db/message.dart +++ b/lib/db/message.dart @@ -392,6 +392,10 @@ class MessageDB { if (pullMode == 0) { //下拉获取消息 + if (oldestMsgSeq == 1) { + iGetOrSyncHistoryMsgBack([]); + return; + } if (maxMessageSeq != 0 && oldestMsgSeq != 0 && oldestMsgSeq - maxMessageSeq > 1) {