fix: danmaku block

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-12-26 18:10:30 +08:00
parent d3c7b3830f
commit 79da08b285
59 changed files with 207 additions and 303 deletions

View File

@@ -8,7 +8,6 @@ import 'package:PiliPalaX/pages/media/view.dart';
import 'package:PiliPalaX/utils/global_data.dart';
import 'package:get/get.dart';
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:PiliPalaX/utils/storage.dart';
import '../../models/common/dynamic_badge_mode.dart';
import '../../models/common/nav_bar_config.dart';
@@ -19,11 +18,9 @@ class MainController extends GetxController {
final StreamController<bool> bottomBarStream =
StreamController<bool>.broadcast();
Box setting = GStorage.setting;
late bool hideTabBar;
late PageController pageController;
int selectedIndex = 0;
Box userInfoCache = GStorage.userInfo;
RxBool userLogin = false.obs;
late DynamicBadgeMode dynamicBadgeType;
late bool checkDynamic;
@@ -36,10 +33,11 @@ class MainController extends GetxController {
super.onInit();
checkDynamic = GStorage.checkDynamic;
dynamicPeriod = GStorage.dynamicPeriod;
hideTabBar = setting.get(SettingBoxKey.hideTabBar, defaultValue: true);
dynamic userInfo = userInfoCache.get('userInfoCache');
hideTabBar =
GStorage.setting.get(SettingBoxKey.hideTabBar, defaultValue: true);
dynamic userInfo = GStorage.userInfo.get('userInfoCache');
userLogin.value = userInfo != null;
dynamicBadgeType = DynamicBadgeMode.values[setting.get(
dynamicBadgeType = DynamicBadgeMode.values[GStorage.setting.get(
SettingBoxKey.dynamicBadgeMode,
defaultValue: DynamicBadgeMode.number.code)];
@@ -85,7 +83,9 @@ class MainController extends GetxController {
if (dynIndex == -1 ||
!userLogin.value ||
dynamicBadgeType == DynamicBadgeMode.hidden ||
!checkDynamic) return;
!checkDynamic) {
return;
}
int now = DateTime.now().millisecondsSinceEpoch;
if (now - (_lastCheckAt ?? 0) >= dynamicPeriod * 60 * 1000) {
_lastCheckAt = now;
@@ -96,13 +96,13 @@ class MainController extends GetxController {
void setNavBarConfig() async {
List defaultNavTabs = [...defaultNavigationBars];
List navBarSort =
setting.get(SettingBoxKey.navBarSort, defaultValue: [0, 1, 2]);
GStorage.setting.get(SettingBoxKey.navBarSort, defaultValue: [0, 1, 2]);
defaultNavTabs.retainWhere((item) => navBarSort.contains(item['id']));
defaultNavTabs.sort((a, b) =>
navBarSort.indexOf(a['id']).compareTo(navBarSort.indexOf(b['id'])));
navigationBars.value = defaultNavTabs;
int defaultHomePage =
setting.get(SettingBoxKey.defaultHomePage, defaultValue: 0) as int;
int defaultHomePage = GStorage.setting
.get(SettingBoxKey.defaultHomePage, defaultValue: 0) as int;
int defaultIndex =
navigationBars.indexWhere((item) => item['id'] == defaultHomePage);
// 如果找不到匹配项默认索引设置为0或其他合适的值

View File

@@ -5,7 +5,6 @@ import 'package:PiliPalaX/grpc/grpc_client.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:PiliPalaX/models/common/dynamic_badge_mode.dart';
import 'package:PiliPalaX/pages/dynamics/index.dart';
import 'package:PiliPalaX/pages/home/index.dart';
@@ -31,7 +30,6 @@ class _MainAppState extends State<MainApp>
final DynamicsController _dynamicController = Get.put(DynamicsController());
int? _lastSelectTime; //上次点击时间
Box setting = GStorage.setting;
late bool enableMYBar;
late bool useSideBar;
@@ -41,8 +39,10 @@ class _MainAppState extends State<MainApp>
_lastSelectTime = DateTime.now().millisecondsSinceEpoch;
_mainController.pageController =
PageController(initialPage: _mainController.selectedIndex);
enableMYBar = setting.get(SettingBoxKey.enableMYBar, defaultValue: true);
useSideBar = setting.get(SettingBoxKey.useSideBar, defaultValue: false);
enableMYBar =
GStorage.setting.get(SettingBoxKey.enableMYBar, defaultValue: true);
useSideBar =
GStorage.setting.get(SettingBoxKey.useSideBar, defaultValue: false);
WidgetsBinding.instance.addObserver(this);
}