55 lines
1.7 KiB
Dart
Executable File
55 lines
1.7 KiB
Dart
Executable File
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<String, dynamic> deviceInfoMap = <String, dynamic>{}.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();
|
|
}
|
|
}
|