From f84be34b7d876ad9f90434f9eb00f3398b7058b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Fri, 12 Apr 2024 18:03:40 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B3=A8=E5=86=8C=E3=80=81=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=B7=BB=E5=8A=A0=E9=80=89=E6=8B=A9=E5=9B=BD=E5=AE=B6?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E5=8A=9F=E8=83=BD=E3=80=822=E3=80=81?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=9B=BD=E5=AE=B6=E7=BC=96=E5=8F=B7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/images/lan/lan_en.json | 3 + star_lock/images/lan/lan_keys.json | 3 + star_lock/images/lan/lan_zh.json | 3 + star_lock/ios/Podfile.lock | 291 ------------------ star_lock/lib/blue/blue_manage.dart | 11 +- star_lock/lib/blue/reciver_data.dart | 2 +- .../lib/login/login/starLock_login_logic.dart | 7 +- .../lib/login/login/starLock_login_page.dart | 23 ++ .../lib/login/login/starLock_login_state.dart | 3 + .../register/starLock_register_logic.dart | 2 +- .../register/starLock_register_page.dart | 25 +- .../register/starLock_register_state.dart | 2 +- .../lockDetail/lockDetail_logic.dart | 26 +- .../editLockName/editLockName_page.dart | 2 + .../addLock/nearbyLock/nearbyLock_logic.dart | 76 ++--- .../mine/mine/safeVerify/safeVerify_page.dart | 1 + .../mineBindPhoneOrEmail_logic.dart | 4 +- .../mineBindPhoneOrEmail_page.dart | 25 ++ .../mineBindPhoneOrEmail_state.dart | 5 +- .../groupEditLock/groupEditLock_page.dart | 2 +- .../lockItemList_page.dart | 1 - .../mine/mineSet/mineSet/mineSet_page.dart | 54 ++-- star_lock/lib/network/api_provider_base.dart | 8 +- star_lock/lib/network/api_repository.dart | 12 +- star_lock/lib/tools/commonItem.dart | 9 +- star_lock/lib/tools/tf_loginInput.dart | 6 + 26 files changed, 191 insertions(+), 415 deletions(-) delete mode 100644 star_lock/ios/Podfile.lock diff --git a/star_lock/images/lan/lan_en.json b/star_lock/images/lan/lan_en.json index a065ef36..8d447228 100644 --- a/star_lock/images/lan/lan_en.json +++ b/star_lock/images/lan/lan_en.json @@ -663,6 +663,9 @@ "用户无权限": "User has no permission", "创建公司后,考勤功能才能使用": "After creating the company, the attendance function can be used", "是否删除钥匙?": "Whether to delete the key?", + "邮箱绑定成功": "Email binding success", + "手机绑定成功": "Mobile phone binding success", + "网络访问失败,请检查网络是否正常": "网络访问失败,请检查网络是否正常", "相机": "camera", "相册": "photos", diff --git a/star_lock/images/lan/lan_keys.json b/star_lock/images/lan/lan_keys.json index 1736c2f9..9879a0b9 100644 --- a/star_lock/images/lan/lan_keys.json +++ b/star_lock/images/lan/lan_keys.json @@ -662,6 +662,9 @@ "用户无权限": "用户无权限", "创建公司后,考勤功能才能使用": "创建公司后,考勤功能才能使用", "是否删除钥匙?": "是否删除钥匙?", + "邮箱绑定成功": "邮箱绑定成功", + "手机绑定成功": "手机绑定成功", + "网络访问失败,请检查网络是否正常": "网络访问失败,请检查网络是否正常", "相机": "相机", "相册": "相册", diff --git a/star_lock/images/lan/lan_zh.json b/star_lock/images/lan/lan_zh.json index 665c8725..206b045a 100644 --- a/star_lock/images/lan/lan_zh.json +++ b/star_lock/images/lan/lan_zh.json @@ -664,6 +664,9 @@ "用户无权限": "用户无权限", "创建公司后,考勤功能才能使用": "创建公司后,考勤功能才能使用", "是否删除钥匙?": "是否删除钥匙?", + "邮箱绑定成功": "邮箱绑定成功", + "手机绑定成功": "手机绑定成功", + "网络访问失败,请检查网络是否正常": "网络访问失败,请检查网络是否正常", "相机": "相机", "相册": "相册", diff --git a/star_lock/ios/Podfile.lock b/star_lock/ios/Podfile.lock deleted file mode 100644 index 2f22946c..00000000 --- a/star_lock/ios/Podfile.lock +++ /dev/null @@ -1,291 +0,0 @@ -PODS: - - aj_captcha_flutter (0.0.1): - - Flutter - - AlicloudPush (1.9.9.8): - - AlicloudSender - - AlicloudUT - - AlicloudUtils - - AlicloudSender (1.0.0.3): - - AlicloudUTDID - - EMASRest - - AlicloudUT (5.2.0.16): - - AlicloudUTDID - - AlicloudUTDID (1.5.0.94) - - AlicloudUtils (1.4.1): - - AlicloudUTDID - - AMap3DMap (9.7.0): - - AMapFoundation (>= 1.8.0) - - amap_flutter_location (0.0.1): - - AMapLocation - - Flutter - - amap_flutter_map (0.0.1): - - AMap3DMap - - Flutter - - AMapFoundation (1.8.2) - - AMapLocation (2.10.0): - - AMapFoundation (>= 1.8.0) - - app_settings (5.1.1): - - Flutter - - audio_service (0.0.1): - - Flutter - - audio_session (0.0.1): - - Flutter - - audioplayers_darwin (0.0.1): - - Flutter - - auto_orientation (0.0.1): - - Flutter - - camera_avfoundation (0.0.1): - - Flutter - - connectivity_plus (0.0.1): - - Flutter - - ReachabilitySwift - - device_info_plus (0.0.1): - - 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.1): - - Flutter - - ios-voice-processor (~> 1.1.0) - - fluttertoast (0.0.2): - - Flutter - - Toast - - g711_flutter (0.0.1): - - Flutter - - google_maps_flutter_ios (0.0.1): - - Flutter - - GoogleMaps (< 9.0) - - GoogleMaps (6.2.1): - - GoogleMaps/Maps (= 6.2.1) - - GoogleMaps/Base (6.2.1) - - GoogleMaps/Maps (6.2.1): - - GoogleMaps/Base - - image_gallery_saver (2.0.2): - - Flutter - - 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): - - Flutter - - package_info_plus (0.4.5): - - Flutter - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - - permission_handler_apple (9.1.1): - - Flutter - - ReachabilitySwift (5.0.0) - - shared_preferences_foundation (0.0.1): - - Flutter - - FlutterMacOS - - sqflite (0.0.3): - - Flutter - - FlutterMacOS - - system_settings (0.0.1): - - Flutter - - Toast (4.0.0) - - url_launcher_ios (0.0.1): - - Flutter - - video_player_avfoundation (0.0.1): - - Flutter - - FlutterMacOS - - webview_flutter_wkwebview (0.0.1): - - Flutter - -DEPENDENCIES: - - aj_captcha_flutter (from `.symlinks/plugins/aj_captcha_flutter/ios`) - - AlicloudPush (~> 1.9.9) - - 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`) - - audio_service (from `.symlinks/plugins/audio_service/ios`) - - audio_session (from `.symlinks/plugins/audio_session/ios`) - - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) - - auto_orientation (from `.symlinks/plugins/auto_orientation/ios`) - - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - - 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`) - - flutter_voice_processor (from `.symlinks/plugins/flutter_voice_processor/ios`) - - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - - g711_flutter (from `.symlinks/plugins/g711_flutter/ios`) - - 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`) - - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - 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`) - - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) - -SPEC REPOS: - https://github.com/aliyun/aliyun-specs.git: - - AlicloudPush - - AlicloudSender - - AlicloudUT - - AlicloudUTDID - - AlicloudUtils - - EMASRest - https://github.com/CocoaPods/Specs.git: - - AMap3DMap - - AMapFoundation - - AMapLocation - - GoogleMaps - - ios-voice-processor - - JCore - - JPush - - ReachabilitySwift - - Toast - -EXTERNAL SOURCES: - aj_captcha_flutter: - :path: ".symlinks/plugins/aj_captcha_flutter/ios" - amap_flutter_location: - :path: ".symlinks/plugins/amap_flutter_location/ios" - amap_flutter_map: - :path: ".symlinks/plugins/amap_flutter_map/ios" - app_settings: - :path: ".symlinks/plugins/app_settings/ios" - audio_service: - :path: ".symlinks/plugins/audio_service/ios" - audio_session: - :path: ".symlinks/plugins/audio_session/ios" - audioplayers_darwin: - :path: ".symlinks/plugins/audioplayers_darwin/ios" - auto_orientation: - :path: ".symlinks/plugins/auto_orientation/ios" - camera_avfoundation: - :path: ".symlinks/plugins/camera_avfoundation/ios" - connectivity_plus: - :path: ".symlinks/plugins/connectivity_plus/ios" - device_info_plus: - :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: - :path: ".symlinks/plugins/flutter_native_contact_picker/ios" - flutter_pcm_sound: - :path: ".symlinks/plugins/flutter_pcm_sound/ios" - flutter_voice_processor: - :path: ".symlinks/plugins/flutter_voice_processor/ios" - fluttertoast: - :path: ".symlinks/plugins/fluttertoast/ios" - g711_flutter: - :path: ".symlinks/plugins/g711_flutter/ios" - google_maps_flutter_ios: - :path: ".symlinks/plugins/google_maps_flutter_ios/ios" - image_gallery_saver: - :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: - :path: ".symlinks/plugins/network_info_plus/ios" - package_info_plus: - :path: ".symlinks/plugins/package_info_plus/ios" - path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/darwin" - permission_handler_apple: - :path: ".symlinks/plugins/permission_handler_apple/ios" - shared_preferences_foundation: - :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - sqflite: - :path: ".symlinks/plugins/sqflite/darwin" - system_settings: - :path: ".symlinks/plugins/system_settings/ios" - url_launcher_ios: - :path: ".symlinks/plugins/url_launcher_ios/ios" - video_player_avfoundation: - :path: ".symlinks/plugins/video_player_avfoundation/darwin" - webview_flutter_wkwebview: - :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" - -SPEC CHECKSUMS: - aj_captcha_flutter: dd7af1aa064bdd621ae335b819bab07309c3c023 - AlicloudPush: 88529c9b796e4ece0601de0867b30359f55b61f7 - AlicloudSender: 1f468b6bd962a099ffc19d45e3608b0fe98f259d - AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338 - AlicloudUTDID: 7323c443dcdf9a73e2224dc6ce51703671d7a765 - AlicloudUtils: 873a76615bebcee8b1996f20820d366e433c3eab - AMap3DMap: dce25dd3e51e6b92109caa7d0c97fc6055830fb3 - amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f - amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a - AMapFoundation: 9885c48fc3a78fdfb84a0299a2293e56ea3c9fec - AMapLocation: 5248aec2455ebb5d104b367813c946430a2ee033 - app_settings: 017320c6a680cdc94c799949d95b84cb69389ebc - audio_service: f509d65da41b9521a61f1c404dd58651f265a567 - audio_session: 4f3e461722055d21515cf3261b64c973c062f345 - audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 - auto_orientation: 102ed811a5938d52c86520ddd7ecd3a126b5d39d - camera_avfoundation: 8b8d780bcfb6a4a02b0fbe2b4bd17b5b71946e68 - connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d - 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: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 - fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 - 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 - ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 - shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec - system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d - Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 - url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 - video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579 - webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4 - -PODFILE CHECKSUM: 317f9473a5705c6fe4d79d95e81676f248048fdc - -COCOAPODS: 1.14.3 diff --git a/star_lock/lib/blue/blue_manage.dart b/star_lock/lib/blue/blue_manage.dart index a2d8b501..70e1ed83 100644 --- a/star_lock/lib/blue/blue_manage.dart +++ b/star_lock/lib/blue/blue_manage.dart @@ -180,6 +180,7 @@ class BlueManage { FlutterBluePlus.startScan(timeout: Duration(seconds: timeout)); Completer completer = Completer(); var subscription = FlutterBluePlus.scanResults.listen((results) { + Get.log("startScanSingle扫描到的设备:$results"); bool isExit = results.any((element) => element.device.platformName == deviceName); if (isExit) { for (var scanResult in results) { @@ -442,7 +443,7 @@ class BlueManage { _subScribeToCharacteristic(BluetoothCharacteristic characteristic) async { final subscription = characteristic.onValueReceived.listen((data) { - Get.log("启动对特性的通知。当特性的值发生变化时,设备会发送一个通知"); + // Get.log("启动对特性的通知。当特性的值发生变化时,设备会发送一个通知"); Get.log("订阅获取的数据:$data"); if (data == lastTimeData || data.isEmpty) { return; @@ -455,14 +456,14 @@ class BlueManage { // 当包有头时 // 判断是否需要分包 dataLen = data[8] * 256 + data[9]; // 高16位用来指示后面数据块内容的长度 - // Get.log("dataLen1111:$dataLen getDataLength:${data.length}"); + Get.log("dataLen1111:$dataLen getDataLength:${data.length} data:$data"); if (dataLen! + 12 > data.length) { // 当前包的长度小于实际的包时 分包添加 不解析 allData.addAll(data); } else { // 当前包的长度小于实际的包时 不分包 解析 allData.addAll(data); - // Get.log("dataLen2222:$dataLen getDataLength:${data.length}"); + Get.log("dataLen2222:$dataLen getDataLength:${data.length}"); CommandReciverManager.appDataReceive(allData); // 发送完解析初始化数组 allData = []; @@ -471,9 +472,9 @@ class BlueManage { // 当包没有头时 是分包的包 直接添加 allData.addAll(data); // var len = allData[8] * 256 + allData[9]; - // print("dataLen3333:$dataLen"); + print("dataLen3333:$dataLen allData.length:${allData.length} allData:$allData"); if ((dataLen! + 14) <= allData.length) { - // print("44444数据被解析了"); + print("44444数据被解析了"); // 当长度小于等于当前包的数据时 直接解析数据 CommandReciverManager.appDataReceive(allData); // 发送完解析初始化数组 diff --git a/star_lock/lib/blue/reciver_data.dart b/star_lock/lib/blue/reciver_data.dart index 508828c9..58a28bcb 100644 --- a/star_lock/lib/blue/reciver_data.dart +++ b/star_lock/lib/blue/reciver_data.dart @@ -67,7 +67,7 @@ class CommandReciverManager { var dataLen = data[8] * 256 + data[9]; // 高16位用来指示后面数据块内容的长度 var oriLen = data[10] * 256 + data[11]; // 低16位用来指示数据加密前的原长度 - // print("dataLen:$dataLen oriLen:$oriLen"); + print("dataLen:$dataLen oriLen:$oriLen"); // List dataList = []; List oriDataList = []; switch (tmpType) { diff --git a/star_lock/lib/login/login/starLock_login_logic.dart b/star_lock/lib/login/login/starLock_login_logic.dart index 545ae397..8d421a2a 100644 --- a/star_lock/lib/login/login/starLock_login_logic.dart +++ b/star_lock/lib/login/login/starLock_login_logic.dart @@ -17,8 +17,11 @@ class StarLockLoginLogic extends BaseGetXController { final stateMyLogic = Get.put(StarLockMineLogic()).state; void login() async { - var entity = await ApiRepository.to - .login("1", state.pwd.value, "+86", state.emailOrPhone.value); + var entity = await ApiRepository.to.login( + loginType:"1", + password:state.pwd.value, + countryCode:state.countryCode.value, + username:state.emailOrPhone.value); if (entity.errorCode!.codeIsSuccessful) { Storage.saveLoginData(entity.data); eventBus.fire(MineInfoChangeRefreshUI()); diff --git a/star_lock/lib/login/login/starLock_login_page.dart b/star_lock/lib/login/login/starLock_login_page.dart index 1cde3c08..de9f8de2 100644 --- a/star_lock/lib/login/login/starLock_login_page.dart +++ b/star_lock/lib/login/login/starLock_login_page.dart @@ -8,6 +8,7 @@ import 'package:star_lock/flavors.dart'; import '../../appRouters.dart'; import '../../app_settings/app_colors.dart'; import '../../common/XSConstantMacro/XSConstantMacro.dart'; +import '../../tools/commonItem.dart'; import '../../tools/tf_loginInput.dart'; import '../../tools/submitBtn.dart'; import '../../tools/titleAppBar.dart'; @@ -61,6 +62,28 @@ class _StarLockLoginPageState extends State { child: Image.asset('images/icon_main_1024.png', width: 110.w, height: 110.w))), SizedBox(height: 50.w), + CommonItem( + leftTitel: "${"你所在的".tr}${TranslationLoader.lanKeys!.countryAndRegion!.tr}", + rightTitle: "", + isHaveLine: true, + isPadding: false, + isHaveRightWidget: true, + isHaveDirection: true, + rightWidget: Text( + '${state.countryName.value} +${state.countryCode.value}', + textAlign: TextAlign.end, + style: + TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor), + ), + action: () async { + var result = await Get.toNamed(Routers.selectCountryRegionPage); + if (result != null) { + result as Map; + state.countryCode.value = result['code']; + state.countryName.value = result['countryName']; + } + }, + ), LoginInput( controller: state.emailOrPhoneController, onchangeAction: (v) { diff --git a/star_lock/lib/login/login/starLock_login_state.dart b/star_lock/lib/login/login/starLock_login_state.dart index 1eae1236..c9e3f95e 100644 --- a/star_lock/lib/login/login/starLock_login_state.dart +++ b/star_lock/lib/login/login/starLock_login_state.dart @@ -5,6 +5,9 @@ class StarLockLoginState { var passwordShow = true.obs; var agree = false.obs; + var countryCode = '86'.obs; + var countryName = '中国'.obs; + var emailOrPhone = ''.obs; var pwd = ''.obs; var canNext = false.obs; diff --git a/star_lock/lib/login/register/starLock_register_logic.dart b/star_lock/lib/login/register/starLock_register_logic.dart index fcb0dd01..9b63c0b6 100644 --- a/star_lock/lib/login/register/starLock_register_logic.dart +++ b/star_lock/lib/login/register/starLock_register_logic.dart @@ -31,7 +31,7 @@ class StarLockRegisterLogic extends BaseGetXController { void register() async { var entity = await ApiRepository.to.register( receiverType: state.isIphoneType.value == true ? 1 : 2, - countryCode: state.countryCode.value, + countryCode: int.parse(state.countryCode.value), account: state.phoneOrEmailStr.value, password: state.pwd.value, verificationCode: state.verificationCode.value); diff --git a/star_lock/lib/login/register/starLock_register_page.dart b/star_lock/lib/login/register/starLock_register_page.dart index c4da5200..0ec3760b 100644 --- a/star_lock/lib/login/register/starLock_register_page.dart +++ b/star_lock/lib/login/register/starLock_register_page.dart @@ -143,16 +143,15 @@ class _StarLockRegisterPageState extends State { SizedBox(height: 60.h), GestureDetector( onTap: () async { - var result = await Navigator.pushNamed( - context, Routers.selectCountryRegionPage); + var result = await Get.toNamed(Routers.selectCountryRegionPage); if (result != null) { result as Map; state.countryCode.value = result['code']; state.countryName.value = result['countryName']; } - // print("路由返回值: ${result}, countryCode:${logic.state.countryCode} ,countryId:${logic.state.countryId}"); + Get.log("路由返回值: $result, countryCode:${logic.state.countryCode}"); }, - child: SizedBox( + child: Obx(() => SizedBox( height: 70.h, child: Row( children: [ @@ -165,14 +164,14 @@ class _StarLockRegisterPageState extends State { Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - Obx(() => Text( - state.isIphoneType.value - ? '${state.countryName} +${state.countryCode}' - : "${state.countryName}", - textAlign: TextAlign.end, - style: TextStyle( - fontSize: 26.sp, color: AppColors.blackColor), - )) + Text( + state.isIphoneType.value + ? '${state.countryName.value} +${state.countryCode.value}' + : state.countryName.value, + textAlign: TextAlign.end, + style: TextStyle( + fontSize: 26.sp, color: AppColors.blackColor), + ) ], ), SizedBox(width: 5.w), @@ -183,7 +182,7 @@ class _StarLockRegisterPageState extends State { ), ], ), - ), + )), ), Container( height: 0.5.h, diff --git a/star_lock/lib/login/register/starLock_register_state.dart b/star_lock/lib/login/register/starLock_register_state.dart index 525a7659..99f3003c 100644 --- a/star_lock/lib/login/register/starLock_register_state.dart +++ b/star_lock/lib/login/register/starLock_register_state.dart @@ -10,7 +10,7 @@ class StarLockRegisterState { final TextEditingController sureController = TextEditingController(); final TextEditingController codeController = TextEditingController(); - var countryCode = 86.obs; + var countryCode = "86".obs; var countryName = '中国'.tr.obs; var phoneOrEmailStr = ''.obs; diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart index 5c2554c6..109a57af 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_logic.dart @@ -451,9 +451,7 @@ class LockDetailLogic extends BaseGetXController { // ); Get.log("openMode:${state.openDoorModel}"); - BlueManage() - .bludSendData(state.keyInfos.value.bluetooth!.bluetoothDeviceName!, - (BluetoothConnectionState deviceConnectionState) async { + BlueManage().bludSendData(state.keyInfos.value.bluetooth!.bluetoothDeviceName!, (BluetoothConnectionState deviceConnectionState) async { if (deviceConnectionState == BluetoothConnectionState.connected) { IoSenderManage.senderOpenLock( keyID: BlueManage().connectDeviceName, @@ -636,12 +634,16 @@ class LockDetailLogic extends BaseGetXController { // 获取手机联网token,根据锁设置里面获取的开锁时是否联网来判断是否调用这个接口 void getLockNetToken() async { - LockNetTokenEntity entity = await ApiRepository.to - .getLockNetToken(lockId: state.keyInfos.value.lockId.toString()); + LockNetTokenEntity entity = await ApiRepository.to.getLockNetToken(lockId: state.keyInfos.value.lockId.toString()); if (entity.errorCode!.codeIsSuccessful) { state.lockNetToken = entity.data!.token!; Get.log("state.lockNetToken:${state.lockNetToken}"); openDoorAction(); + }else{ + showToast("获取联网token失败", something: (){ + state.openLockBtnState.value = 0; + cancelBlueConnetctToastTimer(); + }); } } @@ -649,7 +651,8 @@ class LockDetailLogic extends BaseGetXController { void _updateLockUserNo() async { LockNetTokenEntity entity = await ApiRepository.to.updateLockUserNo( keyId: state.keyInfos.value.keyId.toString(), - lockUserNo: state.lockUserNo.toString()); + lockUserNo: state.lockUserNo.toString() + ); if (entity.errorCode!.codeIsSuccessful) { eventBus.fire(RefreshLockDetailInfoDataEvent()); SchedulerBinding.instance.addPostFrameCallback((_) { @@ -718,19 +721,16 @@ class LockDetailLogic extends BaseGetXController { void initLockSetOpenOrCloseCheckInRefreshLockDetailWithAttendanceAction() { // 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus state.lockSetOpenOrCloseCheckInRefreshLockDetailWithAttendanceEvent = - eventBus - .on() - .listen((event) { + eventBus.on().listen((event) { if (event.type == 0) { // 0考勤 state.isAttendance.value = int.parse(event.setResult); - state.keyInfos.value.lockSetting!.attendance = - int.parse(event.setResult); + state.keyInfos.value.lockSetting!.attendance = int.parse(event.setResult); } else if (event.type == 1) { // 1 开锁时是否需联网 state.isOpenLockNeedOnline.value = int.parse(event.setResult); - state.keyInfos.value.lockSetting!.appUnlockOnline = - int.parse(event.setResult); + state.keyInfos.value.lockSetting!.appUnlockOnline = int.parse(event.setResult); + state.lockNetToken = "";// 改变开锁时是否联网状态的时候清空token Get.log( "state.isOpenLockNeedOnline.value:${state.isOpenLockNeedOnline.value}"); } else if (event.type == 2) { diff --git a/star_lock/lib/main/lockDetail/lockSet/basicInformation/editLockName/editLockName_page.dart b/star_lock/lib/main/lockDetail/lockSet/basicInformation/editLockName/editLockName_page.dart index 803641ea..22fb5ac6 100644 --- a/star_lock/lib/main/lockDetail/lockSet/basicInformation/editLockName/editLockName_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/basicInformation/editLockName/editLockName_page.dart @@ -46,6 +46,8 @@ class _EditLockNamePageState extends State { controller: state.changeLockNameController, leftWidget: const SizedBox(), hintText: "请输入名称".tr, + isHaveLeftWidget: true, + isSuffixIcon: true, inputFormatters: [ LengthLimitingTextInputFormatter(50), ]), diff --git a/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart b/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart index 0f2ed33e..72e016ba 100644 --- a/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart +++ b/star_lock/lib/mine/addLock/nearbyLock/nearbyLock_logic.dart @@ -1,6 +1,5 @@ import 'dart:async'; -// 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:star_lock/blue/io_protocol/io_getPrivateKey.dart'; @@ -28,7 +27,6 @@ class NearbyLockLogic extends BaseGetXController { IoSenderManage.getPublicKey(lockId: deviceName); }else if (state == BluetoothConnectionState.disconnected) { dismissEasyLoading(); - // showBlueConnetctToast(); } }, isAddEquipment: true); } @@ -36,8 +34,7 @@ class NearbyLockLogic extends BaseGetXController { // 获取解析后的数据 late StreamSubscription _replySubscription; void _initReplySubscription() { - _replySubscription = - EventBusManager().eventBus!.on().listen((reply) { + _replySubscription = EventBusManager().eventBus!.on().listen((reply) { if (reply is GetPublicKeyReply) { _replyGetPublicKey(reply); } @@ -58,7 +55,7 @@ class NearbyLockLogic extends BaseGetXController { switch (reply.status) { case 0x00: //成功 - print("获取公钥成功"); + Get.log("获取公钥成功"); // 储存公钥 var publicKey = reply.data.sublist(3); var saveStrList = changeIntListToStringList(publicKey); @@ -75,15 +72,15 @@ class NearbyLockLogic extends BaseGetXController { break; case 0x07: //无权限 - print("获取公钥无权限"); + Get.log("获取公钥无权限"); break; case 0x0f: //用户已存在 - print("获取公钥用户已存在"); + Get.log("获取公钥用户已存在"); break; default: //失败 - print("获取公钥失败"); + Get.log("获取公钥失败"); break; } } @@ -92,19 +89,19 @@ class NearbyLockLogic extends BaseGetXController { switch (reply.status) { case 0x00: //成功 - print('获取私钥成功'); + Get.log('获取私钥成功'); reply.data.removeAt(0); - print("reply.data:${reply.data}"); + Get.log("reply.data:${reply.data}"); // 私钥 List privateKey = reply.data.sublist(0, 16); - print("privateKey:$privateKey"); + Get.log("privateKey:$privateKey"); var savePrivateKeyList = changeIntListToStringList(privateKey); Storage.setStringList(saveBluePrivateKey, savePrivateKeyList); // signKey List signKey = reply.data.sublist(16, 32); - print("signKey:$signKey"); + Get.log("signKey:$signKey"); var saveSignKeyList = changeIntListToStringList(signKey); Storage.setStringList(saveBlueSignKey, saveSignKeyList); @@ -114,23 +111,21 @@ class NearbyLockLogic extends BaseGetXController { (0xff & timestamp[1]) << 16 | (0xff & timestamp[2]) << 8 | (0xFF & timestamp[3])); - // String timestampValueStr = DateTool().dateToYMDHNSString(timestampValue.toString()); - // print("timestamp:$timestamp timestampValue:$timestampValue timestampValueStr:$timestampValueStr"); _getStarLockStatus(); break; case 0x07: //无权限 - print('获取私钥无权限'); + Get.log('获取私钥无权限'); break; case 0x0f: //用户已存在 - print('获取私钥:用户已存在'); + Get.log('获取私钥:用户已存在'); break; default: //失败 - print('获取私钥失败'); + Get.log('获取私钥失败'); break; } } @@ -145,63 +140,62 @@ class NearbyLockLogic extends BaseGetXController { // 厂商名称 var vendor = reply.data.sublist(3, 23); - print("vendor:$vendor reply.data:${reply.data}"); + Get.log("vendor:$vendor reply.data:${reply.data}"); var vendorStr = utf8String(vendor); state.lockInfo["vendor"] = vendorStr; - // print("vendor:$vendor vendorStr:$vendorStr vendorStr.length${vendorStr.length}"); // 锁设备类型 var product = reply.data[23]; state.lockInfo["product"] = product; - // print("product:$product"); + // Get.log("product:$product"); // 产品名称 var model = reply.data.sublist(24, 44); var modelStr = utf8String(model); state.lockInfo["model"] = modelStr; - // print("model:$model modelStr:$modelStr modelStr:${modelStr.length}"); + // Get.log("model:$model modelStr:$modelStr modelStr:${modelStr.length}"); // 软件版本 var fwVersion = reply.data.sublist(44, 64); var fwVersionStr = utf8String(fwVersion); state.lockInfo["fwVersion"] = fwVersionStr; - // print("fwVersion:$fwVersion fwVersionStr:$fwVersionStr fwVersionStr:${fwVersionStr.length}"); + // Get.log("fwVersion:$fwVersion fwVersionStr:$fwVersionStr fwVersionStr:${fwVersionStr.length}"); // 硬件版本 var hwVersion = reply.data.sublist(64, 84); var hwVersionStr = utf8String(hwVersion); state.lockInfo["hwVersion"] = hwVersionStr; - // print("hwVersion:$hwVersion hwVersionStr:${hwVersionStr.length}"); + // Get.log("hwVersion:$hwVersion hwVersionStr:${hwVersionStr.length}"); // 厂商序列号 var serialNum0 = reply.data.sublist(84, 100); var serialNum0Str = utf8String(serialNum0); state.lockInfo["serialNum0"] = serialNum0Str; // state.lockInfo["serialNum0"] = "${DateTime.now().millisecondsSinceEpoch ~/ 10}"; - print("serialNum0Str:$serialNum0Str serialNum0Str:${serialNum0Str.length}"); + Get.log("serialNum0Str:$serialNum0Str serialNum0Str:${serialNum0Str.length}"); // 成品商序列号 var serialNum1 = reply.data.sublist(100, 116); var serialNum1Str = utf8String(serialNum1); state.lockInfo["serialNum1"] = serialNum1Str; - // print("serialNum1Str:$serialNum1Str serialNum1Str:${serialNum1Str.length}"); + // Get.log("serialNum1Str:$serialNum1Str serialNum1Str:${serialNum1Str.length}"); // 蓝牙名称 var btDeviceName = reply.data.sublist(116, 132); var btDeviceNameStr = utf8String(btDeviceName); state.lockInfo["btDeviceName"] = btDeviceNameStr; - // print("btDeviceName:$btDeviceName btDeviceNameStr:$btDeviceNameStr btDeviceNameStr:${btDeviceNameStr.length}"); + // Get.log("btDeviceName:$btDeviceName btDeviceNameStr:$btDeviceNameStr btDeviceNameStr:${btDeviceNameStr.length}"); // 电池剩余电量 var battRemCap = reply.data[132]; state.lockInfo["electricQuantity"] = battRemCap; - // print("battRemCap:$battRemCap"); + // Get.log("battRemCap:$battRemCap"); // 重置次数 var restoreCounter = reply.data.sublist(133, 135); state.lockInfo["restoreCount"] = restoreCounter[0] * 256 + restoreCounter[1]; - // print("restoreCounter:$restoreCounter"); + // Get.log("restoreCounter:$restoreCounter"); // 重置时间 var restoreDate = reply.data.sublist(135, 139); @@ -211,13 +205,13 @@ class NearbyLockLogic extends BaseGetXController { (0xFF & restoreDate[3])); // String restoreDateStr = DateTool().dateToYMDHNSString(restoreDateValue.toString()); state.lockInfo["restoreDate"] = restoreDateValue * 1000; - // print("restoreDate:$restoreDate restoreDateValue:$restoreDateValue"); + // Get.log("restoreDate:$restoreDate restoreDateValue:$restoreDateValue"); // 主控芯片型号 var icPartNo = reply.data.sublist(139, 149); var icPartNoStr = utf8String(icPartNo); state.lockInfo["icPartNo"] = icPartNoStr; - // print("icPartNo:$icPartNo icPartNoStr:$icPartNoStr"); + // Get.log("icPartNo:$icPartNo icPartNoStr:$icPartNoStr"); // 有效时间 var indate = reply.data.sublist(149, 153); @@ -227,13 +221,13 @@ class NearbyLockLogic extends BaseGetXController { (0xFF & indate[3])); // String indateStr = DateTool().dateToYMDHNSString("$indateValue"); state.lockInfo["indate"] = indateValue * 1000; - // print("indate:$indate indateValue:$indateValue"); + // Get.log("indate:$indate indateValue:$indateValue"); // mac地址 var macAddress = reply.data.sublist(153, 173); var macAddressStr = utf8String(macAddress); state.lockInfo["mac"] = macAddressStr; - print("macAddress:$macAddress macAddressStr:$macAddressStr"); + Get.log("macAddress:$macAddress macAddressStr:$macAddressStr"); var index = 173; // 锁特征值字符串长度 @@ -249,7 +243,7 @@ class NearbyLockLogic extends BaseGetXController { String featureValueStr = asciiString(featureValue); state.featureValue = featureValueStr; // List allFeatureValueTwoList = charListChangeIntList(featureValue); - // print("featureValueLength:$featureValueLength featureValue:$featureValue \n featureValueStr:$featureValueStr"); + // Get.log("featureValueLength:$featureValueLength featureValue:$featureValue \n featureValueStr:$featureValueStr"); index = index + featureValueLength + 1; // 使能特征值字符串长度 @@ -264,7 +258,7 @@ class NearbyLockLogic extends BaseGetXController { String featureEnValStr = asciiString(featureEnVal); state.featureSettingValue = featureEnValStr; // List allFeatureEnValTwoList = charListChangeIntList(featureEnVal); - // print("featureEnValLength:$featureEnValLength featureEnVal:$featureEnVal \n featureEnValStr:$featureEnValStr"); + // Get.log("featureEnValLength:$featureEnValLength featureEnVal:$featureEnVal \n featureEnValStr:$featureEnValStr"); index = index + featureEnValLength + 1; // 支持的带参数特征值的总条目数 @@ -272,7 +266,7 @@ class NearbyLockLogic extends BaseGetXController { var featureParaTotalList = reply.data.sublist(index); state.featureSettingParams = featureParaTotalList; - // print("featureParaTotalList:$featureParaTotalList"); + // Get.log("featureParaTotalList:$featureParaTotalList"); Get.toNamed(Routers.lockAddressGaoDePage, arguments: { "pwdTimestamp": state.timestampValue * 1000, @@ -285,23 +279,19 @@ class NearbyLockLogic extends BaseGetXController { break; case 0x06: //无权限 - print("${reply.commandType}需要鉴权"); - + Get.log("${reply.commandType}需要鉴权"); break; case 0x07: //无权限 - print("${reply.commandType}用户无权限"); - + Get.log("${reply.commandType}用户无权限"); break; case 0x09: // 权限校验错误 - print("${reply.commandType}权限校验错误"); - + Get.log("${reply.commandType}权限校验错误"); break; default: //失败 - print("${reply.commandType}失败"); - + Get.log("${reply.commandType}失败"); break; } } diff --git a/star_lock/lib/mine/mine/safeVerify/safeVerify_page.dart b/star_lock/lib/mine/mine/safeVerify/safeVerify_page.dart index e35b1286..a50df4a2 100644 --- a/star_lock/lib/mine/mine/safeVerify/safeVerify_page.dart +++ b/star_lock/lib/mine/mine/safeVerify/safeVerify_page.dart @@ -1,3 +1,4 @@ + import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_logic.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_logic.dart index 1d440985..954ad23e 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_logic.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_logic.dart @@ -51,7 +51,7 @@ class MineBindPhoneOrEmailLogic extends BaseGetXController { state.verificationCode.value, state.unbindToken.value); if (entity.errorCode!.codeIsSuccessful) { - showToast("邮箱绑定成功", something: () async { + showToast("邮箱绑定成功".tr, something: () async { final loginData = await Storage.getLoginData(); loginData!.email = state.inputAccount.value; Storage.saveLoginData(loginData); @@ -69,7 +69,7 @@ class MineBindPhoneOrEmailLogic extends BaseGetXController { state.verificationCode.value, state.unbindToken.value); if (entity.errorCode!.codeIsSuccessful) { - showToast("手机绑定成功", something: () async { + showToast("手机绑定成功".tr, something: () async { final loginData = await Storage.getLoginData(); loginData!.mobile = state.inputAccount.value; Storage.saveLoginData(loginData); diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart index 2b1d36c5..af0a0c97 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart @@ -4,7 +4,9 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_logic.dart'; +import '../../../appRouters.dart'; import '../../../app_settings/app_colors.dart'; +import '../../../tools/commonItem.dart'; import '../../../tools/submitBtn.dart'; import '../../../tools/tf_loginInput.dart'; import '../../../tools/titleAppBar.dart'; @@ -33,6 +35,7 @@ class _MineBindPhoneOrEmailPageState extends State { haveBack: true, backgroundColor: AppColors.mainColor), body: Container( + color: Colors.white, padding: EdgeInsets.only(top: 10.h, left: 30.w, right: 30.w), child: Column( children: [ @@ -45,6 +48,28 @@ class _MineBindPhoneOrEmailPageState extends State { : TranslationLoader.lanKeys!.changeEmailTip!.tr, style: TextStyle(fontSize: 20.sp), )), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr, + rightTitle: "", + isHaveLine: true, + isPadding: false, + isHaveRightWidget: true, + isHaveDirection: true, + rightWidget: Text( + '${state.countryName.value} +${state.countryCode.value}', + textAlign: TextAlign.end, + style: + TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor), + ), + action: () async { + var result = await Get.toNamed(Routers.selectCountryRegionPage); + if (result != null) { + result as Map; + state.countryCode.value = result['code']; + state.countryName.value = result['countryName']; + } + }, + ), LoginInput( controller: state.accountController, isPwd: false, diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_state.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_state.dart index 4d3c4c97..c6619187 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_state.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_state.dart @@ -10,11 +10,12 @@ class MineBindPhoneOrEmailState { return DateTime.now().millisecondsSinceEpoch; } - var countryCode = '+86'.obs; + var countryCode = '86'.obs; + var countryName = '中国'.obs; + var countryId = '9'.obs; var codeType = '4'.obs; //1注册,2找回密码,3绑定手机号,4解绑手机(换绑),5删除账号,6 绑定邮箱,7解绑邮箱(换绑) var channel = '1'.obs; //短信通道 1 短信,2 邮箱 - var uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs; var verificationCode = ''.obs; var xWidth = ''.obs; // 滑动验证码滑动位置 var canSub = false.obs; diff --git a/star_lock/lib/mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart b/star_lock/lib/mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart index f7de91b3..06e35e21 100644 --- a/star_lock/lib/mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart +++ b/star_lock/lib/mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart @@ -40,7 +40,7 @@ class _GroupEditLockPageState extends State { ), ), Expanded(child: _buildMainUI()), - SubmitBtn(btnName: TranslationLoader.lanKeys!.send!.tr, onClick: () async { + SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr, onClick: () async { var idList = []; for(int i = 0; i with WidgetsBindingObserver { } //确认弹窗 - void _showDialog(widgetContext) { - showCupertinoDialog( - context: widgetContext, - builder: (context) { - return CupertinoAlertDialog( - title: Text(TranslationLoader.lanKeys!.deleteAccountTips!.tr), - actions: [ - CupertinoDialogAction( - child: Text(TranslationLoader.lanKeys!.cancel!.tr), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - CupertinoDialogAction( - child: Text(TranslationLoader.lanKeys!.sure!.tr), - onPressed: () { - Get.back(); - //安全验证 - Get.toNamed(Routers.safeVerifyPage); - setState(() {}); - }, - ), - ], - ); - }, - ); - } + // void _showDialog(widgetContext) { + // showCupertinoDialog( + // context: widgetContext, + // builder: (context) { + // return CupertinoAlertDialog( + // title: Text(TranslationLoader.lanKeys!.deleteAccountTips!.tr), + // actions: [ + // CupertinoDialogAction( + // child: Text(TranslationLoader.lanKeys!.cancel!.tr), + // onPressed: () { + // Navigator.of(context).pop(); + // }, + // ), + // CupertinoDialogAction( + // child: Text(TranslationLoader.lanKeys!.sure!.tr), + // onPressed: () { + // Get.back(); + // //安全验证 + // Get.toNamed(Routers.safeVerifyPage); + // setState(() {}); + // }, + // ), + // ], + // ); + // }, + // ); + // } // void showLoginOutAlertTipDialog() { // showCupertinoDialog( diff --git a/star_lock/lib/network/api_provider_base.dart b/star_lock/lib/network/api_provider_base.dart index 04273d85..d58aae24 100644 --- a/star_lock/lib/network/api_provider_base.dart +++ b/star_lock/lib/network/api_provider_base.dart @@ -52,11 +52,11 @@ class BaseProvider extends GetConnect with Api { // print('res.body======>${res.body}'); if (res.body == null) { if (EasyLoading.isShow) await EasyLoading.dismiss(animation: true); - EasyLoading.showToast("数据请求失败", duration: 2000.milliseconds); + EasyLoading.showToast("网络访问失败,请检查网络是否正常".tr, duration: 2000.milliseconds); // EasyLoading.showToast("Network Error!", duration: 2000.milliseconds); - if (res.statusCode == null) { - EasyLoading.showToast("Network Error!", duration: 2000.milliseconds); - } + // if (res.statusCode == null) { + // EasyLoading.showToast("Network Error!", duration: 2000.milliseconds); + // } var rs = { "errorMsg": "Network Error!", "errorCode": -1, diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index c4ed9d54..479de7f5 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -100,8 +100,13 @@ class ApiRepository { } //登录 - Future login(String loginType, String password, - String countryCode, String username) async { + Future login( + { + required String loginType, + required String password, + required String countryCode, + required String username + }) async { final res = await apiProvider.login(loginType, password, countryCode, username); return LoginEntity.fromJson(res.body); @@ -269,8 +274,7 @@ class ApiRepository { } // 更新锁用户NO - Future updateLockUserNo( - {required String keyId, required String lockUserNo}) async { + Future updateLockUserNo({required String keyId, required String lockUserNo}) async { final res = await apiProvider.updateLockUserNo(keyId, lockUserNo); return LockNetTokenEntity.fromJson(res.body); } diff --git a/star_lock/lib/tools/commonItem.dart b/star_lock/lib/tools/commonItem.dart index 2db30478..9b785898 100644 --- a/star_lock/lib/tools/commonItem.dart +++ b/star_lock/lib/tools/commonItem.dart @@ -13,6 +13,7 @@ class CommonItem extends StatelessWidget { Function()? tipsImgAction; double? allHeight; bool? isTipsImg; + bool? isPadding; CommonItem( {Key? key, @@ -22,6 +23,7 @@ class CommonItem extends StatelessWidget { this.isHaveDirection = false, this.isHaveLine = false, this.isHaveRightWidget = false, + this.isPadding = true, this.rightWidget, this.isTipsImg, this.action, @@ -38,8 +40,7 @@ class CommonItem extends StatelessWidget { Container( height: allHeight ?? 65.h, color: Colors.white, - padding: EdgeInsets.only( - left: 20.w, right: 10.w), // , top: 20.w, bottom: 20.w + padding: isPadding == true ? EdgeInsets.only(left: 20.w, right: 10.w) : EdgeInsets.zero, // , top: 20.w, bottom: 20.w child: Row( children: [ // SizedBox(width: 20.w), @@ -99,8 +100,8 @@ class CommonItem extends StatelessWidget { isHaveLine! ? Divider( color: AppColors.greyLineColor, - indent: 20.w, - endIndent: 20.w, + indent: isPadding == true ? 20.w : 0, + endIndent: isPadding == true ? 20.w : 0, height: 1, ) : Container() diff --git a/star_lock/lib/tools/tf_loginInput.dart b/star_lock/lib/tools/tf_loginInput.dart index a737fec7..9bd285e0 100644 --- a/star_lock/lib/tools/tf_loginInput.dart +++ b/star_lock/lib/tools/tf_loginInput.dart @@ -20,6 +20,7 @@ class LoginInput extends StatelessWidget { Widget? leftWidget; String? label; bool? isPwd; + bool? isSuffixIcon; Widget? rightSlot; BlockStrCallback? onchangeAction; BlockClickCallback? onTapAction; @@ -30,6 +31,7 @@ class LoginInput extends StatelessWidget { this.rightSlot, this.label, this.isPwd, + this.isSuffixIcon, this.inputFormatters, this.keyboardType, this.background, @@ -67,6 +69,10 @@ class LoginInput extends StatelessWidget { hintText: hintText, //不需要输入框下划线 border: InputBorder.none, + suffixIcon: isSuffixIcon! ? IconButton( + icon: const Icon(Icons.clear), + onPressed: controller!.clear, + ) : null, //左边图标设置 icon: isHaveLeftWidget == true ? leftWidget