From b86b7bd795661b931797602460a20950cb6b8ded Mon Sep 17 00:00:00 2001 From: Jolie <> Date: Tue, 9 Dec 2025 21:27:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=81=8A=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 252 ++++++++++++++++++ .../contents.xcworkspacedata | 10 + ios/Runner/Info.plist | 2 +- lib/controller/message/chat_controller.dart | 64 ++++- lib/generated/assets.dart | 2 +- lib/widget/message/call_item.dart | 20 +- lib/widget/message/gift_item.dart | 20 +- lib/widget/message/image_item.dart | 20 +- lib/widget/message/room_item.dart | 20 +- lib/widget/message/text_item.dart | 20 +- lib/widget/message/video_item.dart | 20 +- location_plugin/example/pubspec.lock | 68 ++--- 12 files changed, 423 insertions(+), 95 deletions(-) create mode 100644 ios/Podfile.lock create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..79e108e --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,252 @@ +PODS: + - agora_rtc_engine (6.5.3): + - AgoraIrisRTC_iOS (= 4.5.2-build.1) + - AgoraRtcEngine_iOS (= 4.5.2) + - Flutter + - agora_rtm (2.2.5): + - AgoraIrisRTM_iOS (= 2.2.5-build.2) + - AgoraRtm (= 2.2.5) + - Flutter + - AgoraInfra_iOS (1.2.13.1) + - AgoraIrisRTC_iOS (4.5.2-build.1) + - AgoraIrisRTM_iOS (2.2.5-build.2) + - AgoraRtcEngine_iOS (4.5.2): + - AgoraRtcEngine_iOS/AIAEC (= 4.5.2) + - AgoraRtcEngine_iOS/AIAECLL (= 4.5.2) + - AgoraRtcEngine_iOS/AINS (= 4.5.2) + - AgoraRtcEngine_iOS/AINSLL (= 4.5.2) + - AgoraRtcEngine_iOS/AudioBeauty (= 4.5.2) + - AgoraRtcEngine_iOS/ClearVision (= 4.5.2) + - AgoraRtcEngine_iOS/ContentInspect (= 4.5.2) + - AgoraRtcEngine_iOS/FaceCapture (= 4.5.2) + - AgoraRtcEngine_iOS/FaceDetection (= 4.5.2) + - AgoraRtcEngine_iOS/LipSync (= 4.5.2) + - AgoraRtcEngine_iOS/ReplayKit (= 4.5.2) + - AgoraRtcEngine_iOS/RtcBasic (= 4.5.2) + - AgoraRtcEngine_iOS/SpatialAudio (= 4.5.2) + - AgoraRtcEngine_iOS/VideoAv1CodecDec (= 4.5.2) + - AgoraRtcEngine_iOS/VideoAv1CodecEnc (= 4.5.2) + - AgoraRtcEngine_iOS/VideoCodecDec (= 4.5.2) + - AgoraRtcEngine_iOS/VideoCodecEnc (= 4.5.2) + - AgoraRtcEngine_iOS/VirtualBackground (= 4.5.2) + - AgoraRtcEngine_iOS/VQA (= 4.5.2) + - AgoraRtcEngine_iOS/AIAEC (4.5.2) + - AgoraRtcEngine_iOS/AIAECLL (4.5.2) + - AgoraRtcEngine_iOS/AINS (4.5.2) + - AgoraRtcEngine_iOS/AINSLL (4.5.2) + - AgoraRtcEngine_iOS/AudioBeauty (4.5.2) + - AgoraRtcEngine_iOS/ClearVision (4.5.2) + - AgoraRtcEngine_iOS/ContentInspect (4.5.2) + - AgoraRtcEngine_iOS/FaceCapture (4.5.2) + - AgoraRtcEngine_iOS/FaceDetection (4.5.2) + - AgoraRtcEngine_iOS/LipSync (4.5.2) + - AgoraRtcEngine_iOS/ReplayKit (4.5.2) + - AgoraRtcEngine_iOS/RtcBasic (4.5.2): + - AgoraInfra_iOS (= 1.2.13.1) + - AgoraRtcEngine_iOS/SpatialAudio (4.5.2) + - AgoraRtcEngine_iOS/VideoAv1CodecDec (4.5.2) + - AgoraRtcEngine_iOS/VideoAv1CodecEnc (4.5.2) + - AgoraRtcEngine_iOS/VideoCodecDec (4.5.2) + - AgoraRtcEngine_iOS/VideoCodecEnc (4.5.2) + - AgoraRtcEngine_iOS/VirtualBackground (4.5.2) + - AgoraRtcEngine_iOS/VQA (4.5.2) + - AgoraRtm (2.2.5): + - AgoraRtm/RtmBasic (= 2.2.5) + - AgoraRtm/RtmKit (= 2.2.5) + - AgoraRtm/RtmBasic (2.2.5) + - AgoraRtm/RtmKit (2.2.5) + - app_settings (5.1.1): + - Flutter + - audioplayers_darwin (0.0.1): + - Flutter + - FlutterMacOS + - camera_avfoundation (0.0.1): + - Flutter + - Flutter (1.0.0) + - flutter_native_splash (2.4.3): + - Flutter + - fluwx (0.0.1): + - Flutter + - fluwx/pay (= 0.0.1) + - fluwx/pay (0.0.1): + - Flutter + - WechatOpenSDK-XCFramework (~> 2.0.5) + - HyphenateChat (4.15.0): + - AgoraInfra_iOS (~> 1.2.13) + - im_flutter_sdk_ios (4.15.2): + - Flutter + - HyphenateChat (= 4.15.0) + - image_picker_ios (0.0.1): + - Flutter + - iris_method_channel (0.0.1): + - Flutter + - libwebp (1.5.0): + - libwebp/demux (= 1.5.0) + - libwebp/mux (= 1.5.0) + - libwebp/sharpyuv (= 1.5.0) + - libwebp/webp (= 1.5.0) + - libwebp/demux (1.5.0): + - libwebp/webp + - libwebp/mux (1.5.0): + - libwebp/demux + - libwebp/sharpyuv (1.5.0) + - libwebp/webp (1.5.0): + - libwebp/sharpyuv + - location_plugin (0.0.1): + - Flutter + - package_info_plus (0.4.5): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter + - photo_manager (3.8.2): + - Flutter + - FlutterMacOS + - record_ios (1.1.0): + - Flutter + - sensors_plus (0.0.1): + - Flutter + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - sqflite_darwin (0.0.4): + - Flutter + - FlutterMacOS + - url_launcher_ios (0.0.1): + - Flutter + - video_player_avfoundation (0.0.1): + - Flutter + - FlutterMacOS + - video_thumbnail (0.0.1): + - Flutter + - libwebp + - wakelock_plus (0.0.1): + - Flutter + - WechatOpenSDK-XCFramework (2.0.5) + +DEPENDENCIES: + - agora_rtc_engine (from `.symlinks/plugins/agora_rtc_engine/ios`) + - agora_rtm (from `.symlinks/plugins/agora_rtm/ios`) + - app_settings (from `.symlinks/plugins/app_settings/ios`) + - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/darwin`) + - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) + - Flutter (from `Flutter`) + - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) + - fluwx (from `.symlinks/plugins/fluwx/ios`) + - im_flutter_sdk_ios (from `.symlinks/plugins/im_flutter_sdk_ios/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - iris_method_channel (from `.symlinks/plugins/iris_method_channel/ios`) + - location_plugin (from `.symlinks/plugins/location_plugin/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - photo_manager (from `.symlinks/plugins/photo_manager/darwin`) + - record_ios (from `.symlinks/plugins/record_ios/ios`) + - sensors_plus (from `.symlinks/plugins/sensors_plus/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) + - video_thumbnail (from `.symlinks/plugins/video_thumbnail/ios`) + - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`) + +SPEC REPOS: + trunk: + - AgoraInfra_iOS + - AgoraIrisRTC_iOS + - AgoraIrisRTM_iOS + - AgoraRtcEngine_iOS + - AgoraRtm + - HyphenateChat + - libwebp + - WechatOpenSDK-XCFramework + +EXTERNAL SOURCES: + agora_rtc_engine: + :path: ".symlinks/plugins/agora_rtc_engine/ios" + agora_rtm: + :path: ".symlinks/plugins/agora_rtm/ios" + app_settings: + :path: ".symlinks/plugins/app_settings/ios" + audioplayers_darwin: + :path: ".symlinks/plugins/audioplayers_darwin/darwin" + camera_avfoundation: + :path: ".symlinks/plugins/camera_avfoundation/ios" + Flutter: + :path: Flutter + flutter_native_splash: + :path: ".symlinks/plugins/flutter_native_splash/ios" + fluwx: + :path: ".symlinks/plugins/fluwx/ios" + im_flutter_sdk_ios: + :path: ".symlinks/plugins/im_flutter_sdk_ios/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + iris_method_channel: + :path: ".symlinks/plugins/iris_method_channel/ios" + location_plugin: + :path: ".symlinks/plugins/location_plugin/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + photo_manager: + :path: ".symlinks/plugins/photo_manager/darwin" + record_ios: + :path: ".symlinks/plugins/record_ios/ios" + sensors_plus: + :path: ".symlinks/plugins/sensors_plus/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + video_player_avfoundation: + :path: ".symlinks/plugins/video_player_avfoundation/darwin" + video_thumbnail: + :path: ".symlinks/plugins/video_thumbnail/ios" + wakelock_plus: + :path: ".symlinks/plugins/wakelock_plus/ios" + +SPEC CHECKSUMS: + agora_rtc_engine: da45ea14c402317c9e22fdb9ffe504d9a1acbe68 + agora_rtm: 171fb2ddc9da71ca2c30780118a5bc6d005aed49 + AgoraInfra_iOS: 3691b2b277a1712a35ae96de25af319de0d73d08 + AgoraIrisRTC_iOS: eab58c126439adf5ec99632828a558ea216860da + AgoraIrisRTM_iOS: 8db20697f717de6e1db5dd4c842432889f284220 + AgoraRtcEngine_iOS: 97e2398a2addda9057815a2a583a658e36796ff6 + AgoraRtm: d92cdfca825f3e6817c315d7dd6403742494f7ca + app_settings: 58017cd26b604ae98c3e65acbdd8ba173703cc82 + audioplayers_darwin: 4027b33a8f471d996c13f71cb77f0b1583b5d923 + camera_avfoundation: 281867ff09f1da66f031a184ecfbc6f2e625c9f5 + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 + flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29 + fluwx: 95a2274c23418c1098940bd00dcfe7c975bb0550 + HyphenateChat: 4523c7fb2075771c49a2c492b31544d6cc82ff50 + im_flutter_sdk_ios: 6570b291875ab7b3016e8d21fc0ef58ab347cd38 + image_picker_ios: 4f2f91b01abdb52842a8e277617df877e40f905b + iris_method_channel: 4e3fe7fe6b2db1b84feae956e98ce1479402627a + libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 + location_plugin: 0b3c55050267925da87176add5bf67c67c8be7ec + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 + path_provider_foundation: 0b743cbb62d8e47eab856f09262bb8c1ddcfe6ba + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + photo_manager: 8f40300912c856ef39d0d533a205afab5fbee62f + record_ios: 840d21cce013c5a3b2168b74a54ebdb4136359e2 + sensors_plus: 7229095999f30740798f0eeef5cd120357a8f4f2 + shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6 + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d + url_launcher_ios: bb13df5870e8c4234ca12609d04010a21be43dfa + video_player_avfoundation: 7993f492ae0bd77edaea24d9dc051d8bb2cd7c86 + video_thumbnail: c4e2a3c539e247d4de13cd545344fd2d26ffafd1 + wakelock_plus: 76957ab028e12bfa4e66813c99e46637f367fc7e + WechatOpenSDK-XCFramework: ff342ae616bb86df3d236aca38059dfd4bc4a949 + +PODFILE CHECKSUM: 9f921d5f3a6aff46b310102d923e8942abc7114d + +COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 9c6d430..2683384 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -7,7 +7,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Dating Touchme App + 趣恋恋 CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/lib/controller/message/chat_controller.dart b/lib/controller/message/chat_controller.dart index d698f2a..92c31c8 100644 --- a/lib/controller/message/chat_controller.dart +++ b/lib/controller/message/chat_controller.dart @@ -959,30 +959,72 @@ class ChatController extends GetxController { Get.log('🔄 [ChatController] 开始重发消息: ${failedMessage.msgId}'); } + // 找到原消息的索引 + final oldIndex = messages.indexWhere((msg) => msg.msgId == failedMessage.msgId); + if (oldIndex == -1) { + if (Get.isLogEnable) { + Get.log('❌ [ChatController] 未找到要重发的消息: ${failedMessage.msgId}'); + } + SmartDialog.showToast('未找到要重发的消息'); + return false; + } + // 调用IMManager的重发方法 final newMessage = await IMManager.instance.resendMessage(failedMessage); if (newMessage != null) { - // 找到原消息并替换 - final index = messages.indexWhere((msg) => msg.msgId == failedMessage.msgId); - if (index != -1) { - messages[index] = newMessage; + if (Get.isLogEnable) { + Get.log('✅ [ChatController] SDK返回重发消息: msgId=${newMessage.msgId}, status=${newMessage.status}'); + } + + // 删除旧消息,添加新消息(在相同位置) + messages.removeAt(oldIndex); + messages.insert(oldIndex, newMessage); + update(); + + if (Get.isLogEnable) { + Get.log('✅ [ChatController] 消息重发成功,已替换旧消息'); + } + + // 更新会话列表 + _refreshConversationList(); + + // 如果消息状态仍然是 PROGRESS,设置状态检查和监听(与sendMessage逻辑一致) + if (newMessage.status == MessageStatus.PROGRESS) { + if (Get.isLogEnable) { + Get.log('⏳ [ChatController] 重发消息状态仍为PROGRESS,将延迟检查状态'); + } + // 延迟检查状态(与sendMessage逻辑一致) + Future.delayed(Duration(milliseconds: 500), () { + _checkMessageStatusAndUpdate(newMessage.msgId); + }); + Future.delayed(Duration(milliseconds: 1500), () { + _checkMessageStatusAndUpdate(newMessage.msgId); + }); + Future.delayed(Duration(milliseconds: 3000), () { + _checkMessageStatusAndUpdate(newMessage.msgId); + }); + } else if (newMessage.status == MessageStatus.FAIL) { + // 如果状态已经是 FAIL,立即更新UI update(); if (Get.isLogEnable) { - Get.log('✅ [ChatController] 消息重发成功'); + Get.log('❌ [ChatController] 重发消息失败,状态: ${newMessage.status}'); + } + SmartDialog.showToast('消息重发失败,请重试'); + } else { + // 状态不是 PROGRESS,说明已经更新完成 + if (Get.isLogEnable) { + Get.log('✅ [ChatController] 重发消息成功,状态: ${newMessage.status}'); } - // 更新会话列表 - _refreshConversationList(); - SmartDialog.showToast('消息已重发'); - return true; } + + return true; } else { if (Get.isLogEnable) { - Get.log('❌ [ChatController] 消息重发失败'); + Get.log('❌ [ChatController] 消息重发失败,SDK返回null'); } SmartDialog.showToast('消息重发失败,请重试'); return false; } - return false; } catch (e) { if (Get.isLogEnable) { Get.log('❌ [ChatController] 重发消息异常: $e'); diff --git a/lib/generated/assets.dart b/lib/generated/assets.dart index b9f8919..0821a1e 100644 --- a/lib/generated/assets.dart +++ b/lib/generated/assets.dart @@ -208,5 +208,5 @@ class Assets { static const String imagesWallet = 'assets/images/wallet.png'; static const String imagesWechatPay = 'assets/images/wechat_pay.png'; static const String imagesWomenIcon = 'assets/images/women_icon.png'; - + static const String imagesAppLogo = 'assets/images/app_logo.png'; } diff --git a/lib/widget/message/call_item.dart b/lib/widget/message/call_item.dart index e4fb1ee..60d667b 100644 --- a/lib/widget/message/call_item.dart +++ b/lib/widget/message/call_item.dart @@ -282,16 +282,20 @@ class CallItem extends StatelessWidget { return GestureDetector( onTap: onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/lib/widget/message/gift_item.dart b/lib/widget/message/gift_item.dart index 5d32ad6..5ffebe9 100644 --- a/lib/widget/message/gift_item.dart +++ b/lib/widget/message/gift_item.dart @@ -261,16 +261,20 @@ class GiftItem extends StatelessWidget { return GestureDetector( onTap: onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/lib/widget/message/image_item.dart b/lib/widget/message/image_item.dart index 6d10f04..1f8c789 100644 --- a/lib/widget/message/image_item.dart +++ b/lib/widget/message/image_item.dart @@ -198,16 +198,20 @@ class ImageItem extends StatelessWidget { return GestureDetector( onTap: onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/lib/widget/message/room_item.dart b/lib/widget/message/room_item.dart index 8029576..05902ca 100644 --- a/lib/widget/message/room_item.dart +++ b/lib/widget/message/room_item.dart @@ -324,16 +324,20 @@ class RoomItem extends StatelessWidget { return GestureDetector( onTap: onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/lib/widget/message/text_item.dart b/lib/widget/message/text_item.dart index f8ad379..77694a1 100644 --- a/lib/widget/message/text_item.dart +++ b/lib/widget/message/text_item.dart @@ -136,16 +136,20 @@ class TextItem extends StatelessWidget { return GestureDetector( onTap: onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/lib/widget/message/video_item.dart b/lib/widget/message/video_item.dart index d88fcd2..a10e880 100644 --- a/lib/widget/message/video_item.dart +++ b/lib/widget/message/video_item.dart @@ -410,16 +410,20 @@ class _VideoItemState extends State { return GestureDetector( onTap: widget.onResend, child: Container( - width: 20.w, - height: 20.w, + width: 44.w, + height: 26.h, decoration: BoxDecoration( - color: Colors.red.withOpacity(0.1), - shape: BoxShape.circle, + color: Color.fromRGBO(248, 85, 66, 1), + borderRadius: BorderRadius.circular(8.w), ), - child: Icon( - Icons.refresh, - size: 14.w, - color: Colors.red, + child: Center( + child: Text( + '重发', + style: TextStyle( + fontSize: 12.sp, + color: Colors.white, + ), + ), ), ), ); diff --git a/location_plugin/example/pubspec.lock b/location_plugin/example/pubspec.lock index 36a3835..678892a 100644 --- a/location_plugin/example/pubspec.lock +++ b/location_plugin/example/pubspec.lock @@ -6,7 +6,7 @@ packages: description: name: async sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.13.0" boolean_selector: @@ -14,7 +14,7 @@ packages: description: name: boolean_selector sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" characters: @@ -22,7 +22,7 @@ packages: description: name: characters sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.0" clock: @@ -30,7 +30,7 @@ packages: description: name: clock sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.2" collection: @@ -38,7 +38,7 @@ packages: description: name: collection sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.19.1" cupertino_icons: @@ -46,7 +46,7 @@ packages: description: name: cupertino_icons sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.8" fake_async: @@ -54,7 +54,7 @@ packages: description: name: fake_async sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.3" file: @@ -62,7 +62,7 @@ packages: description: name: file sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "7.0.1" flutter: @@ -80,7 +80,7 @@ packages: description: name: flutter_lints sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.0.0" flutter_test: @@ -98,7 +98,7 @@ packages: description: name: http sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.6.0" http_parser: @@ -106,7 +106,7 @@ packages: description: name: http_parser sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.1.2" integration_test: @@ -119,7 +119,7 @@ packages: description: name: leak_tracker sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "11.0.2" leak_tracker_flutter_testing: @@ -127,7 +127,7 @@ packages: description: name: leak_tracker_flutter_testing sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.10" leak_tracker_testing: @@ -135,7 +135,7 @@ packages: description: name: leak_tracker_testing sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.2" lints: @@ -143,7 +143,7 @@ packages: description: name: lints sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.1.1" location_plugin: @@ -158,7 +158,7 @@ packages: description: name: matcher sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.12.17" material_color_utilities: @@ -166,7 +166,7 @@ packages: description: name: material_color_utilities sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.11.1" meta: @@ -174,7 +174,7 @@ packages: description: name: meta sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.16.0" path: @@ -182,7 +182,7 @@ packages: description: name: path sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.9.1" platform: @@ -190,7 +190,7 @@ packages: description: name: platform sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.6" plugin_platform_interface: @@ -198,7 +198,7 @@ packages: description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.8" process: @@ -206,7 +206,7 @@ packages: description: name: process sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.0.5" sky_engine: @@ -219,7 +219,7 @@ packages: description: name: source_span sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.10.1" stack_trace: @@ -227,7 +227,7 @@ packages: description: name: stack_trace sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.12.1" stream_channel: @@ -235,7 +235,7 @@ packages: description: name: stream_channel sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" string_scanner: @@ -243,7 +243,7 @@ packages: description: name: string_scanner sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.1" sync_http: @@ -251,7 +251,7 @@ packages: description: name: sync_http sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.1" term_glyph: @@ -259,7 +259,7 @@ packages: description: name: term_glyph sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.2" test_api: @@ -267,7 +267,7 @@ packages: description: name: test_api sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.6" typed_data: @@ -275,7 +275,7 @@ packages: description: name: typed_data sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.0" vector_math: @@ -283,7 +283,7 @@ packages: description: name: vector_math sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.0" vm_service: @@ -291,7 +291,7 @@ packages: description: name: vm_service sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "15.0.2" web: @@ -299,7 +299,7 @@ packages: description: name: web sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" webdriver: @@ -307,7 +307,7 @@ packages: description: name: webdriver sha256: "2f3a14ca026957870cfd9c635b83507e0e51d8091568e90129fbf805aba7cade" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.0" sdks: