Daisy 809096a11b 1,新增删除账号页面及相应接口和逻辑
2,新增免滑动验证码的验证码请求接口
3,新增更新个人信息-昵称接口
4,新增修改账号接口及逻辑
5,新增绑定邮箱接口及逻辑
6,新增修改密码接口
2023-10-09 18:45:10 +08:00

69 lines
2.1 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/seletCountryRegion/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 绑定邮箱
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 {
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));
}
}
PersonInfoEditAccountState() {
Map map = Get.arguments;
channel.value = map["isFrom"];
resetResend();
}
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
}
void onClose() {}
}