fix: dyn red

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-24 13:59:07 +08:00
parent 0ff53ddbde
commit d3bd218718
3 changed files with 11 additions and 17 deletions

View File

@@ -23,9 +23,7 @@ class DynamicsTabController extends CommonController {
@override @override
Future onRefresh() async { Future onRefresh() async {
if (dynamicsType == 'all') { if (dynamicsType == 'all') {
if (mainController.navigationBars[1]['count'] != 0) { mainController.setCount();
mainController.clearUnread();
}
} }
offset = ''; offset = '';
await queryData(); await queryData();

View File

@@ -49,34 +49,30 @@ class MainController extends GetxController {
_lastCheckAt = DateTime.now().millisecondsSinceEpoch; _lastCheckAt = DateTime.now().millisecondsSinceEpoch;
} }
getUnreadDynamic(); getUnreadDynamic();
} else {
checkDynamic = false;
} }
} }
} }
void getUnreadDynamic() async { void getUnreadDynamic() async {
if (!userLogin.value || dynIndex == null || dynIndex == -1) { if (!userLogin.value || dynIndex == -1) {
return; return;
} }
await GrpcRepo.dynRed().then((res) { await GrpcRepo.dynRed().then((res) {
if (res['status']) { if (res['status']) {
navigationBars[dynIndex!]['count'] = res['data']; setCount(res['data']);
} }
}); });
}
void setCount([int count = 0]) async {
dynIndex ??= navigationBars.indexWhere((e) => e['id'] == 1);
if (dynIndex == -1 || navigationBars[dynIndex!]['count'] == count) return;
navigationBars[dynIndex!]['count'] = count; // 修改 count 属性为新的值
navigationBars.refresh(); navigationBars.refresh();
} }
void clearUnread() async {
if (dynamicBadgeType != DynamicBadgeMode.hidden) {
navigationBars[dynIndex!]['count'] = 0; // 修改 count 属性为新的值
navigationBars.refresh();
}
}
void checkUnreadDynamic() { void checkUnreadDynamic() {
if (dynIndex == null || if (dynIndex == -1 ||
dynIndex == -1 ||
!userLogin.value || !userLogin.value ||
dynamicBadgeType == DynamicBadgeMode.hidden || dynamicBadgeType == DynamicBadgeMode.hidden ||
!checkDynamic) return; !checkDynamic) return;

View File

@@ -110,7 +110,7 @@ class _MainAppState extends State<MainApp>
_lastSelectTime = DateTime.now().millisecondsSinceEpoch; _lastSelectTime = DateTime.now().millisecondsSinceEpoch;
} }
_dynamicController.flag = true; _dynamicController.flag = true;
_mainController.clearUnread(); _mainController.setCount();
} else { } else {
_dynamicController.flag = false; _dynamicController.flag = false;
} }