2023-10-09 18:45:10 +08:00
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
import 'package:get/get.dart';
|
|
|
|
|
|
import 'package:star_lock/login/login/entity/LoginData.dart';
|
2024-01-23 17:48:06 +08:00
|
|
|
|
import 'package:star_lock/login/selectCountryRegion/common/index.dart';
|
2023-10-09 18:45:10 +08:00
|
|
|
|
import 'package:star_lock/tools/storage.dart';
|
|
|
|
|
|
import 'package:star_lock/translations/trans_lib.dart';
|
|
|
|
|
|
|
|
|
|
|
|
class PersonInfoEditAccountState {
|
|
|
|
|
|
final TextEditingController accountController = TextEditingController();
|
|
|
|
|
|
final TextEditingController codeController = TextEditingController();
|
|
|
|
|
|
|
|
|
|
|
|
static int currentTimeMillis() {
|
|
|
|
|
|
return DateTime.now().millisecondsSinceEpoch;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var countryCode = '+86'.obs;
|
|
|
|
|
|
var countryId = '9'.obs;
|
2023-10-11 18:24:52 +08:00
|
|
|
|
var codeType = '3'.obs; ////1注册,2找回密码,3绑定手机号,4解绑手机(换绑),5删除账号,6 绑定邮箱,7解绑邮箱(换绑)
|
2023-10-09 18:45:10 +08:00
|
|
|
|
var channel = '1'.obs; //短信通道 1 短信,2 邮箱
|
|
|
|
|
|
var uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs;
|
|
|
|
|
|
var newAccountStr = ''.obs;
|
|
|
|
|
|
var verificationCode = ''.obs;
|
|
|
|
|
|
var xWidth = ''.obs; // 滑动验证码滑动位置
|
|
|
|
|
|
var canSub = false.obs;
|
|
|
|
|
|
var date = currentTimeMillis().toString().obs;
|
|
|
|
|
|
|
|
|
|
|
|
bool get accountIsOK => newAccountStr.value.isNotEmpty;
|
|
|
|
|
|
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 {
|
2024-01-16 15:13:43 +08:00
|
|
|
|
await Storage.setString(saveUserLoginData, jsonEncode(data));
|
2024-04-26 15:38:59 +08:00
|
|
|
|
loginData.value = data!;
|
2023-10-09 18:45:10 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
///初始化本地数据
|
|
|
|
|
|
void initLoginData() async {
|
2024-01-16 15:13:43 +08:00
|
|
|
|
final data = await Storage.getString(saveUserLoginData);
|
2023-10-09 18:45:10 +08:00
|
|
|
|
if (data != null && data.isNotEmpty) {
|
|
|
|
|
|
loginData.value = LoginData.fromJson(jsonDecode(data));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
PersonInfoEditAccountState() {
|
|
|
|
|
|
Map map = Get.arguments;
|
|
|
|
|
|
channel.value = map["isFrom"];
|
2023-10-11 18:24:52 +08:00
|
|
|
|
if (channel.value == "1") {
|
|
|
|
|
|
codeType.value = '3';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
codeType.value = '6';
|
|
|
|
|
|
}
|
2023-10-09 18:45:10 +08:00
|
|
|
|
|
|
|
|
|
|
resetResend();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void resetResend() {
|
|
|
|
|
|
canResend.value = totalSeconds == currentSecond;
|
|
|
|
|
|
btnText.value = !canResend.value
|
|
|
|
|
|
? '$currentSecond s'
|
|
|
|
|
|
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void onClose() {}
|
|
|
|
|
|
}
|