From 0c77439be11ed7523c91ae591f2a25d0c7b319fa Mon Sep 17 00:00:00 2001 From: orz12 Date: Thu, 4 Apr 2024 10:59:35 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E9=A6=96=E9=A1=B5=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E9=87=8D=E8=BD=BD=E4=BC=98=E5=8C=96=EF=BC=8C=E4=B8=94=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=8D=E6=94=B6=E8=B5=B7=E9=A1=B6=E6=A0=8F=E5=92=8C?= =?UTF-8?q?=E5=BA=95=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home/controller.dart | 2 +- lib/pages/main/controller.dart | 8 +- lib/pages/main/view.dart | 144 +++++++++++++-------------- lib/pages/setting/controller.dart | 4 +- lib/pages/setting/style_setting.dart | 4 +- 5 files changed, 76 insertions(+), 86 deletions(-) diff --git a/lib/pages/home/controller.dart b/lib/pages/home/controller.dart index 0afbd14c..b267abbf 100644 --- a/lib/pages/home/controller.dart +++ b/lib/pages/home/controller.dart @@ -35,7 +35,7 @@ class HomeController extends GetxController with GetTickerProviderStateMixin { userLogin.value = userInfo != null; userFace.value = userInfo != null ? userInfo.face : ''; hideSearchBar = - setting.get(SettingBoxKey.hideSearchBar, defaultValue: true); + setting.get(SettingBoxKey.hideSearchBar, defaultValue: false); if (setting.get(SettingBoxKey.enableSearchWord, defaultValue: true)) { searchDefault(); } diff --git a/lib/pages/main/controller.dart b/lib/pages/main/controller.dart index 795a18c5..7352e662 100644 --- a/lib/pages/main/controller.dart +++ b/lib/pages/main/controller.dart @@ -32,7 +32,7 @@ class MainController extends GetxController { int selectedIndex = 0; Box userInfoCache = GStrorage.userInfo; RxBool userLogin = false.obs; - late Rx dynamicBadgeType = DynamicBadgeMode.number.obs; + late DynamicBadgeMode dynamicBadgeType; @override void onInit() { @@ -40,17 +40,17 @@ class MainController extends GetxController { if (setting.get(SettingBoxKey.autoUpdate, defaultValue: false)) { Utils.checkUpdate(); } - hideTabBar = setting.get(SettingBoxKey.hideTabBar, defaultValue: true); + hideTabBar = setting.get(SettingBoxKey.hideTabBar, defaultValue: false); int defaultHomePage = setting.get(SettingBoxKey.defaultHomePage, defaultValue: 0) as int; selectedIndex = defaultNavigationBars .indexWhere((item) => item['id'] == defaultHomePage); var userInfo = userInfoCache.get('userInfoCache'); userLogin.value = userInfo != null; - dynamicBadgeType.value = DynamicBadgeMode.values[setting.get( + dynamicBadgeType = DynamicBadgeMode.values[setting.get( SettingBoxKey.dynamicBadgeMode, defaultValue: DynamicBadgeMode.number.code)]; - if (dynamicBadgeType.value != DynamicBadgeMode.hidden) { + if (dynamicBadgeType != DynamicBadgeMode.hidden) { getUnreadDynamic(); } } diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index a24fcbea..12c0120e 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -130,83 +130,73 @@ class _MainAppState extends State with SingleTickerProviderStateMixin { curve: Curves.easeInOutCubicEmphasized, duration: const Duration(milliseconds: 500), offset: Offset(0, snapshot.data ? 0 : 1), - child: Obx( - () => enableMYBar - ? NavigationBar( - onDestinationSelected: (value) => setIndex(value), - selectedIndex: _mainController.selectedIndex, - destinations: [ - ..._mainController.navigationBars.map((e) { - return NavigationDestination( - icon: Obx( - () => Badge( - label: - _mainController.dynamicBadgeType.value == - DynamicBadgeMode.number - ? Text(e['count'].toString()) - : null, - padding: - const EdgeInsets.fromLTRB(6, 0, 6, 0), - isLabelVisible: - _mainController.dynamicBadgeType.value != - DynamicBadgeMode.hidden && - e['count'] > 0, - child: e['icon'], - backgroundColor: - Theme.of(context).colorScheme.primary, - textColor: Theme.of(context) - .colorScheme - .onInverseSurface, - ), - ), - selectedIcon: e['selectIcon'], - label: e['label'], - ); - }).toList(), - ], - ) - : BottomNavigationBar( - currentIndex: _mainController.selectedIndex, - onTap: (value) => setIndex(value), - iconSize: 16, - selectedFontSize: 12, - unselectedFontSize: 12, - type: BottomNavigationBarType.fixed, - // selectedItemColor: - // Theme.of(context).colorScheme.primary, // 选中项的颜色 - // unselectedItemColor: - // Theme.of(context).colorScheme.onSurface, - items: [ - ..._mainController.navigationBars.map((e) { - return BottomNavigationBarItem( - icon: Obx( - () => Badge( - label: - _mainController.dynamicBadgeType.value == - DynamicBadgeMode.number - ? Text(e['count'].toString()) - : null, - padding: - const EdgeInsets.fromLTRB(6, 0, 6, 0), - isLabelVisible: - _mainController.dynamicBadgeType.value != - DynamicBadgeMode.hidden && - e['count'] > 0, - child: e['icon'], - backgroundColor: - Theme.of(context).colorScheme.primary, - textColor: Theme.of(context) - .colorScheme - .onInverseSurface, - ), - ), - activeIcon: e['selectIcon'], - label: e['label'], - ); - }).toList(), - ], - ), - ), + child: enableMYBar + ? NavigationBar( + onDestinationSelected: (value) => setIndex(value), + selectedIndex: _mainController.selectedIndex, + destinations: [ + ..._mainController.navigationBars.map((e) { + return NavigationDestination( + icon: Badge( + label: _mainController.dynamicBadgeType == + DynamicBadgeMode.number + ? Text(e['count'].toString()) + : null, + padding: const EdgeInsets.fromLTRB(6, 0, 6, 0), + isLabelVisible: + _mainController.dynamicBadgeType != + DynamicBadgeMode.hidden && + e['count'] > 0, + child: e['icon'], + backgroundColor: + Theme.of(context).colorScheme.primary, + textColor: Theme.of(context) + .colorScheme + .onInverseSurface, + ), + selectedIcon: e['selectIcon'], + label: e['label'], + ); + }).toList(), + ], + ) + : BottomNavigationBar( + currentIndex: _mainController.selectedIndex, + onTap: (value) => setIndex(value), + iconSize: 16, + selectedFontSize: 12, + unselectedFontSize: 12, + type: BottomNavigationBarType.fixed, + // selectedItemColor: + // Theme.of(context).colorScheme.primary, // 选中项的颜色 + // unselectedItemColor: + // Theme.of(context).colorScheme.onSurface, + items: [ + ..._mainController.navigationBars.map((e) { + return BottomNavigationBarItem( + icon: Badge( + label: _mainController.dynamicBadgeType == + DynamicBadgeMode.number + ? Text(e['count'].toString()) + : null, + padding: const EdgeInsets.fromLTRB(6, 0, 6, 0), + isLabelVisible: + _mainController.dynamicBadgeType != + DynamicBadgeMode.hidden && + e['count'] > 0, + child: e['icon'], + backgroundColor: + Theme.of(context).colorScheme.primary, + textColor: Theme.of(context) + .colorScheme + .onInverseSurface, + ), + activeIcon: e['selectIcon'], + label: e['label'], + ); + }).toList(), + ], + ), ); }, ), diff --git a/lib/pages/setting/controller.dart b/lib/pages/setting/controller.dart index 74958e1c..0487cebd 100644 --- a/lib/pages/setting/controller.dart +++ b/lib/pages/setting/controller.dart @@ -108,9 +108,9 @@ class SettingController extends GetxController { dynamicBadgeType.value = result; setting.put(SettingBoxKey.dynamicBadgeMode, result.code); MainController mainController = Get.put(MainController()); - mainController.dynamicBadgeType.value = + mainController.dynamicBadgeType = DynamicBadgeMode.values[result.code]; - if (mainController.dynamicBadgeType.value != DynamicBadgeMode.hidden) { + if (mainController.dynamicBadgeType != DynamicBadgeMode.hidden) { mainController.getUnreadDynamic(); } SmartDialog.showToast('设置成功'); diff --git a/lib/pages/setting/style_setting.dart b/lib/pages/setting/style_setting.dart index 1d3b46ab..460af815 100644 --- a/lib/pages/setting/style_setting.dart +++ b/lib/pages/setting/style_setting.dart @@ -85,14 +85,14 @@ class _StyleSettingState extends State { title: '首页顶栏收起', subTitle: '首页列表滑动时,收起顶栏', setKey: SettingBoxKey.hideSearchBar, - defaultVal: true, + defaultVal: false, needReboot: true, ), const SetSwitchItem( title: '首页底栏收起', subTitle: '首页列表滑动时,收起底栏', setKey: SettingBoxKey.hideTabBar, - defaultVal: true, + defaultVal: false, needReboot: true, ), const SetSwitchItem(