mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-19 08:36:17 +08:00
@@ -36,15 +36,13 @@ class MainController extends GetxController
|
|||||||
late bool checkDynamic = Pref.checkDynamic;
|
late bool checkDynamic = Pref.checkDynamic;
|
||||||
late int dynamicPeriod = Pref.dynamicPeriod * 60 * 1000;
|
late int dynamicPeriod = Pref.dynamicPeriod * 60 * 1000;
|
||||||
late int _lastCheckDynamicAt = 0;
|
late int _lastCheckDynamicAt = 0;
|
||||||
late int dynIndex = -1;
|
late bool hasDyn = false;
|
||||||
late final DynamicsController dynamicController = Get.put(
|
late final DynamicsController dynamicController = Get.put(
|
||||||
DynamicsController(),
|
DynamicsController(),
|
||||||
);
|
);
|
||||||
|
|
||||||
late int homeIndex = -1;
|
late bool hasHome = false;
|
||||||
late final HomeController? homeController = homeIndex == -1
|
late final HomeController homeController = Get.put(HomeController());
|
||||||
? null
|
|
||||||
: Get.put(HomeController());
|
|
||||||
|
|
||||||
late DynamicBadgeMode msgBadgeMode = Pref.msgBadgeMode;
|
late DynamicBadgeMode msgBadgeMode = Pref.msgBadgeMode;
|
||||||
late Set<MsgUnReadType> msgUnReadTypes = Pref.msgUnReadTypeV2;
|
late Set<MsgUnReadType> msgUnReadTypes = Pref.msgUnReadTypeV2;
|
||||||
@@ -84,9 +82,9 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
dynamicBadgeMode = DynamicBadgeMode.values[Pref.dynamicBadgeMode];
|
dynamicBadgeMode = DynamicBadgeMode.values[Pref.dynamicBadgeMode];
|
||||||
|
|
||||||
dynIndex = navigationBars.indexOf(NavigationBarType.dynamics);
|
hasDyn = navigationBars.contains(NavigationBarType.dynamics);
|
||||||
if (dynamicBadgeMode != DynamicBadgeMode.hidden) {
|
if (dynamicBadgeMode != DynamicBadgeMode.hidden) {
|
||||||
if (dynIndex != -1) {
|
if (hasDyn) {
|
||||||
if (checkDynamic) {
|
if (checkDynamic) {
|
||||||
_lastCheckDynamicAt = DateTime.now().millisecondsSinceEpoch;
|
_lastCheckDynamicAt = DateTime.now().millisecondsSinceEpoch;
|
||||||
}
|
}
|
||||||
@@ -94,9 +92,9 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
homeIndex = navigationBars.indexOf(NavigationBarType.home);
|
hasHome = navigationBars.contains(NavigationBarType.home);
|
||||||
if (msgBadgeMode != DynamicBadgeMode.hidden) {
|
if (msgBadgeMode != DynamicBadgeMode.hidden) {
|
||||||
if (homeIndex != -1) {
|
if (hasHome) {
|
||||||
lastCheckUnreadAt = DateTime.now().millisecondsSinceEpoch;
|
lastCheckUnreadAt = DateTime.now().millisecondsSinceEpoch;
|
||||||
queryUnreadMsg();
|
queryUnreadMsg();
|
||||||
}
|
}
|
||||||
@@ -152,7 +150,7 @@ class MainController extends GetxController
|
|||||||
|
|
||||||
Future<void> queryUnreadMsg([bool isChangeType = false]) async {
|
Future<void> queryUnreadMsg([bool isChangeType = false]) async {
|
||||||
if (!accountService.isLogin.value ||
|
if (!accountService.isLogin.value ||
|
||||||
homeIndex == -1 ||
|
!hasHome ||
|
||||||
msgUnReadTypes.isEmpty ||
|
msgUnReadTypes.isEmpty ||
|
||||||
msgBadgeMode == DynamicBadgeMode.hidden) {
|
msgBadgeMode == DynamicBadgeMode.hidden) {
|
||||||
msgUnReadCount.value = '';
|
msgUnReadCount.value = '';
|
||||||
@@ -178,7 +176,7 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
|
|
||||||
void getUnreadDynamic() {
|
void getUnreadDynamic() {
|
||||||
if (!accountService.isLogin.value || dynIndex == -1) {
|
if (!accountService.isLogin.value || !hasDyn) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DynGrpc.dynRed().then((res) {
|
DynGrpc.dynRed().then((res) {
|
||||||
@@ -189,12 +187,12 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setDynCount([int count = 0]) {
|
void setDynCount([int count = 0]) {
|
||||||
if (dynIndex == -1) return;
|
if (!hasDyn) return;
|
||||||
dynCount.value = count;
|
dynCount.value = count;
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkUnreadDynamic() {
|
void checkUnreadDynamic() {
|
||||||
if (dynIndex == -1 ||
|
if (!hasDyn ||
|
||||||
!accountService.isLogin.value ||
|
!accountService.isLogin.value ||
|
||||||
dynamicBadgeMode == DynamicBadgeMode.hidden ||
|
dynamicBadgeMode == DynamicBadgeMode.hidden ||
|
||||||
!checkDynamic) {
|
!checkDynamic) {
|
||||||
@@ -227,14 +225,14 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
|
|
||||||
void checkDefaultSearch([bool shouldCheck = false]) {
|
void checkDefaultSearch([bool shouldCheck = false]) {
|
||||||
if (homeController?.enableSearchWord == true) {
|
if (hasHome && homeController.enableSearchWord) {
|
||||||
if (shouldCheck &&
|
if (shouldCheck &&
|
||||||
navigationBars[selectedIndex.value] != NavigationBarType.home) {
|
navigationBars[selectedIndex.value] != NavigationBarType.home) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int now = DateTime.now().millisecondsSinceEpoch;
|
int now = DateTime.now().millisecondsSinceEpoch;
|
||||||
if (now - homeController!.lateCheckSearchAt >= _period) {
|
if (now - homeController.lateCheckSearchAt >= _period) {
|
||||||
homeController!
|
homeController
|
||||||
..lateCheckSearchAt = now
|
..lateCheckSearchAt = now
|
||||||
..querySearchDefault();
|
..querySearchDefault();
|
||||||
}
|
}
|
||||||
@@ -243,7 +241,7 @@ class MainController extends GetxController
|
|||||||
|
|
||||||
void checkUnread([bool shouldCheck = false]) {
|
void checkUnread([bool shouldCheck = false]) {
|
||||||
if (accountService.isLogin.value &&
|
if (accountService.isLogin.value &&
|
||||||
homeIndex != -1 &&
|
hasHome &&
|
||||||
msgBadgeMode != DynamicBadgeMode.hidden) {
|
msgBadgeMode != DynamicBadgeMode.hidden) {
|
||||||
if (shouldCheck &&
|
if (shouldCheck &&
|
||||||
navigationBars[selectedIndex.value] != NavigationBarType.home) {
|
navigationBars[selectedIndex.value] != NavigationBarType.home) {
|
||||||
@@ -289,7 +287,7 @@ class MainController extends GetxController
|
|||||||
const Duration(milliseconds: 500),
|
const Duration(milliseconds: 500),
|
||||||
() {
|
() {
|
||||||
if (currentNav == NavigationBarType.home) {
|
if (currentNav == NavigationBarType.home) {
|
||||||
homeController!.onRefresh();
|
homeController.onRefresh();
|
||||||
} else if (currentNav == NavigationBarType.dynamics) {
|
} else if (currentNav == NavigationBarType.dynamics) {
|
||||||
dynamicController.onRefresh();
|
dynamicController.onRefresh();
|
||||||
}
|
}
|
||||||
@@ -297,7 +295,7 @@ class MainController extends GetxController
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (currentNav == NavigationBarType.home) {
|
if (currentNav == NavigationBarType.home) {
|
||||||
homeController!.toTopOrRefresh();
|
homeController.toTopOrRefresh();
|
||||||
} else if (currentNav == NavigationBarType.dynamics) {
|
} else if (currentNav == NavigationBarType.dynamics) {
|
||||||
dynamicController.toTopOrRefresh();
|
dynamicController.toTopOrRefresh();
|
||||||
}
|
}
|
||||||
@@ -306,6 +304,12 @@ class MainController extends GetxController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setSearchBar() {
|
||||||
|
if (hasHome) {
|
||||||
|
homeController.searchBarStream?.add(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
bottomBarStream?.close();
|
bottomBarStream?.close();
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import 'package:PiliPlus/common/widgets/tabs.dart';
|
|||||||
import 'package:PiliPlus/models/common/dynamic/dynamic_badge_mode.dart';
|
import 'package:PiliPlus/models/common/dynamic/dynamic_badge_mode.dart';
|
||||||
import 'package:PiliPlus/models/common/image_type.dart';
|
import 'package:PiliPlus/models/common/image_type.dart';
|
||||||
import 'package:PiliPlus/models/common/nav_bar_config.dart';
|
import 'package:PiliPlus/models/common/nav_bar_config.dart';
|
||||||
import 'package:PiliPlus/pages/home/controller.dart';
|
|
||||||
import 'package:PiliPlus/pages/home/view.dart';
|
import 'package:PiliPlus/pages/home/view.dart';
|
||||||
import 'package:PiliPlus/pages/main/controller.dart';
|
import 'package:PiliPlus/pages/main/controller.dart';
|
||||||
import 'package:PiliPlus/pages/mine/controller.dart';
|
import 'package:PiliPlus/pages/mine/controller.dart';
|
||||||
@@ -101,10 +100,8 @@ class _MainAppState extends State<MainApp>
|
|||||||
if (_mainController.selectedIndex.value != 0) {
|
if (_mainController.selectedIndex.value != 0) {
|
||||||
_mainController
|
_mainController
|
||||||
..setIndex(0)
|
..setIndex(0)
|
||||||
..bottomBarStream?.add(true);
|
..bottomBarStream?.add(true)
|
||||||
try {
|
..setSearchBar();
|
||||||
Get.find<HomeController>().searchBarStream?.add(true);
|
|
||||||
} catch (_) {}
|
|
||||||
} else {
|
} else {
|
||||||
onBack();
|
onBack();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user