import 'package:flustars/flustars.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../translations/trans_lib.dart'; class StarLockRegisterState { final TextEditingController phoneOrEmailController = TextEditingController(); final TextEditingController pwdController = TextEditingController(); final TextEditingController sureController = TextEditingController(); final TextEditingController codeController = TextEditingController(); var countryCode = "86".obs; var countryName = '中国'.tr.obs; var phoneOrEmailStr = ''.obs; var phoneOrEmailStrIsOK = false.obs; var pwd = ''.obs; var surePwd = ''.obs; var verificationCode = ''.obs; var xWidth = ''.obs; // 滑动验证码滑动位置 var isIphoneType = true.obs; var canSub = false.obs; var agree = false.obs; bool get isEmail => RegexUtil.isEmail(phoneOrEmailStr.value); bool get isIphone => RegexUtil.isMobileSimple(phoneOrEmailStr.value); bool get pwdIsOK => pwd.value.isNotEmpty && surePwd.value.isNotEmpty; bool get codeIsOK => verificationCode.value.isNotEmpty; var canResend = false.obs; var btnText = ''.obs; var totalSeconds = 120; var currentSecond = 120; RxMap deviceInfoMap = {}.obs; StarLockRegisterState() { resetResend(); } void resetResend() { canResend.value = totalSeconds == currentSecond; btnText.value = !canResend.value ? '$currentSecond s' : btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr; } void onClose() { phoneOrEmailController.dispose(); pwdController.dispose(); sureController.dispose(); codeController.dispose(); } }