This commit is contained in:
Developer
2026-04-03 03:26:06 +08:00
parent 3063deb34c
commit cba04235c8
49 changed files with 3955 additions and 1421 deletions

View File

@@ -1,3 +1,4 @@
import 'dart:async';
import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -15,6 +16,8 @@ class CareController extends GetxController {
final RxBool isCareButtonVisible = false.obs;
final RxInt _careNavigationIndex = 0.obs;
Timer? _autoHideTimer;
bool get isCareModeEnabled => _isCareModeEnabled.value;
String get userType => _userType.value;
bool get pinyinEnabled => _pinyinEnabled.value;
@@ -77,6 +80,40 @@ class CareController extends GetxController {
void toggleCareButtonVisibility() {
isCareButtonVisible.value = !isCareButtonVisible.value;
// 如果显示关怀开关启动3秒自动隐藏定时器
if (isCareButtonVisible.value) {
_startAutoHideTimer();
} else {
_cancelAutoHideTimer();
}
}
/// 启动自动隐藏定时器
void _startAutoHideTimer() {
_cancelAutoHideTimer();
_autoHideTimer = Timer(const Duration(seconds: 3), () {
isCareButtonVisible.value = false;
});
}
/// 取消自动隐藏定时器
void _cancelAutoHideTimer() {
_autoHideTimer?.cancel();
_autoHideTimer = null;
}
/// 重置自动隐藏定时器(用户交互时调用)
void resetAutoHideTimer() {
if (isCareButtonVisible.value) {
_startAutoHideTimer();
}
}
@override
void onClose() {
_cancelAutoHideTimer();
super.onClose();
}
Future<void> switchCareNavigation(int index) async {