From c6dce9eb00188eb95808547d5030f7c3eb077e0f Mon Sep 17 00:00:00 2001 From: Liuyf Date: Tue, 25 Feb 2025 11:31:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E5=8E=82=E5=95=86?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=9C=89=E6=97=B6=E5=80=99=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=88=B0registrationId=E5=92=8Ctoken=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tools/push/xs_jPhush.dart | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart index 11b16951..51ec7ebe 100755 --- a/lib/tools/push/xs_jPhush.dart +++ b/lib/tools/push/xs_jPhush.dart @@ -83,12 +83,16 @@ class XSJPushProvider { final int cmdCode = data['cmd']; switch (cmdCode) { case CMD_GET_REGISTRATION_ID: - await Storage.setString(pushDeviceID, data['message']); - AppLog.log('flutter get registration id : ${data['message']}'); - _jpushRegistrationIdCompleter.complete({ - 'channel': 'jiguang', - 'channelToken': data['message'] - }); + if (!_jpushRegistrationIdCompleter.isCompleted && + data['message'] != null) { + await Storage.setString(pushDeviceID, data['message']); + AppLog.log('flutter get registration id : ${data['message']}'); + _jpushRegistrationIdCompleter.complete({ + 'channel': 'jiguang', + 'channelToken': data['message'] + }); + } + // final String? channel2TokenStr = // await Storage.getString(vendorPushChannelInfo); // if (Platform.isAndroid && channel2TokenStr != null) { @@ -96,13 +100,15 @@ class XSJPushProvider { // } break; case CMD_GET_TOKEN: - final Map channel2Token = { - 'channel': channelTypeMapping[data['platform']], - 'channelToken': data['token'] - }; - await Storage.setString( - vendorPushChannelInfo, jsonEncode(channel2Token)); - _vendorTokenCompleter.complete(channel2Token); + if (!_vendorTokenCompleter.isCompleted && data['token'] != null) { + final Map channel2Token = { + 'channel': channelTypeMapping[data['platform']], + 'channelToken': data['token'] + }; + await Storage.setString( + vendorPushChannelInfo, jsonEncode(channel2Token)); + _vendorTokenCompleter.complete(channel2Token); + } break; } },