1,新增发送钥匙逻辑判断

2,新增发送钥匙国家/地区选择
This commit is contained in:
Daisy 2023-08-23 17:08:49 +08:00
parent 0de13dd926
commit 8b426ade6c
5 changed files with 52 additions and 24 deletions

View File

@ -140,7 +140,6 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
SizedBox(height: 60.h), SizedBox(height: 60.h),
GestureDetector( GestureDetector(
onTap: () async { onTap: () async {
// Navigator.pushNamed(context, Routers.seletCountryRegionPage);
var result = await Navigator.pushNamed( var result = await Navigator.pushNamed(
context, Routers.seletCountryRegionPage); context, Routers.seletCountryRegionPage);
result as Map<String, dynamic>; result as Map<String, dynamic>;

View File

@ -10,7 +10,7 @@ class StarLockRegisterState {
final TextEditingController sureController = TextEditingController(); final TextEditingController sureController = TextEditingController();
final TextEditingController codeController = TextEditingController(); final TextEditingController codeController = TextEditingController();
var countryCode = '+86'.obs; var countryCode = '86'.obs;
var countryId = '1'.obs; var countryId = '1'.obs;
var countryName = '中国'.obs; var countryName = '中国'.obs;
var phoneOrEmailStr = ''.obs; var phoneOrEmailStr = ''.obs;

View File

@ -27,9 +27,8 @@ class _SeletCountryRegionPageState extends State<SeletCountryRegionPage> {
SuspensionUtil.setShowSuspensionStatus( SuspensionUtil.setShowSuspensionStatus(
countriesList.cast<ISuspensionBean>()); countriesList.cast<ISuspensionBean>());
Future.delayed(const Duration(milliseconds: 500), () { Future.delayed(const Duration(milliseconds: 20), () {
getCountriesListRequest(); getCountriesListRequest();
// loadData();
}); });
} }

View File

@ -1,3 +1,4 @@
import 'package:date_format/date_format.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_pickers/pickers.dart'; import 'package:flutter_pickers/pickers.dart';
@ -34,21 +35,27 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
bool _isRemoteUnlock = false; // bool _isRemoteUnlock = false; //
bool _isAuthentication = false; // bool _isAuthentication = false; //
String _selectEffectiveDate = ''; // String _selectEffectiveDate = ''; //
late DateTime _effectiveDateTime;
late DateTime _failureDateTime;
String _selectFailureDate = ''; // String _selectFailureDate = ''; //
TextEditingController emailOrPhoneController = TextEditingController emailOrPhoneController =
TextEditingController(); /// TextEditingController(); ///
TextEditingController keyNameController = TextEditingController(); // TextEditingController keyNameController = TextEditingController(); //
late bool _isSendSuccess; late bool _isSendSuccess;
String countryName = '中国';
String countryCode = '86';
@override @override
void initState() { void initState() {
super.initState(); super.initState();
DateTime dateTime = DateTime.now(); DateTime dateTime = DateTime.now();
_selectEffectiveDate = _effectiveDateTime = dateTime;
'${dateTime.year}-${dateTime.month}-${dateTime.day} ${dateTime.hour}:${dateTime.minute}'; // _failureDateTime = dateTime;
_selectFailureDate = _selectEffectiveDate = formatDate(
'${dateTime.year}-${dateTime.month}-${dateTime.day} ${dateTime.hour}:${dateTime.minute}'; // dateTime, [yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]); //
_selectFailureDate = formatDate(
dateTime, [yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]); //
_isSendSuccess = false; _isSendSuccess = false;
} }
@ -136,6 +143,27 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: getTFWidget(true, rightWidget: getTFWidget(true,
TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr, 1)), TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr, 1)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
isHaveDirection: true,
rightWidget: Text(
'$countryName +$countryCode',
textAlign: TextAlign.end,
style:
TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor),
),
action: () async {
var result = await Navigator.pushNamed(
context, Routers.seletCountryRegionPage);
result as Map<String, dynamic>;
countryCode = result['code'];
countryName = result['countryName'];
setState(() {});
},
),
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr, leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "", rightTitle: "",
@ -160,8 +188,10 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
Pickers.showDatePicker(context, mode: DateMode.YMDHM, Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) { onConfirm: (p) {
setState(() { setState(() {
_selectEffectiveDate = _effectiveDateTime = DateTime.parse(
'${p.year}-${p.month}-${p.day} ${p.hour}:${p.minute}'; '${p.year}-${intToStr(p.month!)}-${intToStr(p.day!)} ${intToStr(p.hour!)}:${intToStr(p.minute!)}');
_selectEffectiveDate = formatDate(_effectiveDateTime,
[yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]);
}); });
}); });
}), }),
@ -173,8 +203,10 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
Pickers.showDatePicker(context, mode: DateMode.YMDHM, Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) { onConfirm: (p) {
setState(() { setState(() {
_selectFailureDate = _failureDateTime = DateTime.parse(
'${p.year}-${p.month}-${p.day} ${p.hour}:${p.minute}'; '${p.year}-${intToStr(p.month!)}-${intToStr(p.day!)} ${intToStr(p.hour!)}:${intToStr(p.minute!)}');
_selectFailureDate = formatDate(_failureDateTime,
[yyyy, '-', mm, '-', dd, ' ', HH, ':', nn]);
}); });
}); });
}), }),
@ -242,7 +274,14 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
// //
if (emailOrPhoneController.text.isNotEmpty && if (emailOrPhoneController.text.isNotEmpty &&
keyNameController.text.isNotEmpty) { keyNameController.text.isNotEmpty) {
sendElectronicKeyRequest(); //
if (_failureDateTime.compareTo(_effectiveDateTime) == 1) {
sendElectronicKeyRequest();
} else {
Toast.show(msg: '失效时间需大于生效时间');
}
} else {
Toast.show(msg: '请完善信息');
} }
}), }),
Container( Container(
@ -283,7 +322,7 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
} }
var entity = await ApiRepository.to.sendElectronicKey( var entity = await ApiRepository.to.sendElectronicKey(
'0', '0',
'0', countryCode,
'1', '1',
getFailureDateTime, getFailureDateTime,
_isAuthentication == true ? '1' : '2', _isAuthentication == true ? '1' : '2',
@ -306,16 +345,6 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
} }
} }
///
static int dateToTimestamp(String date, {isMicroseconds = false}) {
DateTime dateTime = DateTime.parse(date);
int timestamp = dateTime.millisecondsSinceEpoch;
if (isMicroseconds) {
timestamp = dateTime.microsecondsSinceEpoch;
}
return timestamp;
}
// //
Widget sendElectronicKeySucceed() { Widget sendElectronicKeySucceed() {
return Column( return Column(

View File

@ -87,6 +87,7 @@ dependencies:
#加密解密 #加密解密
encrypt: ^5.0.1 encrypt: ^5.0.1
crypto: ^3.0.3 crypto: ^3.0.3
date_format: ^2.0.7
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: