2024-04-26 15:38:59 +08:00

72 lines
2.2 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:star_lock/login/login/entity/LoginData.dart';
import 'package:star_lock/login/selectCountryRegion/common/index.dart';
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;
var codeType = '3'.obs; ////1注册2找回密码3绑定手机号4解绑手机换绑5删除账号6 绑定邮箱7解绑邮箱换绑
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 {
await Storage.setString(saveUserLoginData, jsonEncode(data));
loginData.value = data!;
}
///初始化本地数据
void initLoginData() async {
final data = await Storage.getString(saveUserLoginData);
if (data != null && data.isNotEmpty) {
loginData.value = LoginData.fromJson(jsonDecode(data));
}
}
PersonInfoEditAccountState() {
Map map = Get.arguments;
channel.value = map["isFrom"];
if (channel.value == "1") {
codeType.value = '3';
} else {
codeType.value = '6';
}
resetResend();
}
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
}
void onClose() {}
}