Merge branch 'master' of gitee.com:starlock-cn/app-starlock

This commit is contained in:
Daisy 2024-03-21 11:37:07 +08:00
commit f666484cc7
34 changed files with 266 additions and 318 deletions

View File

@ -66,24 +66,28 @@ android {
applicationId "com.starlock.lock.dev"
signingConfig signingConfigs.pre
resValue "string", "app_name", "星锁-dev"
manifestPlaceholders.JPUSH_PKGNAME = "com.starlock.lock.dev"
}
pre {
dimension "flavor-type"
applicationId "com.starlock.lock.pre"
signingConfig signingConfigs.pre
resValue "string", "app_name", "星锁"
manifestPlaceholders.JPUSH_PKGNAME = "com.starlock.lock.pre"
}
sky {
dimension "flavor-type"
applicationId "com.skychip.lock"
signingConfig signingConfigs.sky
resValue "string", "app_name", "锁通通"
manifestPlaceholders.JPUSH_PKGNAME = "com.skychip.lock"
}
xhj {
dimension "flavor-type"
applicationId "com.xhjcn.lock"
signingConfig signingConfigs.xhj
resValue "string", "app_name", "鑫锁"
manifestPlaceholders.JPUSH_PKGNAME = "com.xhjcn.lock"
}
}
@ -130,7 +134,7 @@ android {
}
manifestPlaceholders = [
JPUSH_PKGNAME : "com.skychip.lock",
JPUSH_PKGNAME : "这里不重要,在口味配置",
//JPush Appkey.
JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",
//.

View File

@ -13,9 +13,6 @@ PODS:
- AlicloudUTDID (1.5.0.94)
- AlicloudUtils (1.4.1):
- AlicloudUTDID
- aliyun_push (0.0.1):
- AlicloudPush
- Flutter
- AMap3DMap (9.7.0):
- AMapFoundation (>= 1.8.0)
- amap_flutter_location (0.0.1):
@ -46,21 +43,20 @@ PODS:
- Flutter
- EMASRest (11.1.1.2)
- Flutter (1.0.0)
- flutter_blue_plus (0.0.1):
- Flutter
- flutter_local_notifications (0.0.1):
- Flutter
- flutter_native_contact_picker (0.0.1):
- Flutter
- flutter_pcm_sound (0.0.1):
- Flutter
- flutter_voice_processor (1.1.0):
- flutter_voice_processor (1.1.1):
- Flutter
- ios-voice-processor (~> 1.1.0)
- fluttertoast (0.0.2):
- Flutter
- Toast
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- g711_flutter (0.0.1):
- Flutter
- google_maps_flutter_ios (0.0.1):
@ -76,6 +72,13 @@ PODS:
- image_picker_ios (0.0.1):
- Flutter
- ios-voice-processor (1.1.0)
- JCore (4.4.0)
- JPush (5.2.0):
- JCore (>= 2.0.0)
- jpush_flutter (0.0.2):
- Flutter
- JCore (= 4.4.0)
- JPush (= 5.2.0)
- just_audio (0.0.1):
- Flutter
- network_info_plus (0.0.1):
@ -87,19 +90,13 @@ PODS:
- FlutterMacOS
- permission_handler_apple (9.1.1):
- Flutter
- Protobuf (3.25.1)
- ReachabilitySwift (5.0.0)
- reactive_ble_mobile (0.0.1):
- Flutter
- Protobuf (~> 3.5)
- SwiftProtobuf (~> 1.0)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- sqflite (0.0.3):
- Flutter
- FMDB (>= 2.7.5)
- SwiftProtobuf (1.25.2)
- FlutterMacOS
- system_settings (0.0.1):
- Flutter
- Toast (4.0.0)
@ -114,7 +111,6 @@ PODS:
DEPENDENCIES:
- aj_captcha_flutter (from `.symlinks/plugins/aj_captcha_flutter/ios`)
- AlicloudPush (~> 1.9.9)
- aliyun_push (from `.symlinks/plugins/aliyun_push/ios`)
- amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`)
- amap_flutter_map (from `.symlinks/plugins/amap_flutter_map/ios`)
- app_settings (from `.symlinks/plugins/app_settings/ios`)
@ -126,6 +122,7 @@ DEPENDENCIES:
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- Flutter (from `Flutter`)
- flutter_blue_plus (from `.symlinks/plugins/flutter_blue_plus/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_native_contact_picker (from `.symlinks/plugins/flutter_native_contact_picker/ios`)
- flutter_pcm_sound (from `.symlinks/plugins/flutter_pcm_sound/ios`)
@ -135,14 +132,15 @@ DEPENDENCIES:
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- JPush
- jpush_flutter (from `.symlinks/plugins/jpush_flutter/ios`)
- just_audio (from `.symlinks/plugins/just_audio/ios`)
- network_info_plus (from `.symlinks/plugins/network_info_plus/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- reactive_ble_mobile (from `.symlinks/plugins/reactive_ble_mobile/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
- system_settings (from `.symlinks/plugins/system_settings/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
@ -160,19 +158,16 @@ SPEC REPOS:
- AMap3DMap
- AMapFoundation
- AMapLocation
- FMDB
- GoogleMaps
- ios-voice-processor
- Protobuf
- JCore
- JPush
- ReachabilitySwift
- SwiftProtobuf
- Toast
EXTERNAL SOURCES:
aj_captcha_flutter:
:path: ".symlinks/plugins/aj_captcha_flutter/ios"
aliyun_push:
:path: ".symlinks/plugins/aliyun_push/ios"
amap_flutter_location:
:path: ".symlinks/plugins/amap_flutter_location/ios"
amap_flutter_map:
@ -195,6 +190,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/device_info_plus/ios"
Flutter:
:path: Flutter
flutter_blue_plus:
:path: ".symlinks/plugins/flutter_blue_plus/ios"
flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_native_contact_picker:
@ -213,6 +210,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/image_gallery_saver/ios"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
jpush_flutter:
:path: ".symlinks/plugins/jpush_flutter/ios"
just_audio:
:path: ".symlinks/plugins/just_audio/ios"
network_info_plus:
@ -223,12 +222,10 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
reactive_ble_mobile:
:path: ".symlinks/plugins/reactive_ble_mobile/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
:path: ".symlinks/plugins/sqflite/darwin"
system_settings:
:path: ".symlinks/plugins/system_settings/ios"
url_launcher_ios:
@ -245,7 +242,6 @@ SPEC CHECKSUMS:
AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338
AlicloudUTDID: 7323c443dcdf9a73e2224dc6ce51703671d7a765
AlicloudUtils: 873a76615bebcee8b1996f20820d366e433c3eab
aliyun_push: e92c2a8ca91b134bfabf7631816cce5f36e04a44
AMap3DMap: dce25dd3e51e6b92109caa7d0c97fc6055830fb3
amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f
amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a
@ -261,35 +257,35 @@ SPEC CHECKSUMS:
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_blue_plus: 4837da7d00cf5d441fdd6635b3a57f936778ea96
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907
flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e
flutter_voice_processor: 53afbf59ad3feb82f4a379fea9ed8dc98495210f
flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82
fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
g711_flutter: 8f2769052d2cf3549f83d11e1c42d81d94441123
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4
image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
ios-voice-processor: 8e32d7f980a06d392d128ef1cd19cf6ddcaca3c1
JCore: 05f0f3489672ea3fa55338bae4866224bc092b1f
JPush: 76668b765fcfd7c15f86b05ca0e5cdc01945ce23
jpush_flutter: 1f436f1a02db5c5ef9e9b42378f557096ccd328b
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
network_info_plus: 6d0c3eb8367b8164fa3fb0c19875e3f59d49697f
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
Protobuf: d94761c33f1239c0a43a0817ca1a5f7f7c900241
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
reactive_ble_mobile: 9ce6723d37ccf701dbffd202d487f23f5de03b4c
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
sqflite: 50a33e1d72bd59ee092a519a35d107502757ebed
SwiftProtobuf: 407a385e97fd206c4fbe880cc84123989167e0d1
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579
webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4
PODFILE CHECKSUM: 8406bb0e8f1c4b5dff3955810b207d90193914a0
PODFILE CHECKSUM: 317f9473a5705c6fe4d79d95e81676f248048fdc
COCOAPODS: 1.14.3

View File

@ -695,6 +695,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D28DFC3BEA6D46B5F5B5E55F /* Pods-Runner.debug-dev.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 7D53BZAN75;
@ -711,6 +712,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 6285D102821F3D2FB7B09E43 /* Pods-Runner.profile-dev.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -724,6 +726,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 295A8AFEEC4806105FAA13B5 /* Pods-Runner.release-dev.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -737,6 +740,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 51086737647B9B5E510020C6 /* Pods-Runner.debug-pre.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -750,6 +754,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D001CDA3D7BF065A0C6E3B64 /* Pods-Runner.profile-pre.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -763,6 +768,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 68C41ACED6A779BAAA0A51A7 /* Pods-Runner.release-pre.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -776,6 +782,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 4A63B2C308CB401731950EC8 /* Pods-Runner.debug-sky.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = NAQ5PL2DYC;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -789,6 +796,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 8CD96970DEA44F6CC71DEECE /* Pods-Runner.profile-sky.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = NAQ5PL2DYC;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -802,6 +810,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 16A83D21DFB231D8453DC681 /* Pods-Runner.release-sky.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = NAQ5PL2DYC;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -815,6 +824,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 22D858E988707FF26E068457 /* Pods-Runner.debug-xhj.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -828,6 +838,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D62237D2D011BDC27FB2BC28 /* Pods-Runner.profile-xhj.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
@ -841,6 +852,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = CDC2B8ED804B514A774F187D /* Pods-Runner.release-xhj.xcconfig */;
buildSettings = {
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
DEVELOPMENT_TEAM = 7D53BZAN75;
PRODUCT_NAME = Runner;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";

View File

@ -27,7 +27,6 @@ import 'package:star_lock/mine/about/webviewShow_page.dart';
import 'package:star_lock/mine/mine/safeVerify/safeVerify_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart';
import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/adminDetailChangeDate_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/administratorDetails_page.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList/lockGroupList_page.dart';
@ -163,6 +162,7 @@ import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetwor
import 'mine/mineSet/authorityManagement/authorityManagement_page.dart';
import 'mine/mineSet/authorityManagement/getDeviceList_page.dart';
import 'mine/mineSet/authorityManagement/getNameList_page.dart';
import 'mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart';
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
import 'mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart';
import 'mine/mineSet/lockGroup/lockGroupDetailList/lockItemList_page.dart';
@ -180,7 +180,7 @@ import 'mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedS
import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRealName_page.dart';
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart';
import 'mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdministratorList_page.dart';
import 'starLockApplication/starLockApplication.dart';
abstract class Routers {

View File

@ -12,7 +12,6 @@ import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/EasyRefreshTool.dart';
import '../../../../tools/keySearchWidget.dart';
import '../../../../tools/left_slide_actions.dart';
import '../../../../tools/showIosTipView.dart';
import '../../../../tools/submitBtn.dart';
import '../../../../tools/titleAppBar.dart';
@ -198,29 +197,6 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
));
}
Widget _buildDeleteBtn(String keyId) {
return GestureDetector(
onTap: () {
// :
showIosTipViewDialog(context, keyId);
},
child: Container(
width: 60,
color: const Color(0xFFF20101),
alignment: Alignment.center,
child: const Text(
'删除',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: Colors.white,
height: 1,
),
),
),
);
}
void showIosTipViewDialog(BuildContext context, String keyId) {
showDialog(
context: context,
@ -291,7 +267,6 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
//
keyStatus = '已过期';
}
return keyStatus;
}

View File

@ -1,7 +1,6 @@
import 'dart:async';
import 'dart:io';
// import 'package:flutter_reactive_ble/flutter_reactive_ble.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';

View File

@ -2,7 +2,6 @@ import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
@ -15,7 +14,6 @@ import '../../../common/XSConstantMacro/XSConstantMacro.dart';
import '../../../tools/appRouteObserver.dart';
import '../../../tools/dateTool.dart';
import '../../../tools/eventBusEventManage.dart';
import '../../../tools/jh_pop_menus.dart';
import '../../../tools/storage.dart';
import '../../../translations/trans_lib.dart';
import '../../lockMian/entity/lockListInfo_entity.dart';

View File

@ -312,7 +312,6 @@ class LockSetLogic extends BaseGetXController {
showEasyLoading();
showBlueConnetctToastTimer(isShowBlueConnetctToast: false, action: (){
dismissEasyLoading();
print("333333");
showDeletAlertTipDialog();
});
BlueManage().bludSendData(BlueManage().connectDeviceName, (BluetoothConnectionState connectionState) async {
@ -337,7 +336,6 @@ class LockSetLogic extends BaseGetXController {
} else if (connectionState == BluetoothConnectionState.disconnected) {
dismissEasyLoading();
cancelBlueConnetctToastTimer();
print("444444");
if(state.ifCurrentScreen.value == true){
showDeletAlertTipDialog();
}
@ -440,7 +438,6 @@ class LockSetLogic extends BaseGetXController {
state.isOpenBlueBroadcast.value = state.lockSettingInfo.value.bluetoothBroadcast!;
state.isOpenExceptionWarnings.value = state.lockSettingInfo.value.bluetoothBroadcast!;
Get.log('请求成功333');
// await _readSupportFunctionsNoParameters(56);
// _readSupportFunctionsNoParameters(62);
}
@ -470,7 +467,7 @@ class LockSetLogic extends BaseGetXController {
eventBus.fire(RefreshLockListInfoDataEvent());
eventBus.fire(LockSetChangeSetRefreshLockDetailWithType(0, state.lockSettingInfo.value.attendance!.toString()));
});
print("state.lockSettingInfo.value.attendance:${state.lockSettingInfo.value.attendance}");
// print("state.lockSettingInfo.value.attendance:${state.lockSettingInfo.value.attendance}");
}
}
@ -502,7 +499,7 @@ class LockSetLogic extends BaseGetXController {
showToast("设置成功",something: (){
eventBus.fire(LockSetChangeSetRefreshLockDetailWithType(1, state.lockSettingInfo.value.appUnlockOnline!.toString()));
eventBus.fire(RefreshLockListInfoDataEvent());
print("state.lockSettingInfo.value.appUnlockOnline:${state.lockSettingInfo.value.appUnlockOnline}");
// print("state.lockSettingInfo.value.appUnlockOnline:${state.lockSettingInfo.value.appUnlockOnline}");
});
}
}
@ -844,7 +841,7 @@ class LockSetLogic extends BaseGetXController {
});
}else{
Future.delayed(const Duration(milliseconds: 200)).then((e) {
Get.back();
Get.close(2);
});
}
}

View File

@ -550,18 +550,18 @@ class _LockSetPageState extends State<LockSetPage> with RouteAware {
// ),
// Obx(() =>
//
Visibility(
visible: true,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.diagnose!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.diagnosePage, arguments: {
'lockSetInfoData': state.lockSetInfoData.value
});
})),
// Visibility(
// visible: true,
// child: CommonItem(
// leftTitel: TranslationLoader.lanKeys!.diagnose!.tr,
// rightTitle: "",
// isHaveLine: true,
// isHaveDirection: true,
// action: () {
// Get.toNamed(Routers.diagnosePage, arguments: {
// 'lockSetInfoData': state.lockSetInfoData.value
// });
// })),
// ),
// Obx(() =>
//

View File

@ -111,6 +111,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
Permission.location,
].request();
print("statuses:$statuses");
//granted denied permanentlyDenied
if (statuses[Permission.bluetoothScan]!.isGranted &&
statuses[Permission.bluetoothConnect]!.isGranted &&

View File

@ -50,12 +50,10 @@ class _SelectLockTypePageState extends State<SelectLockTypePage>
lockTypeItem('images/lockType/lockType_NFCLock.png',
TranslationLoader.lanKeys!.NFCPassiveLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage);
getNearByLimits();
}),
lockTypeItem('images/lockType/lockType_padlock.png',
TranslationLoader.lanKeys!.padlock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage);
getNearByLimits();
}),
lockTypeItem('images/lockType/lockType_safeLock.png',
TranslationLoader.lanKeys!.safeLock!.tr, () {
@ -81,12 +79,10 @@ class _SelectLockTypePageState extends State<SelectLockTypePage>
lockTypeItem('images/lockType/lockType_gatewayLock.png',
TranslationLoader.lanKeys!.gateway!.tr, () {
// Navigator.pushNamed(context, Routers.gatewayListPage);
getNearByLimits();
}),
lockTypeItem('images/lockType/lockType_camera.png', '网络摄像头',
() {
// Navigator.pushNamed(context, Routers.gatewayListPage);
getNearByLimits();
}),
],
),
@ -185,67 +181,6 @@ class _SelectLockTypePageState extends State<SelectLockTypePage>
);
}
//
void getNearByLimits() {
if (Platform.isIOS) {
Navigator.pushNamed(context, Routers.nearbyLockPage);
} else {
positionPermissionAlert();
// getMicrophonePermission().then((value) {
// if (value) {
// //
// Navigator.pushNamed(context, Routers.nearbyLockPage);
// } else {
// //
// openAppSettings(); //app系统设置
// }
// });
}
}
///
Future<bool> getMicrophonePermission() async {
// You can request multiple permissions at once.
Map<Permission, PermissionStatus> statuses = await [
Permission.bluetoothScan,
Permission.bluetoothConnect,
Permission.location,
].request();
//granted denied permanentlyDenied
if (statuses[Permission.bluetoothScan]!.isGranted &&
statuses[Permission.bluetoothConnect]!.isGranted &&
statuses[Permission.location]!.isGranted) {
return true;
}
return false;
}
Future<void> positionPermissionAlert() async {
//
if (Platform.isAndroid) {
AppFirstEnterHandle().getAppFirstEnter(context, isAgreePosition);
var getFlag = await Storage.getString(isAgreePosition);
if (getFlag == isAgreePosition) {
onPermissionPush();
}
} else {
onPermissionPush();
}
}
void onPermissionPush() {
getMicrophonePermission().then((value) {
if (value) {
//
Navigator.pushNamed(context, Routers.nearbyLockPage);
} else {
//
openAppSettings(); //app系统设置
}
});
}
void onShow() {}
void onHide() {}

View File

@ -1,14 +1,14 @@
import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/AddAuthorizedAdministrator_state.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/translations/trans_lib.dart';
import 'addAuthorizedAdministrator_state.dart';
class AddAuthorizedAdministratorLogic extends BaseGetXController {
final AddAuthorizedAdministratorState state =
AddAuthorizedAdministratorState();
AddAuthorizedAdministratorState state = AddAuthorizedAdministratorState();
//
Future<void> addAuthorizedAdminRequest() async {

View File

@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -23,9 +24,7 @@ class AddAuthorizedAdministratorPage extends StatefulWidget {
}
}
class _AddAuthorizedAdministratorPageState
extends State<AddAuthorizedAdministratorPage>
with SingleTickerProviderStateMixin {
class _AddAuthorizedAdministratorPageState extends State<AddAuthorizedAdministratorPage> with SingleTickerProviderStateMixin {
final logic = Get.put(AddAuthorizedAdministratorLogic());
final state = Get.find<AddAuthorizedAdministratorLogic>().state;
@ -244,25 +243,32 @@ class _AddAuthorizedAdministratorPageState
Widget getTFWidget(
bool isHaveBtn, String tfStr, TextEditingController editController) {
return SizedBox(
height: 50.h,
height: 65.h,
width: 300.w,
child: Row(
children: [
Expanded(
child: TextField(
controller: editController,
//
maxLines: 1,
// controller: _controller,
autofocus: false,
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.deny('\n'),
LengthLimitingTextInputFormatter(18),
],
style: TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor),
controller: editController,
// autofocus: false,
textAlign: TextAlign.end,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
// contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
hintText: tfStr,
hintStyle: TextStyle(fontSize: 22.sp),
//线
border: InputBorder.none,
focusedBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
disabledBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
enabledBorder: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
border: const OutlineInputBorder(borderSide: BorderSide(width: 0, color: Colors.transparent)),
contentPadding: const EdgeInsets.symmetric(vertical: 0),
),
),
),

View File

@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:get/get.dart';
import '../../../main/lockMian/entity/lockListInfo_entity.dart';
import '../../../../main/lockMian/entity/lockListInfo_entity.dart';
class AddAuthorizedAdministratorState {
late TabController? tabController;
@ -34,7 +35,9 @@ class AddAuthorizedAdministratorState {
final keyInfo = LockListInfoItemEntity().obs;
AddAuthorizedAdministratorState() {
Map map = Get.arguments;
keyInfo.value = map["keyInfo"];
// Map map = Get.arguments;
// if ((map["keyInfo"] != null)) {
// keyInfo.value = map["keyInfo"];
// }
}
}

View File

@ -3,7 +3,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/pickers/pickers.dart';

View File

@ -9,7 +9,7 @@ import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDeta
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/jh_pop_menus.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdminListEntity.dart';
import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart';
@ -102,11 +102,11 @@ class _AdministratorDetailsPageState extends State<AdministratorDetailsPage> {
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
rightTitle: itemData.lockNum.toString(),
isHaveDirection: true,
isHaveDirection: false,
action: () {
//
Navigator.pushNamed(context, Routers.lockItemListPage,
arguments: {'lockList': lockItemList});
// Navigator.pushNamed(context, Routers.lockItemListPage,
// arguments: {'lockList': lockItemList});
}),
Container(height: 10.h),
CommonItem(

View File

@ -3,17 +3,17 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
import '../../../tools/left_slide_actions.dart';
import '../../../tools/showIosTipView.dart';
import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart';
import '../../../../../translations/trans_lib.dart';
import '../../../../tools/left_slide_actions.dart';
import '../../../../tools/showIosTipView.dart';
class AuthorizedAdministratorListPage extends StatefulWidget {
const AuthorizedAdministratorListPage({Key? key}) : super(key: key);

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';

View File

@ -10,9 +10,13 @@ class GroupEditLockLogic extends BaseGetXController {
final GroupEditLockState state = GroupEditLockState();
//
Future<void> lockGroupAddLock(List lockId) async {
Future<void> lockGroupAddLock(List lockIds) async {
if(lockIds.isEmpty){
showToast("请选择锁");
return;
}
var entity = await ApiRepository.to.lockGroupAddLock(
lockIds: lockId,
lockIds: lockIds,
groupId: state.selectGroupListItem.keyGroupId!);
if (entity.errorCode!.codeIsSuccessful) {
showToast("添加成功");
@ -23,8 +27,12 @@ class GroupEditLockLogic extends BaseGetXController {
}
//
Future<void> lockGroupDeletLock(List lockId) async {
var entity = await ApiRepository.to.lockGroupDeletLock(lockIds: lockId);
Future<void> lockGroupDeletLock(List lockIds) async {
if(lockIds.isEmpty){
showToast("请选择锁");
return;
}
var entity = await ApiRepository.to.lockGroupDeletLock(lockIds: lockIds);
if (entity.errorCode!.codeIsSuccessful) {
showToast("删除成功");
eventBus.fire(LockGroupEditGroupLockRefreshEvent());

View File

@ -79,37 +79,37 @@ class _GroupEditLockPageState extends State<GroupEditLockPage> {
}
Widget _listItemView(LockListItem itemData) {
return Container(
color: Colors.white,
height: 80.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(width: 20.w,),
Image.asset('images/icon_lockGroup_item.png', width: 36, height: 36, fit: BoxFit.fill,),
SizedBox(width: 10.w,),
Text(
itemData.lockAlias ?? '',
style: TextStyle(fontSize: 24.sp),
),
Expanded(child: SizedBox(width: 10.w)),
GestureDetector(
child: Image.asset(
return GestureDetector(
onTap: (){
setState(() {
itemData.isChecked = !itemData.isChecked;
});
},
child: Container(
color: Colors.white,
height: 80.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(width: 20.w,),
Image.asset('images/icon_lockGroup_item.png', width: 36, height: 36, fit: BoxFit.fill,),
SizedBox(width: 10.w,),
Text(
itemData.lockAlias ?? '',
style: TextStyle(fontSize: 24.sp),
),
Expanded(child: SizedBox(width: 10.w)),
Image.asset(
itemData.isChecked
? 'images/icon_round_select.png'
: 'images/icon_round_unSelect.png',
width: 35.w,
height: 35.w,
),
onTap: (){
setState(() {
itemData.isChecked = !itemData.isChecked;
});
},
),
SizedBox(width: 30.w)
],
SizedBox(width: 30.w)
],
),
),
);
}

View File

@ -35,7 +35,7 @@ class _LockItemListPageState extends State<LockItemListPage> {
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lock!.tr,
haveBack: true,
actionsList: (lockList.isNotEmpty && groupListItem.groupType == 0) ? [
actionsList: (lockList.isNotEmpty && groupListItem.groupType != 0) ? [
IconButton(
icon: Image.asset(
'images/icon_bar_more.png',
@ -81,6 +81,7 @@ class _LockItemListPageState extends State<LockItemListPage> {
: Stack(
alignment: Alignment.center,
children: [
NoData(),
Positioned(
bottom: 350.h,
left: (ScreenUtil().screenWidth - 200.w) / 2,
@ -92,7 +93,6 @@ class _LockItemListPageState extends State<LockItemListPage> {
Get.toNamed(Routers.groupEditLockPage, arguments: {'groupListItem': groupListItem, 'ungrouped': ungrouped, 'type': 0});
},
)),
NoData(),
],
));
}

View File

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';

View File

@ -3,7 +3,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord/keyOperationRecord_entity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/tools/pickers/pickers.dart';

View File

@ -0,0 +1,39 @@
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../../network/api_repository.dart';
import 'expireLockList_entity.dart';
import 'expireLockList_state.dart';
class ExpireLockListLogic extends BaseGetXController{
ExpireLockListState state = ExpireLockListState();
//
Future<ExpireLockListEntity> expireLockListRequest() async {
ExpireLockListEntity entity = await ApiRepository.to.expireLockList(pageNo.toString(), pageSize.toString());
if(entity.errorCode!.codeIsSuccessful){
if (pageNo == 1) {
state.dataList.value = entity.data!.itemList!;
pageNo++;
} else {
if (entity.data!.itemList!.isNotEmpty) {
state.dataList.value.addAll(entity.data!.itemList!);
pageNo++;
}
}
}
return entity;
}
//使
String getExpireDateStr(ExpireLockItem itemData) {
DateTime startDateStr =
DateTime.fromMillisecondsSinceEpoch(itemData.startDate!);
DateTime endDateStr =
DateTime.fromMillisecondsSinceEpoch(itemData.endDate!);
String useDateStr =
'${startDateStr.toLocal().toString().substring(0, 10)}-${endDateStr.toLocal().toString().substring(0, 10)}';
return useDateStr;
}
}

View File

@ -1,14 +1,15 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/EasyRefreshTool.dart';
import '../../../../tools/noData.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
import 'expireLockList_logic.dart';
class ExpireLockListPage extends StatefulWidget {
const ExpireLockListPage({Key? key}) : super(key: key);
@ -18,13 +19,20 @@ class ExpireLockListPage extends StatefulWidget {
}
class _ExpireLockListPageState extends State<ExpireLockListPage> {
List<ExpireLockItem> dataList = [];
final logic = Get.put(ExpireLockListLogic());
final state = Get.find<ExpireLockListLogic>().state;
Future<void> getHttpData() async {
logic.expireLockListRequest().then((ExpireLockListEntity value){
if(mounted) setState(() {});
});
}
@override
void initState() {
super.initState();
expireLockListRequest();
getHttpData();
}
@override
@ -36,15 +44,26 @@ class _ExpireLockListPageState extends State<ExpireLockListPage> {
haveBack: true,
backgroundColor: AppColors.mainColor,
),
body: _buildMainUI(),
body: EasyRefreshTool(
onRefresh: (){
logic.pageNo = 1;
getHttpData();
},
onLoad: (){
getHttpData();
},
child: Obx(() => _buildMainUI())
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: dataList.length,
return state.dataList.isEmpty
? NoData(noDataHeight: 1.sh - ScreenUtil().statusBarHeight - ScreenUtil().bottomBarHeight - 190.h - 64.h)
: ListView.separated(
itemCount: state.dataList.length,
itemBuilder: (c, index) {
ExpireLockItem indexEntity = dataList[index];
ExpireLockItem indexEntity = state.dataList[index];
return _electronicKeyItem(indexEntity);
},
separatorBuilder: (BuildContext context, int index) {
@ -56,30 +75,6 @@ class _ExpireLockListPageState extends State<ExpireLockListPage> {
);
}
//
Future<List<ExpireLockItem>> expireLockListRequest() async {
ExpireLockListEntity entity =
await ApiRepository.to.expireLockList('0', '1', '20');
if (entity.errorCode!.codeIsSuccessful) {
setState(() {
dataList = entity.data!.itemList!;
// dataList = entity.data!;
});
}
return dataList;
}
//使
String getExpireDateStr(ExpireLockItem itemData) {
DateTime startDateStr =
DateTime.fromMillisecondsSinceEpoch(itemData.startDate!);
DateTime endDateStr =
DateTime.fromMillisecondsSinceEpoch(itemData.endDate!);
String useDateStr =
'${startDateStr.toLocal().toString().substring(0, 10)}-${endDateStr.toLocal().toString().substring(0, 10)}';
return useDateStr;
}
Widget _electronicKeyItem(ExpireLockItem itemData) {
return GestureDetector(
onTap: () {
@ -130,7 +125,7 @@ class _ExpireLockListPageState extends State<ExpireLockListPage> {
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
getExpireDateStr(itemData),
logic.getExpireDateStr(itemData),
style: TextStyle(
fontSize: 18.sp,
color: AppColors.placeholderTextColor),

View File

@ -0,0 +1,9 @@
import 'package:get/get.dart';
import 'expireLockList_entity.dart';
class ExpireLockListState{
final dataList = <ExpireLockItem>[].obs;
}

View File

@ -2,7 +2,7 @@ import 'dart:async';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_state.dart';
import 'package:star_lock/tools/storage.dart';
import '../../../../network/api_repository.dart';

View File

@ -1,17 +1,19 @@
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../../network/api_repository.dart';
import 'transferSmartLock_entity.dart';
import 'transferSmartLock_state.dart';
class TransferSmartLockLogic extends BaseGetXController{
TransferSmartLockState state = TransferSmartLockState();
//
Future<void> getTransferLockListData() async{
Future<TransferSmartLockEntity> getTransferLockListData() async{
var entity = await ApiRepository.to.getTransferLockListData();
if(entity.errorCode!.codeIsSuccessful){
state.transferSmartLockListData.value = entity.data!.list!;
}
return entity;
}
@override
@ -20,7 +22,7 @@ class TransferSmartLockLogic extends BaseGetXController{
super.onReady();
print("onReady()");
getTransferLockListData();
// getTransferLockListData();
}
@override

View File

@ -6,6 +6,8 @@ import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart';
import '../../../../../translations/trans_lib.dart';
import '../../../../tools/EasyRefreshTool.dart';
import '../../../../tools/keySearchWidget.dart';
import '../../../../tools/noData.dart';
import 'transferSmartLock_entity.dart';
import 'transferSmartLock_logic.dart';
@ -21,6 +23,19 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
final logic = Get.put(TransferSmartLockLogic());
final state = Get.find<TransferSmartLockLogic>().state;
Future<void> getHttpData() async {
logic.getTransferLockListData().then((TransferSmartLockEntity value){
setState(() {});
});
}
@override
void initState() {
super.initState();
getHttpData();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -47,67 +62,24 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
child: Text(state.isSelectAll == true ? TranslationLoader.lanKeys!.checkAll!.tr : TranslationLoader.lanKeys!.cancel!.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp)))
],
),
body: Column(
children: [
_searchWidget(),
SizedBox(height: 10.h),
Expanded(child: _buildMainUI()),
SizedBox(height: 20.h),
_buildNextBtn(),
SizedBox(height: 64.h)
],
),
);
}
Widget _searchWidget() {
return Container(
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
controller: state.searchController,
autofocus: false,
onChanged: (value){
print("onChanged:$value");
body: EasyRefreshTool(
onRefresh: (){
getHttpData();
},
onEditingComplete: (){
print("onEditingComplete:");
},
onSubmitted: (value) async {
FocusScope.of(context).requestFocus(FocusNode());
await logic.getTransferLockListData();
if(state.searchController.text.isNotEmpty){
var contrList = <TransferSmartLockItemData>[];
for (var element in state.transferSmartLockListData.value) {
if(element.lockAlias!.contains(state.searchController.text)){
contrList.add(element);
}
}
state.transferSmartLockListData.value = contrList;
print("contrList:${contrList[0].lockAlias} state.transferSmartLockListData.value:${state.transferSmartLockListData.value[0].lockAlias}");
}
},
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(
top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
child: Column(
children: [
// KeySearchWidget(
// editingController: state.searchController,
// onSubmittedAction: () {
// getHttpData();
// },
// ),
SizedBox(height: 10.h),
Expanded(child: _buildMainUI()),
SizedBox(height: 20.h),
_buildNextBtn(),
SizedBox(height: 64.h)
],
),
),
);

View File

@ -486,7 +486,7 @@ class ApiProvider extends BaseProvider {
Future<Response> lockGroupAddLock(List lockIds, int groupId) => post(
lockGroupAddLockURL.toUrl,
jsonEncode({
'lockId': lockIds,
'lockIds': lockIds,
'groupId': groupId,
}));
@ -494,7 +494,7 @@ class ApiProvider extends BaseProvider {
Future<Response> lockGroupDeletLock(List lockIds) => post(
lockGroupDeletLockURL.toUrl,
jsonEncode({
'lockId': lockIds,
'lockIds': lockIds,
}));
Future<Response> selectLockList() =>
@ -523,12 +523,10 @@ class ApiProvider extends BaseProvider {
'remoteEnable': remoteEnable
}));
Future<Response> expireLockList(
String operatorUid, String pageNo, String pageSize) =>
Future<Response> expireLockList(String pageNo, String pageSize) =>
post(
expireLockListURL.toUrl,
jsonEncode({
'operatorUid': operatorUid,
'pageNo': pageNo,
'pageSize': pageSize,
}));

View File

@ -16,8 +16,8 @@ import 'package:star_lock/mine/minePersonInfo/minePersonInfoSetSafetyProblem/min
import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart';
import 'package:star_lock/mine/mineSet/appUnlockNeedMobileNetworkingLock/selectLockListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/administratorDetailEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockListEntity.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/expireLockList/expireLockList_entity.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList/keyListByUserEntity.dart';
import 'package:star_lock/mine/mineSet/mineSet/userSettingInfoEntity.dart';
import '../common/safetyVerification/entity/CheckSafetyVerificationEntity.dart';
@ -541,9 +541,8 @@ class ApiRepository {
}
//
Future<ExpireLockListEntity> expireLockList(
String operatorUid, String pageNo, String pageSize) async {
final res = await apiProvider.expireLockList(operatorUid, pageNo, pageSize);
Future<ExpireLockListEntity> expireLockList(String pageNo, String pageSize) async {
final res = await apiProvider.expireLockList(pageNo, pageSize);
return ExpireLockListEntity.fromJson(res.body);
}

View File

@ -18,8 +18,8 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
# 版本说明:
# 1.0.18+2024032001修复同意隐私政策前获取SN
version: 1.0.18+2024032001
# 1.0.18+20240321打包给欧阳测试
version: 1.0.19+20240321
environment:
sdk: '>=2.12.0 <3.0.0'