app-starlock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_state.dart

60 lines
1.8 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
import 'package:get/get.dart';
class MineBindPhoneOrEmailState {
MineBindPhoneOrEmailState() {
Map map = Get.arguments;
if (map['unbindToken'] != null) {
unbindToken.value = map['unbindToken'];
}
channel.value = map['isFrom'];
//短信通道 1 短信2 邮箱
//短信类型 1注册2找回密码3绑定手机号4解绑换绑5删除账号6 绑定邮箱
if (channel.value == '1') {
codeType.value = '3';
} else {
codeType.value = '6';
}
resetResend();
}
final TextEditingController accountController = TextEditingController();
final TextEditingController codeController = TextEditingController();
static int currentTimeMillis() {
return DateTime.now().millisecondsSinceEpoch;
}
2024-08-01 18:54:32 +08:00
RxString countryCode = '86'.obs;
RxString countryName = '中国'.tr.obs;
2024-08-01 18:54:32 +08:00
RxString countryId = '9'.obs;
RxString codeType = '4'.obs; //1注册2找回密码3绑定手机号4解绑手机换绑5删除账号6 绑定邮箱7解绑邮箱换绑
RxString channel = '1'.obs; //短信通道 1 短信2 邮箱
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; // 滑动验证码滑动位置
RxBool canSub = false.obs;
RxString date = currentTimeMillis().toString().obs;
RxString inputAccount = ''.obs; //新账号
RxString unbindToken = ''.obs; //解绑的Token
RxBool accountIsOK = false.obs;
bool get codeIsOK => verificationCode.value.isNotEmpty;
2024-08-01 18:54:32 +08:00
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
2024-08-01 18:54:32 +08:00
: btnText.value = '获取验证码'.tr;
}
void onClose() {}
}