From d78a2598ac3e39cb752f74d3cd62fa1838872d68 Mon Sep 17 00:00:00 2001 From: louis <869322496@qq.com> Date: Sun, 31 Mar 2024 17:13:29 +0800 Subject: [PATCH] fix: all code issue --- android/app/build.gradle | 1 + lib/apis/index.dart | 1 - lib/app_theme.dart | 2 +- lib/config.dart | 5 +- lib/constants/data.dart | 2 - lib/constants/dict_enum.dart | 1 + lib/constants/enum.dart | 1 + lib/constants/router.dart | 2 +- lib/db_helper/{dbHelper.dart => db_help.dart} | 3 +- lib/index.dart | 5 +- lib/main.dart | 7 +- lib/models/app_config.dart | 4 +- lib/models/auth.dart | 2 +- lib/models/base_model.dart | 4 +- lib/models/company.model.dart | 2 +- lib/models/inventory_inout.model.dart | 3 - lib/models/product.model.dart | 2 +- lib/models/user_info.model.dart | 2 +- .../components/change_button_roe.dart | 1 - .../components/inventory_inout_card.dart | 4 +- .../components/inventory_inout_info.dart | 9 +- .../components/task_page_holder.dart | 2 +- .../inventory_inout_controller.dart | 4 +- lib/screens/landing/landing.dart | 28 +-- lib/screens/landing/landing_controller.dart | 5 +- lib/screens/login/login copy.dart | 183 ------------------ lib/screens/mine/mine.controller.dart | 1 - lib/screens/mine/mine.dart | 12 +- .../mine/settings/mine.controller.dart | 6 - lib/screens/mine/settings/mine_settings.dart | 6 +- .../mine/useinfo/userinfo.controller.dart | 2 - lib/screens/mine/useinfo/userinfo.dart | 3 - .../components/agent_search.dart | 13 +- .../components/date_time.dart | 4 +- .../components/description_input.dart | 2 +- .../components/inventory_search.dart | 105 +++++----- .../components/lable_input.dart | 2 +- .../components/periority_container.dart | 10 +- .../components/product_search.dart | 2 +- .../components/text_input.dart | 4 +- .../new_inventory_inout.dart | 20 +- .../new_inventory_inout_controller.dart | 2 +- lib/screens/workbench/workbench.dart | 8 +- .../workbench/workbench_controller.dart | 9 - lib/services/app_info.service.dart | 15 -- lib/services/dio.service.dart | 17 +- lib/store/auth.store.dart | 7 +- lib/store/dict.store.dart | 1 - lib/util/convert.dart | 2 +- lib/util/debouncer.dart | 5 +- lib/util/loading_util.dart | 6 +- lib/util/media_util.dart | 4 +- lib/util/modal.util.dart | 3 +- lib/util/photo_picker_util.dart | 2 - lib/util/screen_adaper_util.dart | 2 +- lib/util/snack_bar.util.dart | 15 +- lib/util/throttler.dart | 9 +- lib/util/validator_util.dart | 4 +- lib/widgets/back_decoration.dart | 2 +- lib/widgets/bottom_nav_bar.dart | 10 +- lib/widgets/core/zk_date_picker.dart | 2 - .../core/zt_base_date_picker copy.dart | 101 ---------- lib/widgets/core/zt_base_date_picker.dart | 1 + lib/widgets/core/zt_bottomsheet_picker.dart | 10 +- lib/widgets/core/zt_number_input.dart | 3 - lib/widgets/core/zt_search_select.dart | 3 +- lib/widgets/core/zt_text_input.dart | 3 - lib/widgets/fade_in_cache_image.dart | 12 +- lib/widgets/image_preview.dart | 6 +- lib/widgets/my_avatar.dart | 7 - lib/widgets/refresh_footer.dart | 9 +- lib/widgets/refresh_header.dart | 25 +-- lib/widgets/want_keep_alive.dart | 2 +- pubspec.lock | 2 +- pubspec.yaml | 4 +- test/widget_test.dart | 5 +- 76 files changed, 199 insertions(+), 596 deletions(-) rename lib/db_helper/{dbHelper.dart => db_help.dart} (97%) delete mode 100644 lib/screens/login/login copy.dart delete mode 100644 lib/widgets/core/zt_base_date_picker copy.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 531fdb7..37abf45 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -52,6 +52,7 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion + compileSdkVersion 34 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/lib/apis/index.dart b/lib/apis/index.dart index 7819b95..60bafaf 100644 --- a/lib/apis/index.dart +++ b/lib/apis/index.dart @@ -3,7 +3,6 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:sk_base_mobile/constants/global_url.dart'; import 'package:sk_base_mobile/models/base_response.dart'; -import 'package:sk_base_mobile/models/dict_type.model.dart'; import 'package:sk_base_mobile/services/dio.service.dart'; import '../constants/constants.dart'; diff --git a/lib/app_theme.dart b/lib/app_theme.dart index 7a8939b..9ea8308 100644 --- a/lib/app_theme.dart +++ b/lib/app_theme.dart @@ -50,7 +50,7 @@ final theme = ThemeData( confirmButtonStyle: ButtonStyle( textStyle: MaterialStateProperty.resolveWith( (Set states) { - return TextStyle(color: AppTheme.primaryColor); + return const TextStyle(color: AppTheme.primaryColor); }, ), ), diff --git a/lib/config.dart b/lib/config.dart index dffd048..02b0257 100644 --- a/lib/config.dart +++ b/lib/config.dart @@ -1,7 +1,10 @@ -/// Global config +// ignore_for_file: constant_identifier_names + +// Global config class GloablConfig { // static const BASE_URL = "http://10.0.2.2:8001/api/"; // static const OSS_URL = "http://10.0.2.2:8001"; + static const BASE_URL = "http://144.123.43.138:3001/api/"; static const OSS_URL = "http://144.123.43.138:3001"; // static const BASE_URL = "http://192.168.60.220:8001/api/"; diff --git a/lib/constants/data.dart b/lib/constants/data.dart index 816c044..9826586 100644 --- a/lib/constants/data.dart +++ b/lib/constants/data.dart @@ -1,5 +1,3 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; import 'package:sk_base_mobile/constants/bg_color.dart'; diff --git a/lib/constants/dict_enum.dart b/lib/constants/dict_enum.dart index 3b624f4..308470d 100644 --- a/lib/constants/dict_enum.dart +++ b/lib/constants/dict_enum.dart @@ -1,3 +1,4 @@ +//ignore_for_file: constant_identifier_names class DictTypeEnum { static const String InventoryRoom = "inventory_room"; static const String InventoryLine = 'inventory_line'; diff --git a/lib/constants/enum.dart b/lib/constants/enum.dart index 4bbafc6..9068e91 100644 --- a/lib/constants/enum.dart +++ b/lib/constants/enum.dart @@ -1,3 +1,4 @@ +//ignore_for_file: constant_identifier_names enum BackActionEnum { refresh, } diff --git a/lib/constants/router.dart b/lib/constants/router.dart index 9f2b80c..94fc7fb 100644 --- a/lib/constants/router.dart +++ b/lib/constants/router.dart @@ -14,6 +14,6 @@ class RouteConfig { GetPage(name: login, page: () => LoginScreen()), GetPage(name: home, page: () => LandingPage()), GetPage(name: userinfo, page: () => UserInfoPage()), - GetPage(name: inventory, page: () => InventoryPage()), + GetPage(name: inventory, page: () => const InventoryPage()), ]; } diff --git a/lib/db_helper/dbHelper.dart b/lib/db_helper/db_help.dart similarity index 97% rename from lib/db_helper/dbHelper.dart rename to lib/db_helper/db_help.dart index b2bc0c5..73c98ec 100644 --- a/lib/db_helper/dbHelper.dart +++ b/lib/db_helper/db_help.dart @@ -1,5 +1,6 @@ +//ignore_for_file: constant_identifier_names import 'dart:io'; -import 'package:flutter/material.dart'; + import 'package:sk_base_mobile/models/task_model.dart'; import 'package:sk_base_mobile/util/util.dart'; import 'package:sqflite/sqflite.dart'; diff --git a/lib/index.dart b/lib/index.dart index a57583a..cda9f95 100644 --- a/lib/index.dart +++ b/lib/index.dart @@ -18,8 +18,6 @@ class IndexPage extends StatelessWidget { Widget build(BuildContext context) { final isLandscape = MediaQuery.of(context).orientation == Orientation.landscape; - final isLogin = - StorageService.to.getString(CacheKeys.token, isWithUser: false) != null; return ScreenUtilInit( minTextAdapt: true, designSize: isLandscape @@ -42,7 +40,8 @@ class IndexPage extends StatelessWidget { return Obx(() => MediaQuery( //设置文字大小不随系统设置改变 data: MediaQuery.of(context).copyWith( - textScaleFactor: AppInfoService.to.scale.value), + textScaler: + TextScaler.linear(AppInfoService.to.scale.value)), child: widget!)); }))); } diff --git a/lib/main.dart b/lib/main.dart index eff9b2d..686a923 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,8 +1,4 @@ -import 'dart:math'; - -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; // import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:sk_base_mobile/global.dart'; import 'package:sk_base_mobile/index.dart'; @@ -12,9 +8,8 @@ Future main() async { try { await Global.init(); } catch (e) { - LoggerUtil().error('Init failed, please try again.${e}'); + LoggerUtil().error('Init failed, please try again.$e'); } - bool isProduction = kReleaseMode; // await SentryFlutter.init( // (options) { // options.environment = isProduction ? 'production' : 'development'; diff --git a/lib/models/app_config.dart b/lib/models/app_config.dart index b67c18c..1082311 100644 --- a/lib/models/app_config.dart +++ b/lib/models/app_config.dart @@ -15,7 +15,7 @@ class AppConfig { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['ver'] = ver; if (items != null) { data['items'] = items!.map((v) => v.toJson()).toList(); @@ -36,7 +36,7 @@ class AppConfigItem { } Map toJson() { - final Map json = new Map(); + final Map json = {}; json['data'] = data; json['name'] = name; return json; diff --git a/lib/models/auth.dart b/lib/models/auth.dart index 0347d4b..db2a624 100644 --- a/lib/models/auth.dart +++ b/lib/models/auth.dart @@ -8,7 +8,7 @@ class Auth { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['token'] = token; return data; } diff --git a/lib/models/base_model.dart b/lib/models/base_model.dart index 889281a..0ec30f5 100644 --- a/lib/models/base_model.dart +++ b/lib/models/base_model.dart @@ -1,8 +1,8 @@ class BaseModel { - BaseModel.fromJson(Map json) {} + BaseModel.fromJson(Map json); Map toJson() { - final Map data = new Map(); + final Map data = {}; return data; } } diff --git a/lib/models/company.model.dart b/lib/models/company.model.dart index ba792f3..2cedea2 100644 --- a/lib/models/company.model.dart +++ b/lib/models/company.model.dart @@ -37,6 +37,6 @@ class CompanyModel { "updatedAt": updatedAt?.toIso8601String(), "name": name, "isDelete": isDelete, - "files": files.map((x) => x?.toJson()).toList(), + "files": files.map((x) => x.toJson()).toList(), }; } diff --git a/lib/models/inventory_inout.model.dart b/lib/models/inventory_inout.model.dart index c8809e2..6cc8ed3 100644 --- a/lib/models/inventory_inout.model.dart +++ b/lib/models/inventory_inout.model.dart @@ -1,9 +1,6 @@ -import 'package:sk_base_mobile/constants/enum.dart'; import 'package:sk_base_mobile/models/file.model.dart'; import 'package:sk_base_mobile/models/index.dart'; import 'package:sk_base_mobile/models/inventory.model.dart'; -import 'package:sk_base_mobile/models/product.model.dart'; -import 'package:sk_base_mobile/models/project.model.dart'; class InventoryInOutModel { InventoryInOutModel({ diff --git a/lib/models/product.model.dart b/lib/models/product.model.dart index 41ec9e5..09770f2 100644 --- a/lib/models/product.model.dart +++ b/lib/models/product.model.dart @@ -71,7 +71,7 @@ class ProductModel { 'productNumber': productNumber, 'productSpecification': productSpecification, "namePinyin": namePinyin, - "files": files.map((x) => x?.toJson()).toList(), + "files": files.map((x) => x.toJson()).toList(), "company": company?.toJson(), "unit": unit?.toJson(), }; diff --git a/lib/models/user_info.model.dart b/lib/models/user_info.model.dart index 1d72ab4..d37b33c 100644 --- a/lib/models/user_info.model.dart +++ b/lib/models/user_info.model.dart @@ -70,6 +70,6 @@ class UserInfoModel { "remark": remark, "status": status, "dept": dept?.toJson(), - "roles": roles.map((x) => x?.toJson()).toList(), + "roles": roles.map((x) => x.toJson()).toList(), }; } diff --git a/lib/screens/inventory_inout/components/change_button_roe.dart b/lib/screens/inventory_inout/components/change_button_roe.dart index 814ae40..f74ca5d 100644 --- a/lib/screens/inventory_inout/components/change_button_roe.dart +++ b/lib/screens/inventory_inout/components/change_button_roe.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sk_base_mobile/constants/bg_color.dart'; import 'package:sk_base_mobile/screens/inventory_inout/components/change_icon.dart'; -import 'package:sk_base_mobile/screens/inventory_inout/components/filter_btn.dart'; import 'package:sk_base_mobile/screens/inventory_inout/components/today_button.dart'; import 'package:sk_base_mobile/screens/inventory_inout/inventory_inout_controller.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; diff --git a/lib/screens/inventory_inout/components/inventory_inout_card.dart b/lib/screens/inventory_inout/components/inventory_inout_card.dart index c032f3c..4d13077 100644 --- a/lib/screens/inventory_inout/components/inventory_inout_card.dart +++ b/lib/screens/inventory_inout/components/inventory_inout_card.dart @@ -10,7 +10,7 @@ import 'package:sk_base_mobile/widgets/fade_in_cache_image.dart'; import '../../../constants/enum.dart'; class InventoryInoutCard extends StatelessWidget { - InventoryInoutCard({required this.index, required this.ind}); + InventoryInoutCard({super.key, required this.index, required this.ind}); final int index; final int ind; final controller = Get.find(); @@ -48,9 +48,9 @@ class InventoryInoutCard extends StatelessWidget { ), ), Positioned( - child: buildInOrOut(), right: ScreenAdaper.width(5), top: ScreenAdaper.height(5), + child: buildInOrOut(), ) ], ), diff --git a/lib/screens/inventory_inout/components/inventory_inout_info.dart b/lib/screens/inventory_inout/components/inventory_inout_info.dart index 23e8a4b..86430fb 100644 --- a/lib/screens/inventory_inout/components/inventory_inout_info.dart +++ b/lib/screens/inventory_inout/components/inventory_inout_info.dart @@ -13,11 +13,10 @@ import 'package:sk_base_mobile/widgets/image_preview.dart'; import 'package:sk_base_mobile/widgets/loading_indicator.dart'; class InventoryInoutInfo extends StatelessWidget { - late int inventoryInoutId; - late InventoryInouInfoController controller; - InventoryInoutInfo({Key? key, required this.inventoryInoutId}) - : controller = Get.put(InventoryInouInfoController(inventoryInoutId)), - super(key: key); + final int inventoryInoutId; + final InventoryInouInfoController controller; + InventoryInoutInfo({super.key, required this.inventoryInoutId}) + : controller = Get.put(InventoryInouInfoController(inventoryInoutId)); @override Widget build(BuildContext context) { diff --git a/lib/screens/inventory_inout/components/task_page_holder.dart b/lib/screens/inventory_inout/components/task_page_holder.dart index 084f1f6..85c90ec 100644 --- a/lib/screens/inventory_inout/components/task_page_holder.dart +++ b/lib/screens/inventory_inout/components/task_page_holder.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:sk_base_mobile/screens/inventory_inout/components/change_button_roe.dart'; -import 'package:sk_base_mobile/screens/inventory_inout/components/inventory_inout_page_View.dart'; +import 'package:sk_base_mobile/screens/inventory_inout/components/inventory_inout_page_view.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class TaskPageBody extends StatelessWidget { diff --git a/lib/screens/inventory_inout/inventory_inout_controller.dart b/lib/screens/inventory_inout/inventory_inout_controller.dart index 3468c8a..3cbefa4 100644 --- a/lib/screens/inventory_inout/inventory_inout_controller.dart +++ b/lib/screens/inventory_inout/inventory_inout_controller.dart @@ -4,15 +4,13 @@ import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:sk_base_mobile/apis/index.dart'; import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/constants/enum.dart'; -import 'package:sk_base_mobile/db_helper/dbHelper.dart'; +import 'package:sk_base_mobile/db_helper/db_help.dart'; import 'package:sk_base_mobile/screens/inventory_inout/components/inventory_inout_info.dart'; import 'package:sk_base_mobile/screens/new_inventory_inout/new_inventory_inout.dart'; import 'package:sk_base_mobile/util/date.util.dart'; -import 'package:sk_base_mobile/util/logger_util.dart'; import 'package:sk_base_mobile/util/modal.util.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import '../../models/index.dart'; -import 'components/responsive.dart'; class InventoryInoutController extends GetxController { RxMap userData = {}.obs; diff --git a/lib/screens/landing/landing.dart b/lib/screens/landing/landing.dart index ffe270d..1fee2f9 100644 --- a/lib/screens/landing/landing.dart +++ b/lib/screens/landing/landing.dart @@ -17,20 +17,20 @@ class LandingPage extends StatelessWidget { child: Stack(children: [ const BackColors(), SafeArea( - top: true, - child: Obx(() => Scaffold( - floatingActionButtonLocation: - FloatingActionButtonLocation.centerDocked, - floatingActionButton: [0].indexWhere( - (item) => item == controller.currentIndex.value) > - -1 - ? FloatingCreateButton() - : null, - bottomNavigationBar: BottomNavBar(), - backgroundColor: Colors.transparent, - body: Obx( - () => controller.pages[controller.currentIndex.value]), - ))) + bottom: false, + child: Scaffold( + floatingActionButtonLocation: + FloatingActionButtonLocation.centerDocked, + // floatingActionButton: [0].indexWhere( + // (item) => item == controller.currentIndex.value) > + // -1 + // ? FloatingCreateButton() + // : null, + floatingActionButton: FloatingCreateButton(), + bottomNavigationBar: BottomNavBar(), + backgroundColor: Colors.transparent, + body: Obx(() => controller.pages[controller.currentIndex.value]), + )) ]), ); } diff --git a/lib/screens/landing/landing_controller.dart b/lib/screens/landing/landing_controller.dart index d5ac3a2..604163f 100644 --- a/lib/screens/landing/landing_controller.dart +++ b/lib/screens/landing/landing_controller.dart @@ -5,7 +5,6 @@ import 'package:sk_base_mobile/screens/inventory/inventory.dart'; import 'package:sk_base_mobile/screens/inventory_inout/inventory_inout.dart'; import 'package:sk_base_mobile/screens/mine/mine.dart'; import 'package:sk_base_mobile/screens/workbench/workbench.dart'; -import 'package:sk_base_mobile/services/app_info.service.dart'; class LandingController extends GetxController { RxInt currentIndex = 0.obs; @@ -21,7 +20,7 @@ class LandingController extends GetxController { icon: Icons.inventory_outlined, activeIcon: Icons.inventory_rounded, label: '库存', - page: InventoryPage()), + page: const InventoryPage()), AppBottomNavItem( icon: Icons.widgets_outlined, activeIcon: Icons.widgets_rounded, @@ -31,7 +30,7 @@ class LandingController extends GetxController { icon: Icons.person_outline_outlined, activeIcon: Icons.person, label: '我的', - page: MinePage()), + page: const MinePage()), ]; @override onInit() { diff --git a/lib/screens/login/login copy.dart b/lib/screens/login/login copy.dart deleted file mode 100644 index 6bd59cb..0000000 --- a/lib/screens/login/login copy.dart +++ /dev/null @@ -1,183 +0,0 @@ -import 'package:date_format/date_format.dart'; -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; -import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/screens/login/login.controller.dart'; -import 'package:sk_base_mobile/util/screen_adaper_util.dart'; - -class LoginScreen extends StatelessWidget { - LoginScreen({super.key}); - final _controller = Get.put(LoginController()); - @override - Widget build(BuildContext context) { - return Scaffold( - body: Container( - decoration: const BoxDecoration( - image: DecorationImage( - image: AssetImage('assets/images/bg.jpg'), - fit: BoxFit.cover, - ), - ), - child: buildBody())); - - // return Scaffold( - - // body: SafeArea(child: buildBody())); - } - - buildBody() { - return Center( - child: SingleChildScrollView( - child: GestureDetector( - behavior: HitTestBehavior.translucent, - onTap: () { - // 点击空白处时收起键盘 - FocusScope.of(Get.context!).unfocus(); - }, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image( - height: ScreenAdaper.width(150), - image: const AssetImage( - 'assets/images/company_logo.png', - )), - SizedBox( - width: ScreenAdaper.width(10), - ), - Text( - '山矿通', - style: TextStyle( - fontWeight: FontWeight.w700, - color: AppTheme.nearlyWhite, - letterSpacing: ScreenAdaper.sp(5), - fontSize: ScreenAdaper.height(70)), - ) - ], - ), - SizedBox(height: ScreenAdaper.height(50)), - buildForm(), - SizedBox(height: ScreenAdaper.height(50)), - ], - ), - ), - )); - } - - Widget buildForm() { - final children = [ - buildUserNameInput(), - SizedBox( - height: ScreenAdaper.height(20), - ), - buildPasswordInput(), - SizedBox( - height: ScreenAdaper.height(20), - ), - buildForgotPassword(), - SizedBox( - height: ScreenAdaper.height(20), - ), - buildSubmitButton(), - ]; - - final child = Column( - mainAxisAlignment: MainAxisAlignment.center, - mainAxisSize: MainAxisSize.max, - children: children, - ); - - return Form( - key: _controller.formKey, - child: Container( - alignment: Alignment.center, - width: ScreenAdaper.width(800), - padding: EdgeInsets.symmetric( - vertical: 0, horizontal: ScreenAdaper.width(50)), - child: child, - )); - } - - Widget buildSubmitButton() { - final button = ElevatedButton( - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(ScreenAdaper.sp(30))), - padding: EdgeInsets.symmetric( - horizontal: ScreenAdaper.height(25), - vertical: ScreenAdaper.height(20)), - foregroundColor: AppTheme.nearlyWhite, - textStyle: TextStyle( - letterSpacing: 5, - fontWeight: FontWeight.bold, - fontSize: ScreenAdaper.height(25)), - backgroundColor: AppTheme.primaryColor), - onPressed: _controller.doLogin, - child: const Text('登录'), - ); - final child = Expanded( - child: button, - ); - return Row( - children: [child], - ); - } - - Widget buildUserNameInput() { - return TextFormField( - decoration: const InputDecoration( - labelText: '用户名', - ), - onFieldSubmitted: (value) { - _controller.passwordFocusNode.requestFocus(); - }, - style: TextStyle(fontSize: ScreenAdaper.height(25)), - onChanged: (value) {}, - validator: (String? value) { - if (value == null || value == '') { - return '用户名必填'; - } else { - return null; - } - }, - ); - } - - Widget buildPasswordInput() { - return TextFormField( - decoration: const InputDecoration( - labelText: '密码', - ), - obscureText: true, - focusNode: _controller.passwordFocusNode, - onFieldSubmitted: (value) { - _controller.doLogin(); - }, - style: TextStyle(fontSize: ScreenAdaper.height(25)), - onChanged: (value) {}, - validator: (String? value) { - return (value ?? '').length >= 6 ? null : '密码长度至少6位'; - }, - ); - } - - Widget buildForgotPassword() { - return GestureDetector( - onTap: () {}, - child: Container( - alignment: Alignment.centerRight, - child: Text( - '忘记密码?', - style: TextStyle( - color: Colors.grey, - fontSize: ScreenAdaper.height(20), - decoration: TextDecoration.underline, - ), - )), - ); - } -} diff --git a/lib/screens/mine/mine.controller.dart b/lib/screens/mine/mine.controller.dart index e1aa51a..438920e 100644 --- a/lib/screens/mine/mine.controller.dart +++ b/lib/screens/mine/mine.controller.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sk_base_mobile/models/mine_about.model.dart'; -import 'package:sk_base_mobile/store/auth.store.dart'; class MineController extends GetxController { final selectedTabIndex = 0.obs; diff --git a/lib/screens/mine/mine.dart b/lib/screens/mine/mine.dart index 23392f4..11c55f5 100644 --- a/lib/screens/mine/mine.dart +++ b/lib/screens/mine/mine.dart @@ -1,23 +1,17 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sk_base_mobile/screens/mine/mine.controller.dart'; import 'package:sk_base_mobile/screens/mine/settings/mine_settings.dart'; // import 'package:sk_base_mobile/screens/mine/mine_about.dart'; // import 'package:sk_base_mobile/screens/mine/mine_block.dart'; // import 'package:sk_base_mobile/screens/mine/mine_mytickets.dart'; // import 'package:sk_base_mobile/screens/mine/mine_settings.dart'; -import 'package:sk_base_mobile/services/service.dart'; import 'package:sk_base_mobile/store/auth.store.dart'; -import 'package:sk_base_mobile/util/common.util.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; -import 'package:sk_base_mobile/widgets/want_keep_alive.dart'; import 'package:sk_base_mobile/widgets/my_avatar.dart'; import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/constants/router.dart'; -import '../../constants/constants.dart'; class MinePage extends StatefulWidget { - MinePage({super.key}); + const MinePage({super.key}); @override State createState() => _MinePageState(); @@ -25,8 +19,6 @@ class MinePage extends StatefulWidget { class _MinePageState extends State with SingleTickerProviderStateMixin { - final _controller = Get.put(MineController()); - @override void initState() { super.initState(); @@ -105,7 +97,7 @@ class _MinePageState extends State SizedBox( height: ScreenAdaper.height(50), ), - Expanded(child: MineSettingsPage()) + const Expanded(child: MineSettingsPage()) // Expanded( // child: DefaultTabController( // length: 4, diff --git a/lib/screens/mine/settings/mine.controller.dart b/lib/screens/mine/settings/mine.controller.dart index 763a7e2..a9c7618 100644 --- a/lib/screens/mine/settings/mine.controller.dart +++ b/lib/screens/mine/settings/mine.controller.dart @@ -1,13 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sk_base_mobile/models/mine_about.model.dart'; class MineController extends GetxController { final selectedTabIndex = 0.obs; TabController? tabController; - - @override - void onInit() { - super.onInit(); - } } diff --git a/lib/screens/mine/settings/mine_settings.dart b/lib/screens/mine/settings/mine_settings.dart index a3d9911..03435c6 100644 --- a/lib/screens/mine/settings/mine_settings.dart +++ b/lib/screens/mine/settings/mine_settings.dart @@ -1,14 +1,10 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/screens/mine/mine.controller.dart'; import 'package:sk_base_mobile/store/auth.store.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class MineSettingsPage extends StatelessWidget { - final _controller = Get.find(); - MineSettingsPage({super.key}); + const MineSettingsPage({super.key}); @override Widget build(BuildContext context) { diff --git a/lib/screens/mine/useinfo/userinfo.controller.dart b/lib/screens/mine/useinfo/userinfo.controller.dart index 3a70b65..09181fa 100644 --- a/lib/screens/mine/useinfo/userinfo.controller.dart +++ b/lib/screens/mine/useinfo/userinfo.controller.dart @@ -1,8 +1,6 @@ import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; -import 'package:sk_base_mobile/models/user_info.model.dart'; import 'package:sk_base_mobile/store/auth.store.dart'; -import 'package:sk_base_mobile/apis/index.dart'; class UserInfoController extends GetxController { final nickNameController = TextEditingController(text: ''); diff --git a/lib/screens/mine/useinfo/userinfo.dart b/lib/screens/mine/useinfo/userinfo.dart index 7ac85a3..cf6b6e7 100644 --- a/lib/screens/mine/useinfo/userinfo.dart +++ b/lib/screens/mine/useinfo/userinfo.dart @@ -1,8 +1,5 @@ -import 'package:date_format/date_format.dart'; -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sk_base_mobile/constants/data.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import 'package:sk_base_mobile/widgets/my_avatar.dart'; diff --git a/lib/screens/new_inventory_inout/components/agent_search.dart b/lib/screens/new_inventory_inout/components/agent_search.dart index 0d88886..d12e452 100644 --- a/lib/screens/new_inventory_inout/components/agent_search.dart +++ b/lib/screens/new_inventory_inout/components/agent_search.dart @@ -6,8 +6,6 @@ import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:sk_base_mobile/apis/index.dart'; import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/constants/bg_color.dart'; -import 'package:sk_base_mobile/models/index.dart'; -import 'package:sk_base_mobile/models/inventory.model.dart'; import 'package:sk_base_mobile/models/user_info.model.dart'; import 'package:sk_base_mobile/util/debouncer.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; @@ -15,8 +13,8 @@ import 'package:sk_base_mobile/widgets/empty.dart'; import 'package:sk_base_mobile/widgets/fade_in_cache_image.dart'; class AgentSearch extends StatelessWidget { - Function(UserInfoModel)? onSelected; - Function(UserInfoModel)? beforeSelectedCheck; + final Function(UserInfoModel)? onSelected; + final Function(UserInfoModel)? beforeSelectedCheck; AgentSearch({super.key, this.onSelected, this.beforeSelectedCheck}); final controller = Get.put(AgentSearchController()); final listTitleTextStyle = @@ -79,7 +77,6 @@ class AgentSearch extends StatelessWidget { } Widget buildList() { - final textStyle = TextStyle(fontSize: ScreenAdaper.height(22)); return Obx(() => SmartRefresher( enablePullDown: true, enablePullUp: true, @@ -87,13 +84,13 @@ class AgentSearch extends StatelessWidget { onLoading: controller.onLoading, onRefresh: controller.onRefresh, child: controller.refreshController.isLoading - ? SizedBox() + ? const SizedBox() : controller.list.isEmpty - ? Center( + ? const Center( child: Empty(text: '暂无数据'), ) : ListView.separated( - separatorBuilder: (context, index) => Divider( + separatorBuilder: (context, index) => const Divider( color: AppTheme.dividerColor, ), itemCount: controller.list.length, diff --git a/lib/screens/new_inventory_inout/components/date_time.dart b/lib/screens/new_inventory_inout/components/date_time.dart index ff1650d..1e04853 100644 --- a/lib/screens/new_inventory_inout/components/date_time.dart +++ b/lib/screens/new_inventory_inout/components/date_time.dart @@ -94,12 +94,12 @@ class DateTimeContainer extends StatelessWidget { ), child: Row( children: [ - Icon( + const Icon( Icons.date_range, color: darkBlue, size: 16, ), - SizedBox( + const SizedBox( width: defaultPadding / 4, ), Text(text), diff --git a/lib/screens/new_inventory_inout/components/description_input.dart b/lib/screens/new_inventory_inout/components/description_input.dart index d6bd550..5d2a553 100644 --- a/lib/screens/new_inventory_inout/components/description_input.dart +++ b/lib/screens/new_inventory_inout/components/description_input.dart @@ -18,7 +18,7 @@ class DescriptionInput extends StatelessWidget { height: defaultPadding / 2, ), const Padding( - padding: const EdgeInsets.symmetric(vertical: 10), + padding: EdgeInsets.symmetric(vertical: 10), child: Text( 'Description', style: diff --git a/lib/screens/new_inventory_inout/components/inventory_search.dart b/lib/screens/new_inventory_inout/components/inventory_search.dart index 3fa707f..462f5b7 100644 --- a/lib/screens/new_inventory_inout/components/inventory_search.dart +++ b/lib/screens/new_inventory_inout/components/inventory_search.dart @@ -10,12 +10,11 @@ import 'package:sk_base_mobile/models/index.dart'; import 'package:sk_base_mobile/models/inventory.model.dart'; import 'package:sk_base_mobile/util/debouncer.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; -import 'package:sk_base_mobile/widgets/core/zt_search_select.dart'; import 'package:sk_base_mobile/widgets/empty.dart'; class InventorySearch extends StatelessWidget { - Function(InventoryModel)? onInventorySelected; - Function(InventoryModel)? beforeSelectedCheck; + final Function(InventoryModel)? onInventorySelected; + final Function(InventoryModel)? beforeSelectedCheck; InventorySearch( {super.key, this.onInventorySelected, this.beforeSelectedCheck}); final controller = Get.put(InventorySearchController()); @@ -100,12 +99,14 @@ class InventorySearch extends StatelessWidget { value: controller.projectId.value, isExpanded: true, items: [ - DropdownMenuItem( - child: Text('所有项目'), + const DropdownMenuItem( value: 0, + child: Text('所有项目'), ), ...controller.projects.map((element) => DropdownMenuItem( - child: Text('${element.name}'), value: element.id)) + value: element.id, + child: Text('${element.name}'), + )) ], onChanged: (value) { controller.projectId.value = value; @@ -156,18 +157,18 @@ class InventorySearch extends StatelessWidget { child: Obx( () => DropdownButtonFormField( value: controller.hasInventoryStatus.value, - items: [ + items: const [ DropdownMenuItem( - child: Text('全部'), value: 0, + child: Text('全部'), ), DropdownMenuItem( - child: const Text('有库存'), value: 1, + child: Text('有库存'), ), DropdownMenuItem( - child: const Text('无库存'), value: 2, + child: Text('无库存'), ), ], onChanged: (value) { @@ -195,15 +196,15 @@ class InventorySearch extends StatelessWidget { onLoading: controller.onLoading, onRefresh: controller.onRefresh, child: controller.refreshController.isLoading - ? SizedBox() + ? const SizedBox() : controller.inventories.isEmpty - ? Center( + ? const Center( child: Empty(text: '暂无库存'), ) : !ScreenAdaper.isLandspace() ? buildPortraitList() : Table(columnWidths: { - 0: MinColumnWidth( + 0: const MinColumnWidth( FixedColumnWidth(80), FixedColumnWidth(80)), 1: MinColumnWidth( FixedColumnWidth( @@ -227,7 +228,7 @@ class InventorySearch extends StatelessWidget { }, children: [ // table header TableRow( - decoration: BoxDecoration( + decoration: const BoxDecoration( border: Border( bottom: BorderSide( color: AppTheme.dividerColor))), @@ -285,7 +286,7 @@ class InventorySearch extends StatelessWidget { ]), ...controller.inventories.map((itemData) { return TableRow( - decoration: BoxDecoration( + decoration: const BoxDecoration( border: Border( bottom: BorderSide( color: AppTheme.dividerColor))), @@ -358,7 +359,7 @@ class InventorySearch extends StatelessWidget { itemData: itemData, alignment: Alignment.centerRight), ]); - }).toList() + }) ]))); } @@ -389,50 +390,46 @@ class InventorySearch extends StatelessWidget { itemBuilder: (_, index) { final itemData = controller.inventories[index]; return InkWell( - onTap: () { - if (beforeSelectedCheck != null) { - if (!beforeSelectedCheck!(itemData)) { - return; - } + onTap: () { + if (beforeSelectedCheck != null) { + if (!beforeSelectedCheck!(itemData)) { + return; } - if (onInventorySelected != null) onInventorySelected!(itemData); - }, - child: Container( - child: Row(children: [ + } + if (onInventorySelected != null) onInventorySelected!(itemData); + }, + child: Row(children: [ + Text( + '${itemData.inventoryNumber}', + style: TextStyle(fontSize: ScreenAdaper.sp(40)), + ), + SizedBox( + width: ScreenAdaper.width(10), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ Text( - '${itemData.inventoryNumber}', + '${itemData.product?.name}${itemData.product?.productSpecification != '' ? '(${itemData.product?.productSpecification})' : ''}', style: TextStyle(fontSize: ScreenAdaper.sp(40)), ), - SizedBox( - width: ScreenAdaper.width(10), - ), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '${itemData.product?.name}${itemData.product?.productSpecification != '' ? '(${itemData.product?.productSpecification})' : ''}', - style: TextStyle(fontSize: ScreenAdaper.sp(40)), - ), - Text( - '${itemData.product?.company?.name}', - style: TextStyle( - fontSize: ScreenAdaper.sp(30), - color: AppTheme.grey), - ), - Text('¥${double.parse('${itemData.unitPrice}')}', - style: TextStyle( - fontSize: ScreenAdaper.sp(30), - color: AppTheme.grey)) - ], - ), - Spacer(), Text( - '${itemData.quantity}${itemData.product?.unit?.label ?? ''}', - style: TextStyle(fontSize: ScreenAdaper.sp(40))), - ]), - )); + '${itemData.product?.company?.name}', + style: TextStyle( + fontSize: ScreenAdaper.sp(30), color: AppTheme.grey), + ), + Text('¥${double.parse('${itemData.unitPrice}')}', + style: TextStyle( + fontSize: ScreenAdaper.sp(30), color: AppTheme.grey)) + ], + ), + const Spacer(), + Text('${itemData.quantity}${itemData.product?.unit?.label ?? ''}', + style: TextStyle(fontSize: ScreenAdaper.sp(40))), + ]), + ); }, - separatorBuilder: (_, index) => Divider( + separatorBuilder: (_, index) => const Divider( color: AppTheme.dividerColor, ), itemCount: controller.inventories.length); diff --git a/lib/screens/new_inventory_inout/components/lable_input.dart b/lib/screens/new_inventory_inout/components/lable_input.dart index 7d3e05a..3ce481f 100644 --- a/lib/screens/new_inventory_inout/components/lable_input.dart +++ b/lib/screens/new_inventory_inout/components/lable_input.dart @@ -42,7 +42,7 @@ class LabelInput extends StatelessWidget { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( + const Text( 'Periority', style: TextStyle(color: Colors.black, fontWeight: FontWeight.bold), diff --git a/lib/screens/new_inventory_inout/components/periority_container.dart b/lib/screens/new_inventory_inout/components/periority_container.dart index df0d9e3..6228971 100644 --- a/lib/screens/new_inventory_inout/components/periority_container.dart +++ b/lib/screens/new_inventory_inout/components/periority_container.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:sk_base_mobile/constants/bg_color.dart'; +import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class PeriorityContainer extends StatelessWidget { final String text; @@ -11,20 +12,23 @@ class PeriorityContainer extends StatelessWidget { @override Widget build(BuildContext context) { return AnimatedContainer( - duration: Duration(milliseconds: 300), + duration: const Duration(milliseconds: 300), padding: EdgeInsets.all(selected ? 3 : 0), decoration: BoxDecoration( borderRadius: BorderRadius.circular(30), color: selected ? Colors.orange : Colors.black12), child: Container( - padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10), + padding: EdgeInsets.symmetric( + horizontal: ScreenAdaper.width(20), + vertical: ScreenAdaper.height(10)), decoration: BoxDecoration( color: selected ? Colors.white : Colors.transparent, borderRadius: BorderRadius.circular(30), ), child: Text( text, - style: TextStyle(color: darkAccentBlue, fontWeight: FontWeight.bold), + style: const TextStyle( + color: darkAccentBlue, fontWeight: FontWeight.bold), ), ), ); diff --git a/lib/screens/new_inventory_inout/components/product_search.dart b/lib/screens/new_inventory_inout/components/product_search.dart index f91886e..04d6786 100644 --- a/lib/screens/new_inventory_inout/components/product_search.dart +++ b/lib/screens/new_inventory_inout/components/product_search.dart @@ -11,7 +11,7 @@ import 'package:sk_base_mobile/util/debouncer.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class ProductSearch extends StatelessWidget { - Function(ProductModel)? onProductSelected; + final Function(ProductModel)? onProductSelected; ProductSearch({super.key, this.onProductSelected}); final controller = Get.put(ProductSearchController()); final listTitleTextStyle = diff --git a/lib/screens/new_inventory_inout/components/text_input.dart b/lib/screens/new_inventory_inout/components/text_input.dart index 59ed851..1f41e86 100644 --- a/lib/screens/new_inventory_inout/components/text_input.dart +++ b/lib/screens/new_inventory_inout/components/text_input.dart @@ -34,14 +34,14 @@ class TextInputField extends StatelessWidget { }, onTap: onTap, decoration: InputDecoration( - contentPadding: EdgeInsets.symmetric(horizontal: 20), + contentPadding: const EdgeInsets.symmetric(horizontal: 20), hintText: hint, fillColor: Colors.white, filled: true, border: OutlineInputBorder( borderRadius: BorderRadius.circular(10), borderSide: BorderSide.none), - hintStyle: TextStyle(color: Colors.grey, fontSize: 12), + hintStyle: const TextStyle(color: Colors.grey, fontSize: 12), ), ), ); diff --git a/lib/screens/new_inventory_inout/new_inventory_inout.dart b/lib/screens/new_inventory_inout/new_inventory_inout.dart index befcf33..b7404bb 100644 --- a/lib/screens/new_inventory_inout/new_inventory_inout.dart +++ b/lib/screens/new_inventory_inout/new_inventory_inout.dart @@ -19,15 +19,13 @@ import 'package:sk_base_mobile/widgets/core/zk_date_picker.dart'; import 'package:sk_base_mobile/widgets/core/zt_text_input.dart'; import 'package:sk_base_mobile/widgets/gradient_button.dart'; import 'package:sk_base_mobile/screens/new_inventory_inout/new_inventory_inout_controller.dart'; -import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class NewInventoryInout extends StatelessWidget { final NewInventoryInoutController controller; final dictService = Get.find(); final int inOrOut; - NewInventoryInout({Key? key, this.inOrOut = InventoryInOrOutEnum.In}) - : controller = Get.put(NewInventoryInoutController(inOrOut: inOrOut)), - super(key: key); + NewInventoryInout({super.key, this.inOrOut = InventoryInOrOutEnum.In}) + : controller = Get.put(NewInventoryInoutController(inOrOut: inOrOut)); @override Widget build(BuildContext context) { @@ -418,13 +416,13 @@ class NewInventoryInout extends StatelessWidget { thirdLevel: thirdtLevelData .map((e) => Center(child: (Text(e.label)))) .toList(), - onChanged: (_0, _1, _2) { - String position = firstLevelData[_0].label; - if (_1 >= 1) { - position += ', ${secondLevelData[_1].label}'; + onChanged: (level1, level2, level3) { + String position = firstLevelData[level1].label; + if (level2 >= 1) { + position += ', ${secondLevelData[level2].label}'; } - if (_2 >= 1) { - position += ', ${thirdtLevelData[_2].label}'; + if (level3 >= 1) { + position += ', ${thirdtLevelData[level3].label}'; } // , ${secondLevelData[_1].label}, ${thirdtLevelData[_2].label} controller.positionTextController.text = position; @@ -536,7 +534,7 @@ class NewInventoryInout extends StatelessWidget { }, child: Icon( Icons.close, - shadows: [ + shadows: const [ Shadow( color: Colors.black, offset: Offset(1, 1), diff --git a/lib/screens/new_inventory_inout/new_inventory_inout_controller.dart b/lib/screens/new_inventory_inout/new_inventory_inout_controller.dart index 5193b93..97be14f 100644 --- a/lib/screens/new_inventory_inout/new_inventory_inout_controller.dart +++ b/lib/screens/new_inventory_inout/new_inventory_inout_controller.dart @@ -6,7 +6,7 @@ import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; import 'package:sk_base_mobile/apis/index.dart'; import 'package:sk_base_mobile/constants/enum.dart'; -import 'package:sk_base_mobile/db_helper/dbHelper.dart'; +import 'package:sk_base_mobile/db_helper/db_help.dart'; import 'package:sk_base_mobile/models/index.dart'; import 'package:sk_base_mobile/screens/inventory_inout/inventory_inout_controller.dart'; import 'package:sk_base_mobile/util/date.util.dart'; diff --git a/lib/screens/workbench/workbench.dart b/lib/screens/workbench/workbench.dart index 57be903..9d78eb6 100644 --- a/lib/screens/workbench/workbench.dart +++ b/lib/screens/workbench/workbench.dart @@ -1,7 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/constants/router.dart'; @@ -16,7 +14,7 @@ class WorkBenchModel { class WorkBenchPage extends StatelessWidget { WorkBenchPage({super.key}); - List works = [ + final List works = [ WorkBenchModel(title: '库存', route: '/inventory'), WorkBenchModel(title: '产品', route: '/product'), WorkBenchModel(title: '合同', route: '/contract'), @@ -73,14 +71,14 @@ class WorkBenchPage extends StatelessWidget { clipBehavior: Clip.antiAlias, decoration: BoxDecoration( borderRadius: BorderRadius.circular(10), - gradient: LinearGradient( + gradient: const LinearGradient( begin: Alignment.centerLeft, end: Alignment.centerRight, colors: [AppTheme.primaryColorLight, AppTheme.primaryColor]), boxShadow: [ BoxShadow( color: AppTheme.black.withOpacity(0.4), - offset: Offset(0, 0), + offset: const Offset(0, 0), blurRadius: 1, spreadRadius: 1) ], diff --git a/lib/screens/workbench/workbench_controller.dart b/lib/screens/workbench/workbench_controller.dart index b3ce8c0..530ea08 100644 --- a/lib/screens/workbench/workbench_controller.dart +++ b/lib/screens/workbench/workbench_controller.dart @@ -4,15 +4,6 @@ import 'package:get/get.dart'; class WorkBenchController extends GetxController { late final AnimationController animationController; - @override - void onInit() { - super.onInit(); - // animationController = AnimationController( - // vsync: this, - // duration: Duration(seconds: 2), - // )..forward(); - } - @override void onClose() { animationController.dispose(); diff --git a/lib/services/app_info.service.dart b/lib/services/app_info.service.dart index 447a2c9..a6d3ee7 100644 --- a/lib/services/app_info.service.dart +++ b/lib/services/app_info.service.dart @@ -1,24 +1,9 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:package_info/package_info.dart'; -import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/models/app_bottom_nav_item.dart'; import 'package:sk_base_mobile/models/app_config.dart'; -import 'package:sk_base_mobile/screens/inventory/inventory.dart'; -import 'package:sk_base_mobile/screens/inventory_inout/inventory_inout.dart'; -import 'package:sk_base_mobile/apis/index.dart'; -import 'package:sk_base_mobile/screens/workbench/workbench.dart'; import 'package:sk_base_mobile/services/service.dart'; -import 'package:sk_base_mobile/store/auth.store.dart'; -import 'package:sk_base_mobile/util/convert.dart'; import 'package:sk_base_mobile/util/logger_util.dart'; -import 'dart:ui' as ui; -import 'package:sk_base_mobile/config.dart'; import '../constants/constants.dart'; -import '../screens/mine/mine.dart'; class AppInfoService extends GetxService { static AppInfoService get to => Get.find(); diff --git a/lib/services/dio.service.dart b/lib/services/dio.service.dart index 68918ab..4e56bb0 100644 --- a/lib/services/dio.service.dart +++ b/lib/services/dio.service.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'package:get/get.dart' as Get; +import 'package:get/get.dart' as get_package; import 'package:dio/dio.dart'; import 'package:sk_base_mobile/models/base_response.dart'; import 'package:sk_base_mobile/util/logger_util.dart'; @@ -10,14 +10,14 @@ import 'package:sk_base_mobile/util/snack_bar.util.dart'; import '../constants/constants.dart'; -class DioService extends Get.GetxService { - static DioService get to => Get.Get.find(); +class DioService extends get_package.GetxService { + static DioService get to => get_package.Get.find(); static Dio get dio => _dio; static late Dio _dio; List whiteList = [Urls.login]; BaseOptions dioBaseOptions = BaseOptions( connectTimeout: const Duration(seconds: GloablConfig.DIO_TIMEOUT), - baseUrl: '${GloablConfig.BASE_URL}', + baseUrl: GloablConfig.BASE_URL, followRedirects: true); late CancelToken cancelToken; @@ -55,7 +55,7 @@ class DioService extends Get.GetxService { // await SnackBarUtil().error( // 'The server is busy, please try again.', // ); - } else if (e.type == DioErrorType.badResponse) { + } else if (e.type == DioExceptionType.badResponse) { // When the server response, but with a incorrect status, such as 404, 503... if (e.response?.statusCode == 400) { await SnackBarUtil().error( @@ -82,7 +82,7 @@ class DioService extends Get.GetxService { } else if (e.response?.statusCode == 422) { await SnackBarUtil().error(e.response?.data['message']); } - } else if (e.type == DioErrorType.cancel) { + } else if (e.type == DioExceptionType.cancel) { // When the request is cancelled, dio will throw a error with this type. LoggerUtil().error("[Service-dio] 请求取消"); } else { @@ -117,9 +117,8 @@ class DioService extends Get.GetxService { .getString(CacheKeys.deviceModel, isWithUser: false); // 设备型号 } if (GloablConfig.DEBUG && (options.data is! FormData)) { - LoggerUtil().info('[Service-dio] url: ${options.path}' + - ', params: ${jsonEncode(options.queryParameters)}' + - ', body: ${jsonEncode(options.data)}, Header:${jsonEncode(options.headers)}'); + LoggerUtil().info( + '[Service-dio] url: ${options.path}, params: ${jsonEncode(options.queryParameters)}, body: ${jsonEncode(options.data)}, Header:${jsonEncode(options.headers)}'); } handler.next(options); diff --git a/lib/store/auth.store.dart b/lib/store/auth.store.dart index c5870e4..3a64631 100644 --- a/lib/store/auth.store.dart +++ b/lib/store/auth.store.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:dio/dio.dart' as Dio; +import 'package:dio/dio.dart' as dio_package; import 'package:get/get.dart'; import 'package:sk_base_mobile/apis/index.dart'; import 'package:sk_base_mobile/store/dict.store.dart'; @@ -31,7 +31,7 @@ class AuthStore extends GetxService { } } catch (e) { LoggerUtil().info( - '[Store-Auth]Init failed, please try again.${e}', + '[Store-Auth]Init failed, please try again.$e', ); } return this; @@ -49,7 +49,6 @@ class AuthStore extends GetxService { await SnackBarUtil().error('Delete account faield. Please try again.'); } finally { await LoadingUtil.to.dismiss(); - ; } } @@ -65,7 +64,7 @@ class AuthStore extends GetxService { Future login( {required String username, required String password}) async { - Dio.Response response; + dio_package.Response response; // if (type == LoginEnum.fastLogin && // StorageService.to.getString(CacheKeys.deviceUUID, isWithUser: false) == // null) { diff --git a/lib/store/dict.store.dart b/lib/store/dict.store.dart index ec384d3..4b10a09 100644 --- a/lib/store/dict.store.dart +++ b/lib/store/dict.store.dart @@ -1,5 +1,4 @@ import 'package:get/get.dart'; -import 'package:get/get_state_manager/get_state_manager.dart'; import 'package:sk_base_mobile/constants/dict_enum.dart'; import 'package:sk_base_mobile/models/dict_item.model.dart'; import 'package:sk_base_mobile/models/dict_type.model.dart'; diff --git a/lib/util/convert.dart b/lib/util/convert.dart index 2f8075c..bc50a60 100644 --- a/lib/util/convert.dart +++ b/lib/util/convert.dart @@ -1,5 +1,5 @@ Map toMap(dynamic value, {reserveNull = false}) { - Map map = Map(); + Map map = {}; if (value == null) return map; diff --git a/lib/util/debouncer.dart b/lib/util/debouncer.dart index bfde83e..1ecd48d 100644 --- a/lib/util/debouncer.dart +++ b/lib/util/debouncer.dart @@ -27,13 +27,14 @@ Function(T) debouncer(Function(T text)? func, {int? delayTime}) { Duration delay = Duration(milliseconds: delayTime ?? 1500); Timer? timer; - Function(T) target = (T value) { + target(T value) { if (timer?.isActive ?? false) { timer?.cancel(); } timer = Timer(delay, () { if (func != null) func.call(value); }); - }; + } + return target; } diff --git a/lib/util/loading_util.dart b/lib/util/loading_util.dart index 161b9cd..07d97e7 100644 --- a/lib/util/loading_util.dart +++ b/lib/util/loading_util.dart @@ -25,8 +25,10 @@ class LoadingUtil extends GetxService { _loadingOverlay = OverlayEntry( builder: (BuildContext context) { - return WillPopScope( - onWillPop: () async => false, + return PopScope( + onPopInvoked: (_) { + hideLoading(); + }, child: Stack( children: [ ModalBarrier(dismissible: false, color: AppTheme.barrierColor), diff --git a/lib/util/media_util.dart b/lib/util/media_util.dart index 606e22d..0c19924 100644 --- a/lib/util/media_util.dart +++ b/lib/util/media_util.dart @@ -1,6 +1,6 @@ import 'dart:io'; import 'dart:typed_data'; -import 'package:dio/dio.dart' as Dio; +import 'package:dio/dio.dart' as dio_package; import 'package:dio/dio.dart'; import 'package:image_gallery_saver/image_gallery_saver.dart'; import 'package:sk_base_mobile/apis/index.dart'; @@ -45,7 +45,7 @@ class MediaUtil { Future uploadImg(File imgfile, {int? bussinessRecordId, String? bussinessModule}) async { - Dio.Response response = await Api.uploadImg(imgfile); + dio_package.Response response = await Api.uploadImg(imgfile); if (response.data != null && response.data['filename'] != null) { return UploadResultModel.fromJson(response.data["filename"]); } diff --git a/lib/util/modal.util.dart b/lib/util/modal.util.dart index c74742f..a547900 100644 --- a/lib/util/modal.util.dart +++ b/lib/util/modal.util.dart @@ -1,6 +1,5 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:get/get.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import 'package:sk_base_mobile/widgets/core/zt_bottomsheet_picker.dart'; @@ -29,7 +28,7 @@ class ModalUtil { TextButton( child: Text( button, - style: TextStyle(color: Colors.orange), + style: const TextStyle(color: Colors.orange), ), onPressed: () { onConfirm(); diff --git a/lib/util/photo_picker_util.dart b/lib/util/photo_picker_util.dart index e13d60f..7b81aa4 100644 --- a/lib/util/photo_picker_util.dart +++ b/lib/util/photo_picker_util.dart @@ -1,5 +1,3 @@ -import 'dart:io'; - import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; diff --git a/lib/util/screen_adaper_util.dart b/lib/util/screen_adaper_util.dart index 36085b5..1bcdeba 100644 --- a/lib/util/screen_adaper_util.dart +++ b/lib/util/screen_adaper_util.dart @@ -42,7 +42,7 @@ class ScreenAdaper { /// Text 尾部整个单词全部变成省略号的问题 static overflowByChar(String? text) { - return '${text ?? ''}'.replaceAll('', '\u200B'); + return (text ?? '').replaceAll('', '\u200B'); } static isLandspace() { diff --git a/lib/util/snack_bar.util.dart b/lib/util/snack_bar.util.dart index a9e318d..1b958bb 100644 --- a/lib/util/snack_bar.util.dart +++ b/lib/util/snack_bar.util.dart @@ -53,9 +53,10 @@ class SnackBarUtil { snackPosition: SnackPosition.TOP, backgroundColor: AppTheme.snackbarSuccessBackgroudColor, borderRadius: 15, - margin: EdgeInsets.symmetric(horizontal: 10, vertical: 0), + margin: EdgeInsets.symmetric( + horizontal: ScreenAdaper.height(15), vertical: 0), overlayColor: Colors.white, - duration: Duration(seconds: 2), + duration: const Duration(seconds: 2), dismissDirection: DismissDirection.horizontal, forwardAnimationCurve: Curves.fastLinearToSlowEaseIn, reverseAnimationCurve: Curves.linearToEaseOut); @@ -71,8 +72,9 @@ class SnackBarUtil { message: title, snackPosition: SnackPosition.TOP, borderRadius: 15, - margin: EdgeInsets.symmetric(horizontal: 10, vertical: 0), - duration: Duration(seconds: 2), + margin: EdgeInsets.symmetric( + horizontal: ScreenAdaper.height(15), vertical: 0), + duration: const Duration(seconds: 2), dismissDirection: DismissDirection.horizontal, forwardAnimationCurve: Curves.fastLinearToSlowEaseIn, reverseAnimationCurve: Curves.linearToEaseOut); @@ -89,9 +91,10 @@ class SnackBarUtil { snackPosition: SnackPosition.TOP, backgroundColor: AppTheme.snackbarWarningBackgroudColor, borderRadius: 15, - margin: EdgeInsets.symmetric(horizontal: 10, vertical: 0), + margin: EdgeInsets.symmetric( + horizontal: ScreenAdaper.height(15), vertical: 0), overlayColor: Colors.white, - duration: Duration(seconds: 2), + duration: const Duration(seconds: 2), dismissDirection: DismissDirection.horizontal, forwardAnimationCurve: Curves.fastLinearToSlowEaseIn, reverseAnimationCurve: Curves.linearToEaseOut); diff --git a/lib/util/throttler.dart b/lib/util/throttler.dart index 4b9bef0..0995f33 100644 --- a/lib/util/throttler.dart +++ b/lib/util/throttler.dart @@ -8,18 +8,15 @@ import 'dart:async'; Function throttler( Future Function(String text) func, ) { - - if (func == null) { - return func; - } bool enable = true; - Function target = (String value) { + target(String value) { if (enable == true) { enable = false; func(value).then((_) { enable = true; }); } - }; + } + return target; } diff --git a/lib/util/validator_util.dart b/lib/util/validator_util.dart index 7d81985..05eb822 100644 --- a/lib/util/validator_util.dart +++ b/lib/util/validator_util.dart @@ -3,9 +3,9 @@ class ValidatorUtil { if (value == null || value == '') { return 'Email is required'; } - final String regexEmail = + const String regexEmail = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$"; if (value == null || value.isEmpty) return null; - return new RegExp(regexEmail).hasMatch(value) ? null : 'Email format error'; + return RegExp(regexEmail).hasMatch(value) ? null : 'Email format error'; } } diff --git a/lib/widgets/back_decoration.dart b/lib/widgets/back_decoration.dart index 93d0161..eb5ede7 100644 --- a/lib/widgets/back_decoration.dart +++ b/lib/widgets/back_decoration.dart @@ -150,7 +150,7 @@ class BackColors extends StatelessWidget { filter: ImageFilter.blur( sigmaY: ScreenAdaper.height(30), sigmaX: ScreenAdaper.width(30)), - child: SizedBox(), + child: const SizedBox(), )), ], ), diff --git a/lib/widgets/bottom_nav_bar.dart b/lib/widgets/bottom_nav_bar.dart index 0b1923c..ec6510d 100644 --- a/lib/widgets/bottom_nav_bar.dart +++ b/lib/widgets/bottom_nav_bar.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/screens/landing/landing_controller.dart'; -import 'package:sk_base_mobile/services/app_info.service.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import 'package:auto_size_text/auto_size_text.dart'; @@ -16,13 +15,14 @@ class BottomNavBar extends StatelessWidget { return Obx( () => AnimatedBottomNavigationBar.builder( itemCount: controller.pages.length, - elevation: ScreenAdaper.height(30), + elevation: ScreenAdaper.height(20), height: ScreenAdaper.height(100), activeIndex: controller.currentIndex.value, gapLocation: GapLocation.center, - notchSmoothness: NotchSmoothness.verySmoothEdge, - leftCornerRadius: ScreenAdaper.sp(25), - rightCornerRadius: ScreenAdaper.sp(25), + notchMargin: ScreenAdaper.height(10), + notchSmoothness: NotchSmoothness.smoothEdge, + leftCornerRadius: ScreenAdaper.sp(40), + rightCornerRadius: ScreenAdaper.sp(40), onTap: (index) { controller.currentIndex.value = index; }, diff --git a/lib/widgets/core/zk_date_picker.dart b/lib/widgets/core/zk_date_picker.dart index 4e6b83a..47d823a 100644 --- a/lib/widgets/core/zk_date_picker.dart +++ b/lib/widgets/core/zk_date_picker.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:get/get_core/src/get_main.dart'; -import 'package:sk_base_mobile/util/date.util.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class ZtDatePicker extends StatelessWidget { diff --git a/lib/widgets/core/zt_base_date_picker copy.dart b/lib/widgets/core/zt_base_date_picker copy.dart deleted file mode 100644 index a60c42d..0000000 --- a/lib/widgets/core/zt_base_date_picker copy.dart +++ /dev/null @@ -1,101 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; -import 'package:sk_base_mobile/util/logger_util.dart'; -import 'package:sk_base_mobile/util/screen_adaper_util.dart'; - -class ZtBaseDatePicker extends StatelessWidget { - final Function? onDateTimeChanged; - final yearController = - FixedExtentScrollController(initialItem: DateTime.now().year - 2000); - final monthController = - FixedExtentScrollController(initialItem: DateTime.now().month - 1); - final dayController = - FixedExtentScrollController(initialItem: DateTime.now().day - 1); - ZtBaseDatePicker({super.key, this.onDateTimeChanged}); - - @override - Widget build(BuildContext context) { - return Container( - height: ScreenAdaper.height(250), - color: Colors.white, - child: Column( - children: [ - Row( - children: [ - TextButton( - onPressed: () { - Get.back(); - }, - child: Text( - '取消', - style: TextStyle(fontSize: ScreenAdaper.height(25)), - )), - const Spacer(), - TextButton( - onPressed: () { - Get.back(); - final year = 2000 + yearController.selectedItem; - String month = '${monthController.selectedItem + 1}'; - if (int.parse(month) < 10) { - month = '0$month'; - } - final day = dayController.selectedItem + 1; - if (onDateTimeChanged != null) { - onDateTimeChanged!('$year-$month-$day'); - } - LoggerUtil().info('$year-$month-$day'); - }, - child: Text( - '确定', - style: TextStyle(fontSize: ScreenAdaper.height(25)), - )) - ], - ), - Expanded( - child: Row( - children: [ - Expanded( - child: CupertinoPicker( - scrollController: yearController, - itemExtent: ScreenAdaper.height(60), - onSelectedItemChanged: (int index) { - // 处理用户选择的年份 - }, - children: List.generate(DateTime.now().year - 1999, - (int index) { - return Center(child: Text('${2000 + index}年')); - }), - ), - ), - Expanded( - child: CupertinoPicker( - scrollController: monthController, - itemExtent: ScreenAdaper.height(60), - onSelectedItemChanged: (int index) { - // 处理用户选择的月份 - }, - children: List.generate(12, (int index) { - return Center(child: Text('${index + 1}月')); - }), - ), - ), - Expanded( - child: CupertinoPicker( - scrollController: dayController, - itemExtent: ScreenAdaper.height(60), - onSelectedItemChanged: (int index) { - // 处理用户选择的日期 - }, - children: List.generate(31, (int index) { - return Center(child: Text('${index + 1}日')); - }), - ), - ), - ], - )) - ], - ), - ); - } -} diff --git a/lib/widgets/core/zt_base_date_picker.dart b/lib/widgets/core/zt_base_date_picker.dart index 47b65dd..8eecbff 100644 --- a/lib/widgets/core/zt_base_date_picker.dart +++ b/lib/widgets/core/zt_base_date_picker.dart @@ -4,6 +4,7 @@ import 'package:get/get.dart'; import 'package:sk_base_mobile/util/logger_util.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; +// ignore: must_be_immutable class ZtBaseDatePicker extends StatelessWidget { final Function(String)? onDateTimeChanged; late final FixedExtentScrollController yearController; diff --git a/lib/widgets/core/zt_bottomsheet_picker.dart b/lib/widgets/core/zt_bottomsheet_picker.dart index c774132..7309cb0 100644 --- a/lib/widgets/core/zt_bottomsheet_picker.dart +++ b/lib/widgets/core/zt_bottomsheet_picker.dart @@ -6,17 +6,17 @@ import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class ZtBottomSheetPicker extends StatelessWidget { final Function? onChanged; - FixedExtentScrollController firstLevelControlller = + final FixedExtentScrollController firstLevelControlller = FixedExtentScrollController(); - FixedExtentScrollController secondLevelController = + final FixedExtentScrollController secondLevelController = FixedExtentScrollController(); - FixedExtentScrollController thirdLevelController = + final FixedExtentScrollController thirdLevelController = FixedExtentScrollController(); final List firstLevel; final List? secondLevel; final List? thirdLevel; - double? itemHeight; - double? popupHeight; + final double? itemHeight; + final double? popupHeight; final String title; ZtBottomSheetPicker( {super.key, diff --git a/lib/widgets/core/zt_number_input.dart b/lib/widgets/core/zt_number_input.dart index deb3788..1d87d1c 100644 --- a/lib/widgets/core/zt_number_input.dart +++ b/lib/widgets/core/zt_number_input.dart @@ -1,9 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/constants/bg_color.dart'; -import 'package:sk_base_mobile/screens/new_inventory_inout/new_inventory_inout_controller.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class ZtNumberInput extends StatelessWidget { diff --git a/lib/widgets/core/zt_search_select.dart b/lib/widgets/core/zt_search_select.dart index c4222ff..f381e6f 100644 --- a/lib/widgets/core/zt_search_select.dart +++ b/lib/widgets/core/zt_search_select.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; -import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; @@ -82,7 +81,7 @@ class ZtSearchSelect extends StatelessWidget { fontSize: ScreenAdaper.height(30)), ), ]) - : SizedBox())); + : const SizedBox())); }, emptyBuilder: (_) => Container( alignment: Alignment.center, diff --git a/lib/widgets/core/zt_text_input.dart b/lib/widgets/core/zt_text_input.dart index 03625e1..b544de0 100644 --- a/lib/widgets/core/zt_text_input.dart +++ b/lib/widgets/core/zt_text_input.dart @@ -1,8 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:get/get.dart'; import 'package:sk_base_mobile/app_theme.dart'; -import 'package:sk_base_mobile/constants/bg_color.dart'; -import 'package:sk_base_mobile/screens/new_inventory_inout/new_inventory_inout_controller.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; class ZtTextInput extends StatelessWidget { diff --git a/lib/widgets/fade_in_cache_image.dart b/lib/widgets/fade_in_cache_image.dart index e69e7a6..52be026 100644 --- a/lib/widgets/fade_in_cache_image.dart +++ b/lib/widgets/fade_in_cache_image.dart @@ -9,19 +9,19 @@ class FadeInCacheImage extends StatefulWidget { final double? height; final String? url; final BoxFit? fit; - bool compress; - bool canFullscreen; - FadeInCacheImage( - {Key? key, + final bool compress; + final bool canFullscreen; + const FadeInCacheImage( + {super.key, this.width, this.height, this.url, this.fit = BoxFit.cover, this.compress = false, - this.canFullscreen = false}) - : super(key: key); + this.canFullscreen = false}); @override + // ignore: library_private_types_in_public_api _FadeInCacheImageState createState() => _FadeInCacheImageState(); } diff --git a/lib/widgets/image_preview.dart b/lib/widgets/image_preview.dart index b4b2219..da5318c 100644 --- a/lib/widgets/image_preview.dart +++ b/lib/widgets/image_preview.dart @@ -48,7 +48,8 @@ class _ImagePreivewState extends State { scrollPhysics: const BouncingScrollPhysics(), builder: _buildItem, itemCount: widget.galleryItems.length, - loadingBuilder: (_, _1) => const LoadingIndicator(common: true), + loadingBuilder: (_, chunkEvent) => + const LoadingIndicator(common: true), backgroundDecoration: widget.backgroundDecoration, pageController: widget.pageController, onPageChanged: onPageChanged, @@ -75,7 +76,6 @@ class _ImagePreivewState extends State { await MediaUtil().saveImageToPhotoLib( imgUrl: '${GloablConfig.OSS_URL}${widget.galleryItems[currentIndex].path}'); - } catch (e) { } finally { LoadingUtil.to.dismiss(); SnackBarUtil().success('已保存到相册'); @@ -95,7 +95,7 @@ class _ImagePreivewState extends State { PhotoViewGalleryPageOptions _buildItem(BuildContext context, int index) { final FileModel item = widget.galleryItems[index]; return PhotoViewGalleryPageOptions( - onTapUp: (_, _1, _2) { + onTapUp: (_, tapUpDetails, value) { Get.back(); }, imageProvider: Image.network('${GloablConfig.OSS_URL}${item.path}').image, diff --git a/lib/widgets/my_avatar.dart b/lib/widgets/my_avatar.dart index 1268202..16d6fe5 100644 --- a/lib/widgets/my_avatar.dart +++ b/lib/widgets/my_avatar.dart @@ -1,15 +1,8 @@ import 'dart:io'; -import 'package:sk_base_mobile/apis/index.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:sk_base_mobile/models/upload_result.model.dart'; import 'package:sk_base_mobile/store/auth.store.dart'; -import 'package:sk_base_mobile/util/media_util.dart'; -import 'package:sk_base_mobile/util/photo_picker_util.dart'; -import 'package:sk_base_mobile/util/loading_util.dart'; -import 'package:sk_base_mobile/util/screen_adaper_util.dart'; -import 'package:sk_base_mobile/util/snack_bar.util.dart'; import 'package:sk_base_mobile/app_theme.dart'; import '../util/util.dart'; diff --git a/lib/widgets/refresh_footer.dart b/lib/widgets/refresh_footer.dart index 068c8e4..e5231f5 100644 --- a/lib/widgets/refresh_footer.dart +++ b/lib/widgets/refresh_footer.dart @@ -1,12 +1,10 @@ import 'package:flutter/cupertino.dart'; -import 'package:loading_animation_widget/loading_animation_widget.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; -import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import 'package:sk_base_mobile/widgets/loading_indicator.dart'; class RefreshFooter extends StatefulWidget { - const RefreshFooter({Key? key}) : super(key: key); + const RefreshFooter({super.key}); @override State createState() => _RefreshFooterState(); @@ -19,11 +17,6 @@ class _RefreshFooterState extends State super.initState(); } - @override - void dispose() { - super.dispose(); - } - @override Widget build(BuildContext context) { return buildBody(); diff --git a/lib/widgets/refresh_header.dart b/lib/widgets/refresh_header.dart index 7db652f..302ec1b 100644 --- a/lib/widgets/refresh_header.dart +++ b/lib/widgets/refresh_header.dart @@ -1,42 +1,24 @@ import 'package:flutter/cupertino.dart'; -import 'package:loading_animation_widget/loading_animation_widget.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart'; -import 'package:sk_base_mobile/app_theme.dart'; import 'package:sk_base_mobile/util/screen_adaper_util.dart'; import 'package:sk_base_mobile/widgets/loading_indicator.dart'; class RefreshHeader extends RefreshIndicator { - RefreshHeader() + RefreshHeader({super.key}) : super( height: ScreenAdaper.height(100), refreshStyle: RefreshStyle.Follow); @override State createState() { - // TODO: implement createState return RefreshHeaderState(); } } class RefreshHeaderState extends RefreshIndicatorState with SingleTickerProviderStateMixin { - @override - void initState() { - super.initState(); - } - - @override - void onModeChange(RefreshStatus? mode) { - super.onModeChange(mode); - } - @override Future endRefresh() async {} - @override - void resetValue() { - super.resetValue(); - } - @override Widget buildContent(BuildContext context, RefreshStatus mode) { TextStyle style = TextStyle(fontSize: ScreenAdaper.height(18)); @@ -59,9 +41,4 @@ class RefreshHeaderState extends RefreshIndicatorState child: Center(child: body), ); } - - @override - void dispose() { - super.dispose(); - } } diff --git a/lib/widgets/want_keep_alive.dart b/lib/widgets/want_keep_alive.dart index fcb8778..fa92199 100644 --- a/lib/widgets/want_keep_alive.dart +++ b/lib/widgets/want_keep_alive.dart @@ -3,7 +3,7 @@ import 'package:flutter/cupertino.dart'; class WantKeepAlive extends StatefulWidget { final Widget child; - WantKeepAlive({required this.child}); + const WantKeepAlive({super.key, required this.child}); @override State createState() { diff --git a/pubspec.lock b/pubspec.lock index 88a58a7..60a6d95 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -335,7 +335,7 @@ packages: source: hosted version: "3.0.2" flutter_native_splash: - dependency: "direct dev" + dependency: "direct main" description: name: flutter_native_splash sha256: "45e2c0986d749c070509e03d6c7ad6c8bd1f7b1dad7d11dd8750a5e4fe3e2c0b" diff --git a/pubspec.yaml b/pubspec.yaml index 4c8e7f9..06196df 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: photo_view: ^0.14.0 image_gallery_saver: ^2.0.3 flutter_staggered_grid_view: ^0.7.0 - + flutter_native_splash: ^2.3.11 dev_dependencies: flutter_test: sdk: flutter @@ -72,7 +72,7 @@ dev_dependencies: # rules and activating additional ones. flutter_lints: ^3.0.2 flutter_launcher_icons: ^0.13.1 - flutter_native_splash: ^2.3.11 + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/test/widget_test.dart b/test/widget_test.dart index d5ca9de..d0a2706 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -7,13 +7,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; - -import 'package:sk_base_mobile/main.dart'; +import 'package:sk_base_mobile/index.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); + await tester.pumpWidget(const IndexPage()); // Verify that our counter starts at 0. expect(find.text('0'), findsOneWidget);