app-starlock/star_lock/lib/mine/mine/safeVerify/safeVerify_state.dart
Daisy f9c25b2917 1,新增全局的常量定义
2,修复有效期显示错乱问题
3,删除账号 优先显示问题修复
2023-10-18 11:42:27 +08:00

81 lines
2.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:star_lock/login/login/entity/LoginData.dart';
import 'package:star_lock/login/seletCountryRegion/common/index.dart';
import 'package:star_lock/tools/storage.dart';
import 'package:star_lock/translations/trans_lib.dart';
class SafeVerifyState {
final TextEditingController codeController = TextEditingController();
static int currentTimeMillis() {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = '+86'.obs;
var countryId = '9'.obs;
var codeType = '5'.obs; //5删除账号
var verificationCode = ''.obs;
var xWidth = ''.obs; // 滑动验证码滑动位置
var canSub = false.obs;
var date = currentTimeMillis().toString().obs;
var accountStr = ''.obs;
var toggleStr = ''.obs; //可切换字眼
var isToggle = false.obs; //是否点击切换
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
final loginData = LoginData().obs;
///本地存储 登录信息
void saveLoginData(LoginData? data) async {
print("saveLoginData:${data!.mobile}");
await Storage.setString('userLoginData', jsonEncode(data));
loginData.value = data;
}
///初始化本地数据
void initLoginData() async {
final data = await Storage.getString('userLoginData');
print("getLoginData:$data");
if (data != null && data.isNotEmpty) {
loginData.value = LoginData.fromJson(jsonDecode(data));
//有手机号无邮箱 优先显示手机号 不可切换
if (loginData.value.mobile!.isNotEmpty &&
loginData.value.email!.isEmpty) {
accountStr.value = loginData.value.mobile!;
isToggle.value = false;
} else if (loginData.value.mobile!.isNotEmpty &&
loginData.value.email!.isNotEmpty) {
//有手机号有邮箱 优先显示手机号 可切换至邮箱
accountStr.value = loginData.value.mobile!;
isToggle.value = true;
} else if (loginData.value.mobile!.isNotEmpty &&
loginData.value.email!.isNotEmpty) {
//无手机号有邮箱 优先显示邮箱 不可切换
accountStr.value = loginData.value.email!;
isToggle.value = false;
}
}
}
SafeVerifyState() {
resetResend();
}
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
}
void onClose() {}
}