From 31e3250cec4435a37076abe452eb0bc03db1e4d1 Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Wed, 13 Dec 2023 17:42:08 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=97=A5=E6=9C=9F=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=202=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=B1=BB=E5=9E=8B=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E5=AF=BC=E8=87=B4=E7=9A=84=E7=94=B5=E5=AD=90?= =?UTF-8?q?=E9=92=A5=E5=8C=99=E7=82=B9=E5=87=BB=E6=97=A0=E6=B3=95=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorizedAdmin_entity.dart | 13 ++-- .../sendElectronicKey_logic.dart | 4 +- .../sendElectronicKey_page.dart | 17 +++-- .../passwordKey_perpetual_logic.dart | 4 +- .../passwordKey_perpetual_page.dart | 69 +++++++++++++++---- 5 files changed, 78 insertions(+), 29 deletions(-) diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart index 9761cefb..fd9a1ad7 100644 --- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart +++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart @@ -27,7 +27,7 @@ class AuthorizedAdminSendEntity { } class Data { - int? receiverUid; + String? receiverUid; ReceiverUser? receiverUser; int? keyId; @@ -149,15 +149,16 @@ class Phone { class Cloud { String? username; String? password; - int? cloudUid; + // String? cloudUid; int? userId; String? updatedAt; String? createdAt; int? id; - Cloud({this.username, + Cloud( + {this.username, this.password, - this.cloudUid, + // this.cloudUid, this.userId, this.updatedAt, this.createdAt, @@ -166,7 +167,7 @@ class Cloud { Cloud.fromJson(Map json) { username = json['username']; password = json['password']; - cloudUid = json['cloud_uid']; + // cloudUid = json['cloud_uid']; userId = json['user_id']; updatedAt = json['updated_at']; createdAt = json['created_at']; @@ -177,7 +178,7 @@ class Cloud { final Map data = {}; data['username'] = username; data['password'] = password; - data['cloud_uid'] = cloudUid; + // data['cloud_uid'] = cloudUid; data['user_id'] = userId; data['updated_at'] = updatedAt; data['created_at'] = createdAt; diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_logic.dart index 44c18665..65e4e191 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_logic.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_logic.dart @@ -1,13 +1,11 @@ import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; -import 'package:get/get_utils/get_utils.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_state.dart'; import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/tools/baseGetXController.dart'; -import 'package:star_lock/tools/toast.dart'; import 'package:star_lock/translations/trans_lib.dart'; class SendElectronicKeyLogic extends BaseGetXController { @@ -43,7 +41,7 @@ class SendElectronicKeyLogic extends BaseGetXController { String getKeyType = typeValue.toString(); var entity = await ApiRepository.to.sendElectronicKey( - createUser: state.isCreateUser.value ? "1" : "0", + createUser: state.isCreateUser.value == true ? "1" : "0", countryCode: state.countryCode.value, usernameType: isPhoneNumber(state.emailOrPhoneController.text) == true ? '1' diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart index 6c7e22e3..91dc8ad0 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart @@ -31,10 +31,17 @@ class _SendElectronicKeyPageState extends State { final logic = Get.put(SendElectronicKeyLogic()); final state = Get.find().state; static const methodChannel = MethodChannel('talkPlugin'); + bool isDemoMode = false; @override - void initState() { + initState() { super.initState(); + + getDemoMode(); + } + + Future getDemoMode() async { + isDemoMode = (await Storage.getBool(ifIsDemoModeOrNot))!; } @override @@ -260,9 +267,7 @@ class _SendElectronicKeyPageState extends State { ), SubmitBtn( btnName: TranslationLoader.lanKeys!.send!.tr, - onClick: () async { - // 获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + onClick: () { if (isDemoMode == false) { //发送钥匙请求 if (state.emailOrPhoneController.text.isNotEmpty && @@ -283,6 +288,7 @@ class _SendElectronicKeyPageState extends State { Toast.show(msg: '请完善信息'); } } else { + //演示模式不获取接口 Toast.show(msg: '演示模式'); } }), @@ -293,9 +299,8 @@ class _SendElectronicKeyPageState extends State { mainAxisAlignment: MainAxisAlignment.end, children: [ TextButton( - onPressed: () async { + onPressed: () { // 获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); if (isDemoMode == false) { Navigator.pushNamed( context, Routers.massSendElectronicKeyManagePage); diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart index 8fcf87ad..d761dbc1 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_logic.dart @@ -54,7 +54,9 @@ class PasswordKeyPerpetualLogic extends BaseGetXController { //自定义 } else if (passwordType == 4) { //循环 - if (state.loopModeStr.value == '每日') { + if (state.loopModeStr.value == '周末') { + getKeyType = '5'; + } else if (state.loopModeStr.value == '每日') { getKeyType = '6'; } else if (state.loopModeStr.value == '工作日') { getKeyType = '7'; diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart index e8757112..0b65cdfb 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart @@ -290,13 +290,32 @@ class _PasswordKeyPerpetualPageState extends State { isHaveLine: true, isHaveDirection: true, action: () { + // Pickers.showDatePicker(context, mode: DateMode.H, onConfirm: (p) { + // state.effectiveDateTime.value = DateTime.parse( + // '${p.year}-${intToStr(p.month!)}-${intToStr(p.day!)} ${intToStr(p.hour!)}'); + // state.loopEffectiveDate.value = + // "${formatDate(state.effectiveDateTime.value, [HH])}:00"; + // state.loopStartHours.value = p.hour!; + // state.selectEffectiveDate.value = state.loopEffectiveDate.value; + // }); Pickers.showDatePicker(context, mode: DateMode.H, onConfirm: (p) { - state.effectiveDateTime.value = - DateTime.parse('${intToStr(p.hour!)}:00'); - state.loopEffectiveDate.value = - "${formatDate(state.effectiveDateTime.value, [HH])}:00"; - state.loopStartHours.value = p.hour!; - state.selectEffectiveDate.value = state.loopEffectiveDate.value; + DateTime selectedDateTime = DateTime( + p.year!, + p.month!, + p.day!, + p.hour!, + ); + + if (isValidDateTime(selectedDateTime)) { + state.effectiveDateTime.value = selectedDateTime; + state.loopEffectiveDate.value = + "${formatDate(state.effectiveDateTime.value, [HH])}:00"; + state.loopStartHours.value = p.hour!; + state.selectEffectiveDate.value = + state.loopEffectiveDate.value; + } else { + // 处理日期不合法的情况,可以使用默认值或者其他策略 + } }); }), CommonItem( @@ -304,19 +323,43 @@ class _PasswordKeyPerpetualPageState extends State { rightTitle: state.loopFailureDate.value, isHaveDirection: true, action: () { + // Pickers.showDatePicker(context, mode: DateMode.H, onConfirm: (p) { + // state.failureDateTime.value = DateTime.parse( + // '${p.year}-${intToStr(p.month!)}-${intToStr(p.day!)} ${intToStr(p.hour!)}'); + // state.loopFailureDate.value = + // "${formatDate(state.failureDateTime.value, [HH])}:00"; + // state.loopEndHours.value = p.hour!; + // state.selectFailureDate.value = state.loopFailureDate.value; + // }); Pickers.showDatePicker(context, mode: DateMode.H, onConfirm: (p) { - state.failureDateTime.value = - DateTime.parse('${intToStr(p.hour!)}:00'); - state.loopEffectiveDate.value = - "${formatDate(state.failureDateTime.value, [HH])}:00"; - state.loopEndHours.value = p.hour!; - state.selectFailureDate.value = state.loopFailureDate.value; + DateTime selectedDateTime = DateTime( + p.year!, + p.month!, + p.day!, + p.hour!, + ); + + if (isValidDateTime(selectedDateTime)) { + state.failureDateTime.value = selectedDateTime; + state.loopFailureDate.value = + "${formatDate(state.failureDateTime.value, [HH])}:00"; + state.loopEndHours.value = p.hour!; + state.selectFailureDate.value = state.loopFailureDate.value; + } else { + // 处理日期不合法的情况,可以使用默认值或者其他策略 + } }); }), ], ); } + bool isValidDateTime(DateTime dateTime) { + // 在这里添加日期时间合法性检查的逻辑 + // 如果日期时间合法,返回 true,否则返回 false + return true; // 这里先简单返回 true,实际应用中需要根据具体需求来实现 + } + //底部选择pickerView showPickerView(BuildContext context, List dataList) { Pickers.showSinglePicker(context, @@ -358,7 +401,7 @@ class _PasswordKeyPerpetualPageState extends State { } //限时||循环 - if (getWidgetNumber == 1 || getWidgetNumber == 4) { + if (getWidgetNumber == 1) { if (state.failureDateTime.value .compareTo(state.effectiveDateTime.value) != 1) {