From fe7664f4d094140877c73b28c9a4a2b76126188f Mon Sep 17 00:00:00 2001 From: SL Date: Mon, 9 Oct 2023 23:44:38 +0800 Subject: [PATCH] update connection device id with uid --- CHANGELOG.md | 4 +++- README.md | 2 +- example/pubspec.lock | 2 +- lib/manager/connect_manager.dart | 19 +++++++++++++++++-- pubspec.yaml | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 344c60b..09328f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,4 +27,6 @@ ### 1.1.3 * Add some methods ### 1.1.4 - * update set reddot method \ No newline at end of file + * update set reddot method + ### 1.1.5 + * update connnection device id with uid \ No newline at end of file diff --git a/README.md b/README.md index 7ccbf08..7b4fbc3 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ #### 安装 ``` dependencies: - wukongimfluttersdk: ^1.1.4 + wukongimfluttersdk: ^1.1.5 ``` #### 引入 ```dart diff --git a/example/pubspec.lock b/example/pubspec.lock index 54dd770..2c14fc1 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -499,7 +499,7 @@ packages: path: ".." relative: true source: path - version: "1.1.4" + version: "1.1.5" x25519: dependency: transitive description: diff --git a/lib/manager/connect_manager.dart b/lib/manager/connect_manager.dart index f60c3a1..874810d 100644 --- a/lib/manager/connect_manager.dart +++ b/lib/manager/connect_manager.dart @@ -4,6 +4,8 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; import 'package:connectivity/connectivity.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:uuid/uuid.dart'; import 'package:wukongimfluttersdk/db/const.dart'; import 'package:wukongimfluttersdk/db/wk_db_helper.dart'; @@ -289,13 +291,14 @@ class WKConnectionManager { _sendPacket(ackPacket); } - _sendConnectPacket() { + _sendConnectPacket() async { + var deviceID = await _getDeviceID(); var connectPacket = ConnectPacket( uid: WKIM.shared.options.uid!, token: WKIM.shared.options.token!, version: WKIM.shared.options.protoVersion, clientKey: base64Encode(CryptoUtils.dhPublicKey!), - deviceID: "flutter", + deviceID: deviceID, clientTimestamp: DateTime.now().millisecondsSinceEpoch); _sendPacket(connectPacket); } @@ -513,6 +516,18 @@ class WKConnectionManager { } } +Future _getDeviceID() async { + SharedPreferences preferences = await SharedPreferences.getInstance(); + String wkUid = WKIM.shared.options.uid!; + String key = "${wkUid}_device_id"; + var deviceID = preferences.getString(key); + if (deviceID == null || deviceID == "") { + deviceID = "${const Uuid().v4().toString().replaceAll("-", "")}5"; + preferences.setString(key, deviceID); + } + return deviceID; +} + class SendingMsg { SendPacket sendPacket; int sendCount = 0; diff --git a/pubspec.yaml b/pubspec.yaml index ced8645..2b5d716 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ description: wukong IM flutter sdk # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.1.4 +version: 1.1.5 homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK environment: