Browse Source

fix error

fish 1 year ago
parent
commit
bad5ec9aae

File diff suppressed because it is too large
+ 0 - 0
.flutter-plugins-dependencies


+ 5 - 5
lib/model/posts_model.g.dart

@@ -12,7 +12,7 @@ PostsModel _$PostsModelFromJson(Map<String, dynamic> json) {
     json['postsContent'] as String,
     json['postsMaker'] as String,
     json['postsMakeDate'] == null
-        ? null
+        ? DateTime.now()
         : DateTime.parse(json['postsMakeDate'] as String),
     json['postsPicCount'] as int,
     json['postsReaded'] as int,
@@ -21,13 +21,13 @@ PostsModel _$PostsModelFromJson(Map<String, dynamic> json) {
     json['ifLY'] as int,
     json['ifOfficial'] as int,
     json['ifUserLoved'] as bool,
-    (json['latitude'] as num)?.toDouble(),
-    (json['longitude'] as num)?.toDouble(),
+    (json['latitude'] as num).toDouble(),
+    (json['longitude'] as num).toDouble(),
     json['makerID'] as String,
     json['makerName'] as String,
     json['makerPhoto'] as String,
     json['picsPath'] as String,
-    (json['picsRate'] as num)?.toDouble(),
+    (json['picsRate'] as num).toDouble(),
     json['picsSimpPath'] as String,
     json['postsLocation'] as String,
     json['postsStatus'] as int,
@@ -41,7 +41,7 @@ Map<String, dynamic> _$PostsModelToJson(PostsModel instance) =>
       'postsID': instance.postsID,
       'postsContent': instance.postsContent,
       'postsMaker': instance.postsMaker,
-      'postsMakeDate': instance.postsMakeDate?.toIso8601String(),
+      'postsMakeDate': instance.postsMakeDate.toIso8601String(),
       'postsPicCount': instance.postsPicCount,
       'postsReaded': instance.postsReaded,
       'postsLoved': instance.postsLoved,

+ 2 - 2
lib/pages/FaceDetection.dart

@@ -10,7 +10,7 @@ class FaceDetectionView extends StatefulWidget {
 }
 
 class _FaceDetectionViewState extends State<FaceDetectionView> {
-  PickedFile filePath;
+  late PickedFile filePath;
 
   @override
   void initState() {
@@ -18,7 +18,7 @@ class _FaceDetectionViewState extends State<FaceDetectionView> {
   }
 
   chooseImage() async {
-    filePath = await ImagePicker().getImage(
+    XFile? xfile = await ImagePicker().pickImage(
         source: ImageSource.gallery,
         imageQuality: 100,
         maxWidth: MediaQuery.of(context).size.width);

+ 5 - 5
lib/pages/RecommendPage/BottomSheet.dart

@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
 import 'package:provider/provider.dart';
 
 class ReplyFullList extends StatelessWidget {
-  ReplyFullList({Key? key, this.pCtx}) : super(key: key);
+  ReplyFullList({Key? key, required this.pCtx}) : super(key: key);
   final BuildContext pCtx;
 
   @override
@@ -57,7 +57,7 @@ class ReplyFullList extends StatelessWidget {
 }
 
 class ReplyList extends StatelessWidget {
-  const ReplyList({Key? key, this.reply, this.controller}) : super(key: key);
+  const ReplyList({Key? key, required this.reply, required this.controller}) : super(key: key);
   final Reply reply;
   final ScrollController controller;
 
@@ -114,7 +114,7 @@ class ReplyList extends StatelessWidget {
 }
 
 class AfterReply extends StatelessWidget {
-  const AfterReply({Key? key, this.afterReply}) : super(key: key);
+  const AfterReply({Key? key, required this.afterReply}) : super(key: key);
   final Reply afterReply;
 
   @override
@@ -207,7 +207,7 @@ genAfterReplyList(List<Reply> replies, ScrollController controller) {
 }
 
 class BottomReplyBar extends StatelessWidget {
-  const BottomReplyBar({Key? key, this.pCtx}) : super(key: key);
+  const BottomReplyBar({Key? key, required this.pCtx}) : super(key: key);
   final BuildContext pCtx;
 
   @override
@@ -218,7 +218,7 @@ class BottomReplyBar extends StatelessWidget {
     return Container(
       padding: EdgeInsets.only(bottom: toBottom),
       decoration: BoxDecoration(
-          border: Border(top: BorderSide(color: Colors.grey[200], width: 1))),
+          border: Border(top: BorderSide(color: Colors.grey[200]!, width: 1))),
       child: Row(
         children: [
           Expanded(

+ 2 - 2
lib/pages/RecommendPage/FriendList.dart

@@ -64,7 +64,7 @@ class AtFriendPage extends StatelessWidget {
                     ),
                   ),
                   content: genContentList(
-                      provider.result[provider.groupList[index]],
+                      provider.result[provider.groupList[index]]!,
                       context,
                       controller),
                 );
@@ -95,7 +95,7 @@ genUserList(context, controller) {
           ),
         ),
         content: genContentList(
-            provider.result[provider.groupList[index]], context, controller),
+            provider.result[provider.groupList[index]]!, context, controller),
       );
     },
   );

+ 30 - 30
lib/pages/camera_main.dart

@@ -5,7 +5,7 @@ import 'package:camera/camera.dart';
 import 'package:douyin_demo/providers/CameraProvider.dart';
 import 'package:firebase_ml_vision/firebase_ml_vision.dart';
 import 'package:flutter/material.dart';
-import 'package:image_gallery_saver/image_gallery_saver.dart';
+// import 'package:image_gallery_saver/image_gallery_saver.dart';
 import 'package:provider/provider.dart';
 
 class CameraPage extends StatelessWidget {
@@ -32,12 +32,12 @@ class CameraMain extends StatefulWidget {
 }
 
 class _CameraMainState extends State<CameraMain> {
-  CameraProvider provider;
-  double rpx;
-  double toTop;
-  double outBox;
-  double innerBox;
-  CameraController _controller;
+  late CameraProvider provider;
+  double rpx = 0;
+  double toTop = 0;
+  double outBox = 0;
+  double innerBox = 0;
+ late CameraController _controller;
   bool findFace = false;
   var cameras;
 
@@ -133,14 +133,14 @@ class _CameraMainState extends State<CameraMain> {
   Widget build(BuildContext context) {
     provider = Provider.of<CameraProvider>(context);
     _controller = provider.cameraController;
-    if (provider == null || _controller == null) {
+    if (_controller == null) {
       return Container(
         child: Center(child: CircularProgressIndicator()),
       );
     }
 
     bool ifMakeVideo = provider.ifMakeVideo;
-    if (_controller == null || _controller?.value == null) {
+    if (_controller.value == null) {
       return Container(
         child: Center(child: CircularProgressIndicator()),
       );
@@ -251,8 +251,8 @@ class _CameraMainState extends State<CameraMain> {
                                 onPressed: () async {
                                   provider.cameraController
                                       .stopVideoRecording();
-                                  await ImageGallerySaver.saveFile(
-                                      provider.fileName);
+                                  // await ImageGallerySaver.saveFile(
+                                  //     provider.fileName);
                                   File(provider.fileName).delete();
                                 },
                               )
@@ -302,16 +302,16 @@ class AnimVideoButton extends StatefulWidget {
 
 class _AnimVideoButtonState extends State<AnimVideoButton>
     with TickerProviderStateMixin {
-  Animation<double> animation;
-  AnimationController controller;
-  double outWidth;
-  double innerWidth;
-  double outBorder;
-  double rpx;
-  double maxBorder;
-  bool ifRecording;
-  CameraProvider provider;
-  double curBorder;
+ late Animation<double> animation;
+ late AnimationController controller;
+  double outWidth = 0;
+  double innerWidth = 0;
+  double outBorder = 0;
+  double rpx = 0;
+  double maxBorder = 0;
+  bool ifRecording = false;
+ late CameraProvider provider;
+  double curBorder = 0;
 
   @override
   void dispose() {
@@ -407,17 +407,17 @@ class ScrollBottomBar extends StatefulWidget {
 }
 
 class _ScrollBottomBarState extends State<ScrollBottomBar> {
-  double rpx;
-  double eachWidth;
-  double eachSide;
-  List<String> items;
-  ScrollController controller;
+  double rpx=0;
+  double eachWidth = 0;
+  double eachSide = 0;
+  List<String> items=[];
+  late ScrollController controller;
   double startX = 0;
   double finalX = 0;
-  double minValue;
-  double maxValue;
-  double curX;
-  int curIndex;
+  double minValue = 0;
+  double maxValue = 0;
+  double curX = 0;
+  int curIndex = 0;
 
   @override
   void initState() {

+ 10 - 10
lib/pages/home_page.dart

@@ -26,12 +26,12 @@ class HomeMain extends StatefulWidget {
 
 class _HomeMainState extends State<HomeMain> with TickerProviderStateMixin {
   double extraPicHeight = 0;
-  BoxFit fitType;
-  double prevDy;
-  double rpx;
-  AnimationController animationController;
-  Animation<double> anim;
-  TabController tabController;
+ late BoxFit fitType;
+  double prevDy = 0;
+  double rpx = 0;
+ late AnimationController animationController;
+ late Animation<double> anim;
+ late TabController tabController;
   double expanedHeight = 300;
 
   @override
@@ -182,10 +182,10 @@ class _TopBarWithCallbackState extends State<TopBarWithCallback>
 
   @override
   void afterFirstLayout(BuildContext context) {
-    RenderBox box = context.findRenderObject();
-    double height =
-        box.getMaxIntrinsicHeight(MediaQuery.of(context).size.width);
-    widget.updateHeight(height);
+    RenderObject? box = context.findRenderObject();
+    // double height =
+    //     box.getMaxIntrinsicHeight(MediaQuery.of(context).size.width);
+    // widget.updateHeight(height);
   }
 }
 

+ 2 - 2
lib/pages/loadData.dart

@@ -23,7 +23,7 @@ class RefreshPage extends StatefulWidget {
 
 class _RefreshPageState extends State<RefreshPage> {
   List<String> data = <String>[];
-  ScrollController controller;
+  late ScrollController controller;
   bool ifLoading = false;
 
   @override
@@ -67,7 +67,7 @@ class _RefreshPageState extends State<RefreshPage> {
                   });
                 });
               }
-              // return;
+              return true;
             },
             child: ListView.builder(
               controller: controller,

+ 1 - 1
lib/pages/recommend_page.dart

@@ -10,7 +10,7 @@ import 'package:provider/provider.dart';
 class RecommendPage extends StatelessWidget {
   final int selIndex;
 
-  const RecommendPage({Key? key, this.selIndex}) : super(key: key);
+  const RecommendPage({Key? key, required this.selIndex}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {

+ 3 - 3
lib/pages/same_city_page.dart

@@ -7,7 +7,7 @@ import 'package:provider/provider.dart';
 /// Time       : 04/05/2022 Tuesday
 /// Author     : liuyuqi.gov@msn.cn
 class SameCityMain extends StatelessWidget {
-  const SameCityMain({Key? key, this.selIndex}) : super(key: key);
+  const SameCityMain({Key? key, required this.selIndex}) : super(key: key);
   final int selIndex;
 
   @override
@@ -16,7 +16,7 @@ class SameCityMain extends StatelessWidget {
         Provider.of<PostsGalleryProvider>(context); //null
     double rpx = MediaQuery.of(context).size.width / 750;
     ScrollController controller = ScrollController();
-    return provider == null || provider.model1 == null
+    return provider.model1 == null
         ? Scaffold(
             // body: Loading(),
             )
@@ -87,7 +87,7 @@ class SameCityMain extends StatelessWidget {
 }
 
 class WaterFallList extends StatelessWidget {
-  const WaterFallList({Key? key, this.dataList, this.controller})
+  const WaterFallList({Key? key, required this.dataList, required this.controller})
       : super(key: key);
   final List<PostsModel> dataList;
   final ScrollController controller;

+ 11 - 10
lib/providers/AtUserProvider.dart

@@ -9,15 +9,15 @@ class AtUserProvider with ChangeNotifier {
   bool ifStick = true;
 
   AppBar appBar = AppBar();
-  double appHeight;
+  double appHeight = 0;
 
   List<Key> keys = <Key>[];
   ScrollController controller = ScrollController();
 
   List<Contact> contacts = <Contact>[];
   List<Map<String, dynamic>> dataMap = <Map<String, dynamic>>[];
-  Map<dynamic, List<dynamic>> result;
-  List<String> groupList = <String>[];
+  late Map<dynamic, List<dynamic>> result;
+  List<String> groupList = [];
 
   AtUserProvider() {
     appHeight = appBar.preferredSize.height;
@@ -59,15 +59,15 @@ class AtUserProvider with ChangeNotifier {
 }
 
 class ContactResult {
-  String key;
-  List<dynamic> value;
+  String key = "";
+  List<dynamic> value = [];
 }
 
 class Contact {
-  String avatarUrl;
-  String userName;
-  String desc;
-  String groupCode;
+  String avatarUrl = "";
+  String userName = "";
+  String desc = "";
+  String groupCode = "";
 
   static Map<String, dynamic> toMap(Contact item) {
     return {
@@ -78,7 +78,8 @@ class Contact {
     };
   }
 
-  Contact({this.avatarUrl, this.desc, this.userName});
+  Contact(
+      {required this.avatarUrl, required this.desc, required this.userName});
 }
 
 List data = [

+ 7 - 7
lib/providers/CameraProvider.dart

@@ -9,15 +9,15 @@ import 'package:uuid/uuid.dart';
 
 class CameraProvider extends State<StatefulWidget>
     with ChangeNotifier, TickerProviderStateMixin {
-  CameraController cameraController;
-  TabController tabController;
-  List<CameraDescription> cameras;
+  late CameraController cameraController;
+  late TabController tabController;
+  late List<CameraDescription> cameras;
   int curCamera = 1;
   String appFolder = "";
-  String fileName;
-  Widget photoButton;
+  String fileName = "";
+  late Widget photoButton;
   bool ifMakeVideo = false;
-  FaceDetector faceDetector;
+  late FaceDetector faceDetector;
 
   CameraProvider() {
     tabController = TabController(length: 6, vsync: this);
@@ -100,6 +100,6 @@ class CameraProvider extends State<StatefulWidget>
 
   @override
   Widget build(BuildContext context) {
-    return null;
+    return Container();
   }
 }

+ 13 - 13
lib/providers/recommend_provider.dart

@@ -4,13 +4,13 @@ class RecommendProvider extends State<StatefulWidget>
     with ChangeNotifier, TickerProviderStateMixin {
   bool ifShowBottom = true;
 
-  double screenHeight;
+  double screenHeight = 1.0;
   List<MainInfo> infos = <MainInfo>[];
   List<MainInfo> followed = <MainInfo>[];
-  TabController controller;
-  MainInfo mainInfo;
+  late TabController controller;
+  late MainInfo mainInfo;
 
-  Reply reply;
+  late Reply reply;
 
   RecommendProvider() {
     controller = TabController(vsync: this, length: 2);
@@ -134,7 +134,7 @@ class RecommendProvider extends State<StatefulWidget>
 
   @override
   Widget build(BuildContext context) {
-    return null;
+    return Container();
   }
 }
 
@@ -151,14 +151,14 @@ class MainInfo {
 
   MainInfo(
       {required this.avatarUrl,
-     required this.content,
-     required this.favCount,
-     required this.replyCount,
-     required this.shareCount,
-     required this.userName,
-     required this.videoPath,
-     required this.desc,
-     required this.ifFaved});
+      required this.content,
+      required this.favCount,
+      required this.replyCount,
+      required this.shareCount,
+      required this.userName,
+      required this.videoPath,
+      required this.desc,
+      required this.ifFaved});
 }
 
 class Reply {

+ 3 - 1
lib/routes.dart

@@ -11,7 +11,9 @@ class Routes {
   static define() => {
         home: (context) => const HomePage(),
         splash: (context) => const SplashPage(),
-        recommend: (context) => const RecommendPage(),
+        recommend: (context) => const RecommendPage(
+              selIndex: 0,
+            ),
       };
 
   Routes.pushNamed(BuildContext context, String url, dynamic params) {

+ 8 - 2
lib/views/button_list.dart

@@ -105,7 +105,9 @@ class _ButtonListState extends State<ButtonList> {
                     provider: provider,
                     callback: () {
                       provider.tapFav();
-                    })
+                    },
+                    callbackDelay: Duration(seconds: 1),
+                  )
                 : AnimatedIconWidget(
                     key: UniqueKey(),
                     animationList: stages3,
@@ -114,7 +116,7 @@ class _ButtonListState extends State<ButtonList> {
                     provider: provider,
                     callback: () {
                       provider.tapFav();
-                    },
+                    }, callbackDelay: Duration(seconds: 1),
                   ),
           ),
           IconText(
@@ -127,6 +129,7 @@ class _ButtonListState extends State<ButtonList> {
               callback: () {
                 showBottom(context, provider);
               },
+              provider: RecommendProvider(),
             ),
           ),
           IconText(
@@ -135,6 +138,9 @@ class _ButtonListState extends State<ButtonList> {
               animationList: stages2,
               icon: Icons.reply,
               size: iconSize,
+              callback: () {},
+              callbackDelay: Duration(seconds: 1),
+              provider: RecommendProvider(),
             ),
           ),
         ],

+ 1 - 1
lib/views/swiper_main.dart

@@ -9,7 +9,7 @@ import 'button_list.dart';
 import 'center_image.dart';
 
 class SwiperMain extends StatefulWidget {
-  SwiperMain({Key? key, this.type}) : super(key: key);
+  SwiperMain({Key? key, required this.type}) : super(key: key);
   final String type;
 
   _SwiperMainState createState() => _SwiperMainState();

+ 1 - 1
lib/views/video_back.dart

@@ -9,7 +9,7 @@ class VideoBack extends StatefulWidget {
 }
 
 class _VideoBackState extends State<VideoBack> {
-  VideoPlayerController _controller;
+  late VideoPlayerController _controller;
   bool _isPlaying = false;
   String url =
       "https://www.guojio.com/video/07a7faa1-3696-4af7-aeac-2d6cf6bf25f9.mp4";

+ 6 - 8
lib/widgets/FavAnimation.dart

@@ -293,7 +293,7 @@ class AnimatedIconWidget extends StatefulWidget {
       required this.icon,
       required this.size,
       required this.callback,
-      this.callbackDelay,
+      required this.callbackDelay,
       required this.provider})
       : super(key: key);
   final List<IconAnimationStage> animationList;
@@ -343,14 +343,12 @@ class _AnimatedIconWidgetState extends State<AnimatedIconWidget>
           ..addStatusListener((status) {
             curColor = anis[index].color;
             if (status == AnimationStatus.completed) {
-              if (widget.callback != null) {
-                if (widget.callbackDelay == null) {
+              if (widget.callbackDelay == null) {
+                widget.callback();
+              } else {
+                Timer(widget.callbackDelay, () {
                   widget.callback();
-                } else {
-                  Timer(widget.callbackDelay, () {
-                    widget.callback();
-                  });
-                }
+                });
               }
             }
           })

+ 15 - 15
lib/widgets/WebRequest.dart

@@ -13,26 +13,26 @@ class WebRequest extends Object {
     String scheme;
     int ports;
 
-    if (prefs.getBool("ifPrd")) {
-      hosts = prefs.getString('urlPath_p');
-      scheme = prefs.getString('scheme_p');
-      ports = prefs.getInt('ports_p');
+    if (prefs.getBool("ifPrd")!) {
+      hosts = prefs.getString('urlPath_p')!;
+      scheme = prefs.getString('scheme_p')!;
+      ports = prefs.getInt('ports_p')!;
     } else {
-      if (prefs.getBool("ifIOS")) {
-        hosts = prefs.getString('urlPath_ios_d');
-        scheme = prefs.getString('scheme_ios_d');
-        ports = prefs.getInt('ports_ios_d');
+      if (prefs.getBool("ifIOS")!) {
+        hosts = prefs.getString('urlPath_ios_d')!;
+        scheme = prefs.getString('scheme_ios_d')!;
+        ports = prefs.getInt('ports_ios_d')!;
       } else {
-        hosts = prefs.getString('urlPath_and_d');
-        scheme = prefs.getString('scheme_and_d');
-        ports = prefs.getInt('ports_and_d');
+        hosts = prefs.getString('urlPath_and_d')!;
+        scheme = prefs.getString('scheme_and_d')!;
+        ports = prefs.getInt('ports_and_d')!;
       }
     }
 
-    if (prefs.getBool("ifReal_d")) {
-      hosts = prefs.getString('urlPath_real_d');
-      scheme = prefs.getString('scheme_real_d');
-      ports = prefs.getInt('ports_real_d');
+    if (prefs.getBool("ifReal_d")!) {
+      hosts = prefs.getString('urlPath_real_d')!;
+      scheme = prefs.getString('scheme_real_d')!;
+      ports = prefs.getInt('ports_real_d')!;
     }
     Uri url = Uri(
         scheme: scheme,

+ 1 - 1
lib/widgets/bottom_bar.dart

@@ -7,7 +7,7 @@ import 'package:flutter/material.dart';
 import 'package:provider/provider.dart';
 
 class BtmBar extends StatefulWidget {
-  BtmBar({Key? key, this.selectIndex}) : super(key: key);
+  BtmBar({Key? key, required this.selectIndex}) : super(key: key);
   final int selectIndex;
 
   _BtmBarState createState() => _BtmBarState();

+ 75 - 91
pubspec.lock

@@ -45,10 +45,10 @@ packages:
     dependency: transitive
     description:
       name: cross_file
-      sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9"
+      sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.3.3+4"
+    version: "0.3.3+6"
   crypto:
     dependency: transitive
     description:
@@ -69,10 +69,10 @@ packages:
     dependency: "direct main"
     description:
       name: cupertino_icons
-      sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be
+      sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "1.0.5"
+    version: "1.0.6"
   fading_edge_scrollview:
     dependency: transitive
     description:
@@ -101,34 +101,34 @@ packages:
     dependency: transitive
     description:
       name: file_selector_linux
-      sha256: "770eb1ab057b5ae4326d1c24cc57710758b9a46026349d021d6311bd27580046"
+      sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.9.2"
+    version: "0.9.2+1"
   file_selector_macos:
     dependency: transitive
     description:
       name: file_selector_macos
-      sha256: "4ada532862917bf16e3adb3891fe3a5917a58bae03293e497082203a80909412"
+      sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.9.3+1"
+    version: "0.9.3+3"
   file_selector_platform_interface:
     dependency: transitive
     description:
       name: file_selector_platform_interface
-      sha256: "412705a646a0ae90f33f37acfae6a0f7cbc02222d6cd34e479421c3e74d3853c"
+      sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.6.0"
+    version: "2.6.1"
   file_selector_windows:
     dependency: transitive
     description:
       name: file_selector_windows
-      sha256: "1372760c6b389842b77156203308940558a2817360154084368608413835fc26"
+      sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.9.3"
+    version: "0.9.3+1"
   firebase_ml_vision:
     dependency: "direct main"
     description:
@@ -154,10 +154,10 @@ packages:
     dependency: transitive
     description:
       name: flutter_plugin_android_lifecycle
-      sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360"
+      sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.0.15"
+    version: "2.0.17"
   flutter_swiper:
     dependency: "direct main"
     description:
@@ -195,86 +195,70 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.0.2"
-  image_gallery_saver:
-    dependency: "direct main"
-    description:
-      name: image_gallery_saver
-      sha256: be812580c7a320d3bf583af89cac6b376f170d48000aca75215a73285a3223a0
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "1.7.1"
   image_picker:
     dependency: "direct main"
     description:
       name: image_picker
-      sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c
+      sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.8.9"
+    version: "1.0.4"
   image_picker_android:
     dependency: transitive
     description:
       name: image_picker_android
-      sha256: "8179b54039b50eee561676232304f487602e2950ffb3e8995ed9034d6505ca34"
+      sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.8.7+4"
+    version: "0.8.8+2"
   image_picker_for_web:
     dependency: transitive
     description:
       name: image_picker_for_web
-      sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0"
+      sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.0"
+    version: "3.0.1"
   image_picker_ios:
     dependency: transitive
     description:
       name: image_picker_ios
-      sha256: b3e2f21feb28b24dd73a35d7ad6e83f568337c70afab5eabac876e23803f264b
+      sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.8.8"
+    version: "0.8.8+4"
   image_picker_linux:
     dependency: transitive
     description:
       name: image_picker_linux
-      sha256: "02cbc21fe1706b97942b575966e5fbbeaac535e76deef70d3a242e4afb857831"
+      sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.2.1"
+    version: "0.2.1+1"
   image_picker_macos:
     dependency: transitive
     description:
       name: image_picker_macos
-      sha256: cee2aa86c56780c13af2c77b5f2f72973464db204569e1ba2dd744459a065af4
+      sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.2.1"
+    version: "0.2.1+1"
   image_picker_platform_interface:
     dependency: transitive
     description:
       name: image_picker_platform_interface
-      sha256: c1134543ae2187e85299996d21c526b2f403854994026d575ae4cf30d7bb2a32
+      sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.9.0"
-  image_picker_saver:
-    dependency: "direct main"
-    description:
-      name: image_picker_saver
-      sha256: "30b944c85ec656b252fb81c144204065a4f86741d423cdc86f8019aa71c2e802"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "0.3.0"
+    version: "2.9.1"
   image_picker_windows:
     dependency: transitive
     description:
       name: image_picker_windows
-      sha256: c3066601ea42113922232c7b7b3330a2d86f029f685bba99d82c30e799914952
+      sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.2.1"
+    version: "0.2.1+1"
   js:
     dependency: transitive
     description:
@@ -359,130 +343,130 @@ packages:
     dependency: "direct main"
     description:
       name: path_provider
-      sha256: "3087813781ab814e4157b172f1a11c46be20179fcc9bea043e0fba36bc0acaa2"
+      sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.0.15"
+    version: "2.1.1"
   path_provider_android:
     dependency: transitive
     description:
       name: path_provider_android
-      sha256: "2cec049d282c7f13c594b4a73976b0b4f2d7a1838a6dd5aaf7bd9719196bee86"
+      sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.0.27"
+    version: "2.2.1"
   path_provider_foundation:
     dependency: transitive
     description:
       name: path_provider_foundation
-      sha256: "916731ccbdce44d545414dd9961f26ba5fbaa74bcbb55237d8e65a623a8c7297"
+      sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.4"
+    version: "2.3.1"
   path_provider_linux:
     dependency: transitive
     description:
       name: path_provider_linux
-      sha256: ffbb8cc9ed2c9ec0e4b7a541e56fd79b138e8f47d2fb86815f15358a349b3b57
+      sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.1.11"
+    version: "2.2.1"
   path_provider_platform_interface:
     dependency: transitive
     description:
       name: path_provider_platform_interface
-      sha256: "57585299a729335f1298b43245842678cb9f43a6310351b18fb577d6e33165ec"
+      sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.0.6"
+    version: "2.1.1"
   path_provider_windows:
     dependency: transitive
     description:
       name: path_provider_windows
-      sha256: "1cb68ba4cd3a795033de62ba1b7b4564dace301f952de6bfb3cd91b202b6ee96"
+      sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.1.7"
+    version: "2.2.1"
   platform:
     dependency: transitive
     description:
       name: platform
-      sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76"
+      sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "3.1.0"
+    version: "3.1.3"
   plugin_platform_interface:
     dependency: transitive
     description:
       name: plugin_platform_interface
-      sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
+      sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.1.5"
+    version: "2.1.6"
   provider:
     dependency: "direct main"
     description:
       name: provider
-      sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f
+      sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "6.0.5"
+    version: "6.1.1"
   shared_preferences:
     dependency: "direct main"
     description:
       name: shared_preferences
-      sha256: "0344316c947ffeb3a529eac929e1978fcd37c26be4e8468628bac399365a3ca1"
+      sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.0"
+    version: "2.2.2"
   shared_preferences_android:
     dependency: transitive
     description:
       name: shared_preferences_android
-      sha256: fe8401ec5b6dcd739a0fe9588802069e608c3fdbfd3c3c93e546cf2f90438076
+      sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.0"
+    version: "2.2.1"
   shared_preferences_foundation:
     dependency: transitive
     description:
       name: shared_preferences_foundation
-      sha256: f39696b83e844923b642ce9dd4bd31736c17e697f6731a5adf445b1274cf3cd4
+      sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.3.2"
+    version: "2.3.4"
   shared_preferences_linux:
     dependency: transitive
     description:
       name: shared_preferences_linux
-      sha256: "71d6806d1449b0a9d4e85e0c7a917771e672a3d5dc61149cc9fac871115018e1"
+      sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.3.0"
+    version: "2.3.2"
   shared_preferences_platform_interface:
     dependency: transitive
     description:
       name: shared_preferences_platform_interface
-      sha256: "23b052f17a25b90ff2b61aad4cc962154da76fb62848a9ce088efe30d7c50ab1"
+      sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.3.0"
+    version: "2.3.1"
   shared_preferences_web:
     dependency: transitive
     description:
       name: shared_preferences_web
-      sha256: "7347b194fb0bbeb4058e6a4e87ee70350b6b2b90f8ac5f8bd5b3a01548f6d33a"
+      sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.0"
+    version: "2.2.1"
   shared_preferences_windows:
     dependency: transitive
     description:
       name: shared_preferences_windows
-      sha256: f95e6a43162bce43c9c3405f3eb6f39e5b5d11f65fab19196cf8225e2777624d
+      sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.3.0"
+    version: "2.3.2"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -564,42 +548,42 @@ packages:
     dependency: "direct main"
     description:
       name: video_player
-      sha256: "3fd106c74da32f336dc7feb65021da9b0207cb3124392935f1552834f7cce822"
+      sha256: "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.7.0"
+    version: "2.7.2"
   video_player_android:
     dependency: transitive
     description:
       name: video_player_android
-      sha256: f338a5a396c845f4632959511cad3542cdf3167e1b2a1a948ef07f7123c03608
+      sha256: "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.4.9"
+    version: "2.4.10"
   video_player_avfoundation:
     dependency: transitive
     description:
       name: video_player_avfoundation
-      sha256: f5f5b7fe8c865be8a57fe80c2dca130772e1db775b7af4e5c5aa1905069cfc6c
+      sha256: bf1a1322bf68bccd349982ba1f5a41314a3880861fb9a93d25d6d0a2345845f0
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.4.9"
+    version: "2.4.11"
   video_player_platform_interface:
     dependency: transitive
     description:
       name: video_player_platform_interface
-      sha256: "1ca9acd7a0fb15fb1a990cb554e6f004465c6f37c99d2285766f08a4b2802988"
+      sha256: be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "6.2.0"
+    version: "6.2.1"
   video_player_web:
     dependency: transitive
     description:
       name: video_player_web
-      sha256: "44ce41424d104dfb7cf6982cc6b84af2b007a24d126406025bf40de5d481c74c"
+      sha256: "9c34a243785feca23148bfcd772dbb803d63c9304488177ec4f3f4463802fcb7"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.0.16"
+    version: "2.0.17"
   win32:
     dependency: transitive
     description:
@@ -612,10 +596,10 @@ packages:
     dependency: transitive
     description:
       name: xdg_directories
-      sha256: e0b1147eec179d3911f1f19b59206448f78195ca1d20514134e10641b7d7fbff
+      sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "1.0.1"
+    version: "1.0.3"
 sdks:
   dart: ">=2.19.2 <3.0.0"
-  flutter: ">=3.3.0"
+  flutter: ">=3.7.0"

+ 1 - 4
pubspec.yaml

@@ -25,11 +25,8 @@ dependencies:
   path_provider: ^2.0.2
   path: ^1.8.0
   uuid: ^3.0.6
-  # uses a deprecated version of the Android embedding
-  image_picker_saver: ^0.3.0
-  image_gallery_saver: ^1.7.1
   firebase_ml_vision: ^0.9.2+2
-  image_picker: ^0.8.6
+  image_picker: 1.0.4
 
 dev_dependencies:
   # flutter_test:

Some files were not shown because too many files changed in this diff