fish 3 months ago
parent
commit
e63a483ecb
33 changed files with 77 additions and 82 deletions
  1. 1 1
      android/build.gradle
  2. 1 1
      lib/bizmodule/bizwidget/cover_image_item.dart
  3. 1 1
      lib/bizmodule/bizwidget/follow_list_head.dart
  4. 1 1
      lib/bizmodule/bizwidget/header_item.dart
  5. 1 1
      lib/bizmodule/main/category/blocs/category_bloc.dart
  6. 1 1
      lib/bizmodule/main/category/blocs/category_state.dart
  7. 1 1
      lib/bizmodule/main/community/blocs/community_bloc.dart
  8. 1 1
      lib/bizmodule/main/community/widget/ugc_item.dart
  9. 1 1
      lib/bizmodule/main/discovery/blocs/discovery_bloc.dart
  10. 1 1
      lib/bizmodule/main/discovery/blocs/discovery_state.dart
  11. 1 1
      lib/bizmodule/main/discovery/widgets/column_card_items.dart
  12. 1 1
      lib/bizmodule/main/discovery/widgets/hot_category_items.dart
  13. 1 1
      lib/bizmodule/main/selections/blocs/selection_bloc.dart
  14. 1 1
      lib/bizmodule/main/selections/blocs/ugc/ugc_bloc.dart
  15. 1 1
      lib/bizmodule/main/selections/widgets/follow_Item.dart
  16. 1 1
      lib/bizmodule/main/selections/widgets/small_video_item.dart
  17. 1 1
      lib/bizmodule/main/thiz/blocs/main_state.dart
  18. 5 10
      lib/bizmodule/main/thiz/main_page.dart
  19. 1 1
      lib/framework/extension/context_extension.dart
  20. 7 7
      lib/framework/uikit/carousel/carousel_slider.dart
  21. 3 3
      lib/framework/uikit/layout/nine_layout.dart
  22. 5 5
      lib/framework/uikit/refresher/empty/empty_widget.dart
  23. 1 1
      lib/framework/uikit/refresher/indicator/classic/classic_footer.dart
  24. 1 1
      lib/framework/uikit/refresher/indicator/classic/classic_header.dart
  25. 1 1
      lib/framework/uikit/refresher/indicator/material/material_footer.dart
  26. 1 1
      lib/framework/uikit/refresher/indicator/material/material_header.dart
  27. 2 2
      lib/framework/uikit/refresher/listener/scroll_notification_interceptor.dart
  28. 2 2
      lib/framework/uikit/refresher/listener/scroll_notification_listener.dart
  29. 6 6
      lib/framework/uikit/refresher/pretty_refresher.dart
  30. 12 12
      lib/framework/uikit/refresher/sliver/sliver_loading.dart
  31. 10 10
      lib/framework/uikit/refresher/sliver/sliver_refresh.dart
  32. 1 1
      lib/main.dart
  33. 2 2
      pubspec.yaml

+ 1 - 1
android/build.gradle

@@ -24,6 +24,6 @@ subprojects {
     project.evaluationDependsOn(':app')
 }
 
-task clean(type: Delete) {
+tasks.register("clean", Delete) {
     delete rootProject.buildDir
 }

+ 1 - 1
lib/bizmodule/bizwidget/cover_image_item.dart

@@ -6,7 +6,7 @@ class CoverImageItem extends StatelessWidget {
   final int duration;
 
   const CoverImageItem(
-      {Key key, this.width = 0, this.coverUrl, this.duration = -1})
+      {Key? key, this.width = 0, this.coverUrl, this.duration = -1})
       : super(key: key);
 
   @override

+ 1 - 1
lib/bizmodule/bizwidget/follow_list_head.dart

@@ -5,7 +5,7 @@ class FollowListHead extends StatelessWidget {
   final String avatarUrl;
   final String description;
 
-  const FollowListHead({Key key, this.title, this.avatarUrl, this.description})
+  const FollowListHead({Key? key, this.title, this.avatarUrl, this.description})
       : super(key: key);
 
   @override

+ 1 - 1
lib/bizmodule/bizwidget/header_item.dart

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
 class HeaderItem extends StatelessWidget {
   final String title;
 
-  const HeaderItem({Key key, this.title}) : super(key: key);
+  const HeaderItem({Key? key, this.title}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {

+ 1 - 1
lib/bizmodule/main/category/blocs/category_bloc.dart

@@ -7,7 +7,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
 class CategoryBloc extends Bloc<CategoryEvent, CategoryState> {
   final CategoryRepository categoryRepository;
 
-  CategoryBloc({@required this.categoryRepository}) : super(null) {
+  CategoryBloc({required this.categoryRepository}) : super(null) {
     add(EventRequestCategory()); //初始状态,手动添加首次请求事件
   }
 

+ 1 - 1
lib/bizmodule/main/category/blocs/category_state.dart

@@ -12,7 +12,7 @@ abstract class CategoryState extends Equatable {
 class StateLoadSuccess extends CategoryState {
   final CategoryModel categoryModel;
 
-  const StateLoadSuccess({@required this.categoryModel})
+  const StateLoadSuccess({required this.categoryModel})
       : assert(categoryModel != null);
 
   @override

+ 1 - 1
lib/bizmodule/main/community/blocs/community_bloc.dart

@@ -11,7 +11,7 @@ class CommunityBloc extends Bloc<CommunityEvent, CommunityState> {
   List<Community> mCommunityList = [];
   String nextPageUrl;
 
-  CommunityBloc({@required this.communityRepository}) : super(null){
+  CommunityBloc({required this.communityRepository}) : super(null) {
     add(EventRequest(isFirst: true, isRefresh: true));
   }
 

+ 1 - 1
lib/bizmodule/main/community/widget/ugc_item.dart

@@ -9,7 +9,7 @@ class UgcFollowItem extends StatelessWidget {
   final HeaderData header;
   final CommunityData content;
 
-  const UgcFollowItem({Key key, this.header, this.content}) : super(key: key);
+  const UgcFollowItem({Key? key, this.header, this.content}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {

+ 1 - 1
lib/bizmodule/main/discovery/blocs/discovery_bloc.dart

@@ -8,7 +8,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
 class DiscoveryBloc extends Bloc<DiscoveryEvent, DiscoveryState> {
   final DiscoveryRepository discoveryRepository;
 
-  DiscoveryBloc({@required this.discoveryRepository}) : super(null) {
+  DiscoveryBloc({required this.discoveryRepository}) : super(null) {
     add(DiscoveryRequestEvent());
   }
 

+ 1 - 1
lib/bizmodule/main/discovery/blocs/discovery_state.dart

@@ -12,7 +12,7 @@ abstract class DiscoveryState extends Equatable {
 class StateLoadSuccess extends DiscoveryState {
   final DiscoveryModel discoveryModel;
 
-  const StateLoadSuccess({@required this.discoveryModel})
+  const StateLoadSuccess({required this.discoveryModel})
       : assert(discoveryModel != null);
 
   @override

+ 1 - 1
lib/bizmodule/main/discovery/widgets/column_card_items.dart

@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
 class ColumnCardItems extends StatelessWidget {
   final List<Discovery> discoveryList;
 
-  const ColumnCardItems({Key key, this.discoveryList}) : super(key: key);
+  const ColumnCardItems({Key? key, this.discoveryList}) : super(key: key);
 
   Widget getColumnItem(BuildContext context, String coverImage, String title,
       String description) {

+ 1 - 1
lib/bizmodule/main/discovery/widgets/hot_category_items.dart

@@ -4,7 +4,7 @@ import 'package:eye_video/bizmodule/main/discovery/model/discovery_model.dart';
 class HotCategoryItems extends StatelessWidget {
   final List<Discovery> discoveryList;
 
-  const HotCategoryItems({Key key, this.discoveryList}) : super(key: key);
+  const HotCategoryItems({Key? key, this.discoveryList}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {

+ 1 - 1
lib/bizmodule/main/selections/blocs/selection_bloc.dart

@@ -11,7 +11,7 @@ class SelectionBloc extends Bloc<SelectionEvent, SelectionState> {
   List<Selection> mSelections = [];
   String nextPageUrl;
 
-  SelectionBloc({@required this.selectionRepository}) : super(null) {
+  SelectionBloc({required this.selectionRepository}) : super(null) {
     add(EventRequest(isFirst: true, isRefresh: true));
   }
 

+ 1 - 1
lib/bizmodule/main/selections/blocs/ugc/ugc_bloc.dart

@@ -11,7 +11,7 @@ class UgcBloc extends Bloc<UgcEvent, UgcState> {
   int currPage = 1;
   int totalCount = 0;
 
-  UgcBloc({@required this.ugcRepository}) : super(null) {
+  UgcBloc({required this.ugcRepository}) : super(null) {
     add(UgcEventRequest(isFirst: true, isRefresh: true));
   }
 

+ 1 - 1
lib/bizmodule/main/selections/widgets/follow_Item.dart

@@ -10,7 +10,7 @@ class FollowItemVideo extends StatelessWidget {
   final String tag;
 
   const FollowItemVideo(
-      {Key key,
+      {Key? key,
       this.coverUrl,
       this.duration,
       this.avatarUrl,

+ 1 - 1
lib/bizmodule/main/selections/widgets/small_video_item.dart

@@ -8,7 +8,7 @@ class SmallItemVideo extends StatelessWidget {
   final String tag;
 
   const SmallItemVideo(
-      {Key key, this.title, this.tag, this.coverUrl, this.duration})
+      {Key? key, this.title, this.tag, this.coverUrl, this.duration})
       : super(key: key);
 
   @override

+ 1 - 1
lib/bizmodule/main/thiz/blocs/main_state.dart

@@ -14,7 +14,7 @@ class DrawerLoadedState extends MainState {
   final UserModel userModel;
   final DrawerConfigsModel configsModel;
 
-  DrawerLoadedState({@required this.userModel, @required this.configsModel});
+  DrawerLoadedState({required this.userModel, required this.configsModel});
 
   @override
   List<Object> get props => [this.userModel, configsModel];

+ 5 - 10
lib/bizmodule/main/thiz/main_page.dart

@@ -22,12 +22,11 @@ import 'package:flutter_bloc/flutter_bloc.dart';
 /// Time       : 06/30/2022 Thursday
 /// Author     : liuyuqi.gov@msn.cn
 class MainPage extends StatelessWidget {
-  MainPage({Key key, this.title}) : super(key: key);
+  MainPage({Key? key, required this.title}) : super(key: key);
   final String title;
 
   @override
   Widget build(BuildContext context) {
-    
     ScreenRuler.init(context);
     var tabs = ['精选', '发现', '分类', '社区'];
 
@@ -52,12 +51,11 @@ class MainPage extends StatelessWidget {
               case 0:
                 {
                   return BlocProvider(
-                    create: (context) => UgcBloc(
-                        ugcRepository: MockUgcRepository()),
+                    create: (context) =>
+                        UgcBloc(ugcRepository: MockUgcRepository()),
                     child: UgcPage(),
                   );
                 }
-                break;
               case 1:
                 {
                   return BlocProvider(
@@ -66,7 +64,6 @@ class MainPage extends StatelessWidget {
                     child: DiscoveryPage(),
                   );
                 }
-                break;
               case 2:
                 {
                   return BlocProvider(
@@ -75,7 +72,6 @@ class MainPage extends StatelessWidget {
                     child: CategoryPage(),
                   );
                 }
-                break;
 
               case 3:
                 {
@@ -85,7 +81,6 @@ class MainPage extends StatelessWidget {
                     child: CommunityPage(),
                   );
                 }
-                break;
 
               default:
                 {
@@ -106,12 +101,12 @@ class MainPage extends StatelessWidget {
       tabs: tabs.map((textStr) => Tab(text: textStr)).toList(),
       labelStyle: TextStyle(
         color: Color(0xff333333),
-        fontSize: 30.sp,
+        fontSize: 30,
         fontFamily: 'NotoSansHans-Medium',
       ),
       unselectedLabelStyle: TextStyle(
         color: Color(0xff666666),
-        fontSize: 30.sp,
+        fontSize: 30,
         fontFamily: 'NotoSansHans-Regular',
       ),
     );

+ 1 - 1
lib/framework/extension/context_extension.dart

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
 
 extension ContextExtension on BuildContext {
   void showSnackBar(
-      {@required String msg, Duration duration = const Duration(seconds: 3)}) {
+      {required String msg, Duration duration = const Duration(seconds: 3)}) {
     Scaffold.of(this).showBottomSheet((context) {
       return SnackBar(
         shape: RoundedRectangleBorder(

+ 7 - 7
lib/framework/uikit/carousel/carousel_slider.dart

@@ -15,21 +15,21 @@ class CarouselSlider extends StatefulWidget {
   final int itemCount;
 
   CarouselSlider({
-    @required this.items,
-    @required this.options,
+    required this.items,
+    required this.options,
     carouselController,
-    Key key,
+    Key? key,
   })  : itemBuilder = null,
         itemCount = items != null ? items.length : 0,
         _carouselController = carouselController ?? CarouselController(),
         super(key: key);
 
   CarouselSlider.builder({
-    @required this.itemCount,
-    @required this.itemBuilder,
-    @required this.options,
+    required this.itemCount,
+    required this.itemBuilder,
+    required this.options,
     carouselController,
-    Key key,
+    Key? key,
   })  : items = null,
         _carouselController = carouselController ?? CarouselController(),
         super(key: key);

+ 3 - 3
lib/framework/uikit/layout/nine_layout.dart

@@ -8,7 +8,7 @@ class NineLayout extends StatelessWidget {
   final double gap;
 
   NineLayout(
-      {Key key, this.children, this.width, @required this.count, this.gap})
+      {Key? key, this.children, this.width, required this.count, this.gap})
       : super(key: key);
 
   @override
@@ -28,8 +28,8 @@ class NineLayoutDelegate extends FlowDelegate {
   final double gap;
 
   NineLayoutDelegate({
-    @required this.context,
-    @required this.count,
+    required this.context,
+    required this.count,
     this.width = 300,
     this.gap = 5.0,
   });

+ 5 - 5
lib/framework/uikit/refresher/empty/empty_widget.dart

@@ -6,7 +6,7 @@ class EmptyWidget extends StatefulWidget {
   // 子组件
   final Widget child;
 
-  EmptyWidget({Key key, this.child}) : super(key: key);
+  EmptyWidget({Key? key, this.child}) : super(key: key);
 
   @override
   EmptyWidgetState createState() {
@@ -44,9 +44,9 @@ class _SliverEmpty extends SingleChildRenderObjectWidget {
   final ValueNotifier<SliverConfig> notifier;
 
   const _SliverEmpty({
-    Key key,
-    @required Widget child,
-    @required this.notifier,
+    Key? key,
+    required Widget child,
+    required this.notifier,
   }) : super(key: key, child: child);
 
   @override
@@ -61,7 +61,7 @@ class _RenderSliverEmpty extends RenderSliverSingleBoxAdapter {
   final ValueNotifier<SliverConfig> notifier;
   _RenderSliverEmpty({
     RenderBox child,
-    @required this.notifier,
+    required this.notifier,
   }) {
     this.child = child;
   }

+ 1 - 1
lib/framework/uikit/refresher/indicator/classic/classic_footer.dart

@@ -120,7 +120,7 @@ class ClassicFooterWidget extends StatefulWidget {
   final bool noMore;
 
   ClassicFooterWidget(
-      {Key key,
+      {Key? key,
       this.loadState,
       this.classicFooter,
       this.pulledExtent,

+ 1 - 1
lib/framework/uikit/refresher/indicator/classic/classic_header.dart

@@ -128,7 +128,7 @@ class ClassicHeaderWidget extends StatefulWidget {
   final bool noMore;
 
   ClassicHeaderWidget(
-      {Key key,
+      {Key? key,
       this.refreshState,
       this.classicHeader,
       this.pulledExtent,

+ 1 - 1
lib/framework/uikit/refresher/indicator/material/material_footer.dart

@@ -84,7 +84,7 @@ class MaterialFooterWidget extends StatefulWidget {
   final LinkFooterNotifier linkNotifier;
 
   const MaterialFooterWidget({
-    Key key,
+    Key? key,
     this.displacement,
     this.valueColor,
     this.backgroundColor,

+ 1 - 1
lib/framework/uikit/refresher/indicator/material/material_header.dart

@@ -88,7 +88,7 @@ class MaterialHeaderWidget extends StatefulWidget {
   final LinkHeaderNotifier linkNotifier;
 
   const MaterialHeaderWidget({
-    Key key,
+    Key? key,
     this.displacement,
     this.valueColor,
     this.backgroundColor,

+ 2 - 2
lib/framework/uikit/refresher/listener/scroll_notification_interceptor.dart

@@ -5,8 +5,8 @@ class ScrollNotificationInterceptor extends StatelessWidget {
   final Widget child;
 
   ScrollNotificationInterceptor({
-    Key key,
-    @required this.child,
+    Key? key,
+    required this.child,
   }) : super(key: key);
 
   @override

+ 2 - 2
lib/framework/uikit/refresher/listener/scroll_notification_listener.dart

@@ -7,8 +7,8 @@ typedef ScrollFocusCallback = void Function(bool focus);
 /// 滚动事件监听器
 class ScrollNotificationListener extends StatefulWidget {
   const ScrollNotificationListener({
-    Key key,
-    @required this.child,
+    Key? key,
+    required this.child,
     this.onNotification,
     this.onFocus,
   }) : super(key: key);

+ 6 - 6
lib/framework/uikit/refresher/pretty_refresher.dart

@@ -112,7 +112,7 @@ class PrettyRefresher extends StatefulWidget {
   // 默认构造器
   // 将child转换为CustomScrollView可用的slivers
   PrettyRefresher({
-    Key key,
+    Key? key,
     this.controller,
     this.onRefresh,
     this.onLoad,
@@ -128,7 +128,7 @@ class PrettyRefresher extends StatefulWidget {
     this.emptyWidget,
     this.topBouncing = true,
     this.bottomBouncing = true,
-    @required this.child,
+    required this.child,
   })  : this.scrollDirection = null,
         this.reverse = null,
         this.builder = null,
@@ -146,7 +146,7 @@ class PrettyRefresher extends StatefulWidget {
   // custom构造器(推荐)
   // 直接使用CustomScrollView可用的slivers
   PrettyRefresher.custom({
-    Key key,
+    Key? key,
     this.listKey,
     this.controller,
     this.onRefresh,
@@ -172,7 +172,7 @@ class PrettyRefresher extends StatefulWidget {
     this.emptyWidget,
     this.topBouncing = true,
     this.bottomBouncing = true,
-    @required this.slivers,
+    required this.slivers,
   })  : this.builder = null,
         this.child = null,
         super(key: key);
@@ -180,7 +180,7 @@ class PrettyRefresher extends StatefulWidget {
   // 自定义构造器
   // 用法灵活,但需将physics、header和footer放入列表中
   PrettyRefresher.builder({
-    Key key,
+    Key? key,
     this.controller,
     this.onRefresh,
     this.onLoad,
@@ -193,7 +193,7 @@ class PrettyRefresher extends StatefulWidget {
     this.firstRefresh,
     this.topBouncing = true,
     this.bottomBouncing = true,
-    @required this.builder,
+    required this.builder,
   })  : this.scrollDirection = null,
         this.reverse = null,
         this.child = null,

+ 12 - 12
lib/framework/uikit/refresher/sliver/sliver_loading.dart

@@ -9,14 +9,14 @@ import 'package:flutter/widgets.dart';
 
 class _SliverLoading extends SingleChildRenderObjectWidget {
   const _SliverLoading({
-    Key key,
+    Key? key,
     this.loadIndicatorLayoutExtent = 0.0,
     this.hasLayoutExtent = false,
     this.enableInfiniteLoad = true,
     this.footerFloat = false,
     this.axisDirectionNotifier,
-    @required this.infiniteLoad,
-    @required this.extraExtentNotifier,
+    required this.infiniteLoad,
+    required this.extraExtentNotifier,
     Widget child,
   })  : assert(loadIndicatorLayoutExtent != null),
         assert(loadIndicatorLayoutExtent >= 0.0),
@@ -79,13 +79,13 @@ class _SliverLoading extends SingleChildRenderObjectWidget {
 // prevent scroll position jumps as the [layoutExtent] is set and unset.
 class _RenderRefreshSliverLoad extends RenderSliverSingleBoxAdapter {
   _RenderRefreshSliverLoad({
-    @required double loadIndicatorExtent,
-    @required bool hasLayoutExtent,
-    @required bool enableInfiniteLoad,
-    @required this.infiniteLoad,
-    @required this.extraExtentNotifier,
-    @required this.axisDirectionNotifier,
-    @required bool footerFloat,
+    required double loadIndicatorExtent,
+    required bool hasLayoutExtent,
+    required bool enableInfiniteLoad,
+    required this.infiniteLoad,
+    required this.extraExtentNotifier,
+    required this.axisDirectionNotifier,
+    required bool footerFloat,
     RenderBox child,
   })  : assert(loadIndicatorExtent != null),
         assert(loadIndicatorExtent >= 0.0),
@@ -416,10 +416,10 @@ class RefreshSliverLoadControl extends StatefulWidget {
   /// The [onLoad] argument will be called when pulled far enough to trigger
   /// a refresh.
   const RefreshSliverLoadControl({
-    Key key,
+    Key? key,
     this.loadTriggerPullDistance = _defaultLoadTriggerPullDistance,
     this.loadIndicatorExtent = _defaultLoadIndicatorExtent,
-    @required this.builder,
+    required this.builder,
     this.completeDuration,
     this.onLoad,
     this.focusNotifier,

+ 10 - 10
lib/framework/uikit/refresher/sliver/sliver_refresh.dart

@@ -9,13 +9,13 @@ import 'package:flutter/widgets.dart';
 
 class _SliverRefresh extends SingleChildRenderObjectWidget {
   const _SliverRefresh({
-    Key key,
+    Key? key,
     this.refreshIndicatorLayoutExtent = 0.0,
     this.hasLayoutExtent = false,
     this.enableInfiniteRefresh = false,
     this.headerFloat = false,
     this.axisDirectionNotifier,
-    @required this.infiniteRefresh,
+    required this.infiniteRefresh,
     Widget child,
   })  : assert(refreshIndicatorLayoutExtent != null),
         assert(refreshIndicatorLayoutExtent >= 0.0),
@@ -74,12 +74,12 @@ class _SliverRefresh extends SingleChildRenderObjectWidget {
 // prevent scroll position jumps as the [layoutExtent] is set and unset.
 class _RenderRefreshSliverRefresh extends RenderSliverSingleBoxAdapter {
   _RenderRefreshSliverRefresh({
-    @required double refreshIndicatorExtent,
-    @required bool hasLayoutExtent,
-    @required bool enableInfiniteRefresh,
-    @required this.infiniteRefresh,
-    @required bool headerFloat,
-    @required this.axisDirectionNotifier,
+    required double refreshIndicatorExtent,
+    required bool hasLayoutExtent,
+    required bool enableInfiniteRefresh,
+    required this.infiniteRefresh,
+    required bool headerFloat,
+    required this.axisDirectionNotifier,
     RenderBox child,
   })  : assert(refreshIndicatorExtent != null),
         assert(refreshIndicatorExtent >= 0.0),
@@ -367,10 +367,10 @@ typedef BindRefreshIndicator = void Function(
 
 class RefreshSliverRefreshControl extends StatefulWidget {
   const RefreshSliverRefreshControl({
-    Key key,
+    Key? key,
     this.refreshTriggerPullDistance = _defaultRefreshTriggerPullDistance,
     this.refreshIndicatorExtent = _defaultRefreshIndicatorExtent,
-    @required this.builder,
+    required this.builder,
     this.completeDuration,
     this.onRefresh,
     this.focusNotifier,

+ 1 - 1
lib/main.dart

@@ -14,4 +14,4 @@ class MyApp extends StatelessWidget {
       home: MainPage(title: 'EyeVideo'),
     );
   }
-}
+}

+ 2 - 2
pubspec.yaml

@@ -4,7 +4,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 version: 1.2.5+1
 
 environment:
-  sdk: '>=2.7.0 <3.0.0'
+  sdk: '>=2.19.2 <3.0.0'
 
 dependencies:
   flutter:
@@ -18,7 +18,7 @@ dependencies:
   json_annotation: ^4.8.1
   equatable: ^2.0.5
   flutter_easyrefresh: ^2.1.1 # 下拉刷新
-  dwds: ^16.0.3
+  dwds: ^20.0.1
 
 dev_dependencies:
   flutter_test: