Commit 9724003b6e30a6ed6a630943f321cf8774d41cc7

Authored by 常守达
1 parent 953738fd

fix(login):checkbox连点问题

... ... @@ -48,7 +48,17 @@ class LoginController extends GetxController {
AppleSignInModel? appleSignInModel;
DateTime? _lastToggleTime;
Future<void> toggleTermsChecked() async {
// 防抖:300ms 内的重复调用直接忽略,防止积压的手势事件互相抵消勾选状态
final now = DateTime.now();
if (_lastToggleTime != null &&
now.difference(_lastToggleTime!) < const Duration(milliseconds: 300)) {
return;
}
_lastToggleTime = now;
final newValue = !termsChecked.value;
termsChecked.value = newValue;
try {
... ... @@ -56,6 +66,8 @@ class LoginController extends GetxController {
await local.setTermsAgreed(newValue);
if (newValue) {
unawaited(() async {
// 等待 Flutter 完成当前帧渲染,让勾选图标先显示
await WidgetsBinding.instance.endOfFrame;
if (!_userStateService.sdksInitialized) {
await _userStateService.initializeSdks();
}
... ...