Files
tuiche/lib/controller/time/countdown_controller.dart
2025-04-16 14:27:10 +08:00

34 lines
682 B
Dart

import 'dart:async';
import 'package:get/get.dart';
class CountdownController extends GetxController {
var countdown = 0.obs;
Timer? timer;
@override
void onInit() {
super.onInit();
}
void startCountdown(int seconds) {
timer?.cancel(); // 取消之前的定时器
countdown.value = seconds;
timer = Timer.periodic(Duration(seconds: 1), (timer) {
int elapsed = timer.tick;
int remaining = seconds - elapsed;
if (remaining > 0) {
countdown.value = remaining;
} else {
countdown.value = 0;
timer.cancel();
}
});
}
@override
void onClose() {
timer?.cancel();
super.onClose();
}
}