From 0839c9ec3c9c33685d570cd47b7d47d2bca9cbd8 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Fri, 24 Jan 2025 12:01:55 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix=EF=BC=9A=E6=98=9F=E6=98=9F=E9=94=81?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=8C=85=E5=90=8D=E7=AD=BE=E5=90=8D=E5=90=8E?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3=E5=8F=B0=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?key=E7=94=B3=E8=AF=B7=E3=80=81=E9=85=8D=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=80=82=E9=85=8D=E7=AD=89=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/build.gradle | 6 ++++- lib/apm/firebase/firebase_helper.dart | 34 +++++++++++++++++++-------- lib/flavors.dart | 32 +++++++++++++++++++++++++ lib/main_xhj_bundle_lite.dart | 2 +- lib/tools/push/xs_jPhush.dart | 14 ++++------- lib/widget/flavors_img.dart | 4 ++-- 6 files changed, 68 insertions(+), 24 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 87be9e46..d71567ad 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,7 +148,11 @@ android { applicationId "ltd.xhjcn.lock" signingConfig signingConfigs.xhj_bundle resValue "string", "app_name", "Star Lock" - manifestPlaceholders.JPUSH_PKGNAME = "ltd.xhjcn.lock" + manifestPlaceholders = [ + JPUSH_PKGNAME : "ltd.xhjcn.lock", + JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e", + JPUSH_CHANNEL : "flutter_channel", + ] proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro' } diff --git a/lib/apm/firebase/firebase_helper.dart b/lib/apm/firebase/firebase_helper.dart index 98188c1c..cb354174 100644 --- a/lib/apm/firebase/firebase_helper.dart +++ b/lib/apm/firebase/firebase_helper.dart @@ -4,14 +4,15 @@ import 'package:firebase_core/firebase_core.dart' show Firebase, FirebaseOptions; import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform; +import 'package:star_lock/flavors.dart'; class DefaultFirebaseOptions { static FirebaseOptions get currentPlatform { - switch (defaultTargetPlatform) { - case TargetPlatform.android: - return android; - case TargetPlatform.iOS: - return ios; + switch (F.appFlavor) { + case Flavor.sky: + return sky_android; + case Flavor.xhj_bundle: + return xhj_android; default: throw UnsupportedError( 'DefaultFirebaseOptions are not supported for this platform.', @@ -19,14 +20,22 @@ class DefaultFirebaseOptions { } } - static const FirebaseOptions android = FirebaseOptions( + static const FirebaseOptions sky_android = FirebaseOptions( apiKey: 'AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g', appId: '1:281500445726:android:ddf52ac7b7f83cf5c4d20f', messagingSenderId: '281500445726', - projectId: 'skychip2023-ecdff', + projectId: 'smart-lock-12b8c', storageBucket: 'skychip2023-ecdff.firebasestorage.app', ); + static const FirebaseOptions xhj_android = FirebaseOptions( + apiKey: 'AIzaSyAm8dJlBY5hjslJDVDBNd2bkWrJlGjAMqw', + appId: '1:448746601330:android:1a8056175e1dad5e317beb', + messagingSenderId: '448746601330', + projectId: 'smart-lock-12b8c', + storageBucket: 'smart-lock-12b8c.firebasestorage.app', + ); + static const FirebaseOptions ios = FirebaseOptions( apiKey: 'AIzaSyACbp5aUKhLU1SMg8iIdm9WmNX7wxI7fVc', appId: '1:281500445726:ios:b194ccffb92fb86cc4d20f', @@ -51,9 +60,14 @@ class FirebaseHelper { } Future initApp() async { - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); + const bool isProductVmMode = bool.fromEnvironment('dart.vm.product'); + if (F.isProductionEnv && + isProductVmMode && + defaultTargetPlatform == TargetPlatform.android) { + await Firebase.initializeApp( + options: DefaultFirebaseOptions.currentPlatform, + ); + } } Future initSdk() async { diff --git a/lib/flavors.dart b/lib/flavors.dart index 5334def5..145d2bf5 100755 --- a/lib/flavors.dart +++ b/lib/flavors.dart @@ -8,6 +8,7 @@ enum Flavor { sky_dev, sky_pre, xhj, + xhj_bundle, xhj_dev, xhj_pre, } @@ -48,6 +49,7 @@ class F { static bool get isXHJ => appFlavor == Flavor.xhj || + appFlavor == Flavor.xhj_bundle || appFlavor == Flavor.xhj_dev || appFlavor == Flavor.xhj_pre; @@ -71,6 +73,7 @@ class F { case Flavor.dev: case Flavor.pre: case Flavor.xhj: + case Flavor.xhj_bundle: default: return xhjCall(); } @@ -89,6 +92,7 @@ class F { case Flavor.sky_pre: return '锁通通'.tr; case Flavor.xhj: + case Flavor.xhj_bundle: case Flavor.xhj_dev: case Flavor.xhj_pre: return '星星锁'.tr; @@ -110,6 +114,7 @@ class F { case Flavor.sky_pre: return '锁通通'.tr; case Flavor.xhj: + case Flavor.xhj_bundle: case Flavor.xhj_dev: case Flavor.xhj_pre: return '星星锁'.tr; @@ -136,6 +141,7 @@ class F { case Flavor.sky: return 'https://lock.skychip.top'; case Flavor.xhj: + case Flavor.xhj_bundle: return 'https://lock.xhjcn.ltd'; // return 'https://pre.lock.star-lock.cn'; default: @@ -186,6 +192,9 @@ class F { return const StarLockAMapKey( androidKey: '9dd8073a2e96870b206269bb562a887a', iosKey: 'c70047e60ce704d945ea89d6c2763b82'); + case Flavor.xhj_bundle: + return const StarLockAMapKey( + androidKey: 'c47fa8e1d9e2a25321dbee75e1ff7790', iosKey: ''); default: return const StarLockAMapKey( androidKey: 'no valied key', @@ -250,6 +259,28 @@ class F { } } + // StarLockAMapKey + static String get jPushKey { + switch (appFlavor) { + case Flavor.local: + case Flavor.dev: + case Flavor.pre: + return ''; + case Flavor.sky_dev: + case Flavor.sky_pre: + case Flavor.sky: + return '7ff37d174c1a568a89e98dad'; + case Flavor.xhj_dev: + case Flavor.xhj_pre: + case Flavor.xhj: + return '251fc8074820d122b6de58d2'; + case Flavor.xhj_bundle: + return '5ccdb9b8d3faaae66ba5d02e'; + default: + return ''; + } + } + // 是否是生产环境 static bool get isProductionEnv { switch (appFlavor) { @@ -259,6 +290,7 @@ class F { return false; case Flavor.sky: case Flavor.xhj: + case Flavor.xhj_bundle: return true; default: return false; diff --git a/lib/main_xhj_bundle_lite.dart b/lib/main_xhj_bundle_lite.dart index d24e296d..8cf182cb 100755 --- a/lib/main_xhj_bundle_lite.dart +++ b/lib/main_xhj_bundle_lite.dart @@ -4,7 +4,7 @@ import 'flavors.dart'; import 'main.dart' as runner; Future main() async { - F.appFlavor = Flavor.xhj; + F.appFlavor = Flavor.xhj_bundle; F.isLite = true; // AppLog.log('xhj_lite调用了main函数'); await runner.main(); diff --git a/lib/tools/push/xs_jPhush.dart b/lib/tools/push/xs_jPhush.dart index 7c72a424..1d1847f2 100755 --- a/lib/tools/push/xs_jPhush.dart +++ b/lib/tools/push/xs_jPhush.dart @@ -24,18 +24,12 @@ class XSJPushProvider { return; } - String appKey; - if (F.isSKY) { - appKey = '7ff37d174c1a568a89e98dad'; - } else { - appKey = '251fc8074820d122b6de58d2'; - } - + print('jPushKey ${F.jPushKey}'); jpush.setup( - appKey: appKey, + appKey: F.jPushKey, channel: 'flutter_channel', - production: false, - debug: false, + production: F.isProductionEnv, + debug: !F.isProductionEnv, ); jpush.applyPushAuthority( diff --git a/lib/widget/flavors_img.dart b/lib/widget/flavors_img.dart index 4d7eb325..f1fa0138 100755 --- a/lib/widget/flavors_img.dart +++ b/lib/widget/flavors_img.dart @@ -15,9 +15,9 @@ class FlavorsImg extends StatelessWidget { @override Widget build(BuildContext context) { myFilter = ColorFilterGenerator(name: 'xhj', filters: >[ - if (black) ColorFilterAddons.addictiveColor(-255, -255, -255) else ColorFilterAddons.addictiveColor(1, 22, 93), + if (black) ColorFilterAddons.addictiveColor(-255, -255, -255) else ColorFilterAddons.addictiveColor(1 , 22, 93), ]); - if (F.appFlavor != Flavor.xhj) { + if (F.appFlavor != Flavor.xhj && F.appFlavor != Flavor.xhj_bundle) { return child; } return ColorFiltered( From d4e7753fcffa210bc6e664503a1f72d8e6e3c86d Mon Sep 17 00:00:00 2001 From: Liuyf Date: Fri, 24 Jan 2025 13:31:40 +0800 Subject: [PATCH 2/7] =?UTF-8?q?fix=EF=BC=9A=E6=98=9F=E6=98=9F=E9=94=81?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=8C=85=E5=90=8D=E7=AD=BE=E5=90=8D=E5=90=8E?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3=E5=8F=B0=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?key=E7=94=B3=E8=AF=B7=E3=80=81=E9=85=8D=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=80=82=E9=85=8D=E7=AD=89=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/android/app/build.gradle b/android/app/build.gradle index d71567ad..549a0230 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -146,6 +146,7 @@ android { xhj_bundle { dimension "flavor-type" applicationId "ltd.xhjcn.lock" + signingConfig signingConfigs.xhj_bundle resValue "string", "app_name", "Star Lock" manifestPlaceholders = [ From 28442b961447979ca081d5236d12fd94d0d4a8dc 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, 24 Jan 2025 13:47:26 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=98=9F=E5=9B=BE?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=EF=BC=9A=E7=BD=91=E5=85=B3=E3=80=81=E5=AF=B9?= =?UTF-8?q?=E8=AE=B2=E3=80=81P2P=E5=AF=B9=E5=BA=94=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 42 ++++++++-------- ios/Runner.xcodeproj/project.pbxproj | 35 ++++--------- lan/lan_ar.json | 1 - lan/lan_bg.json | 1 - lan/lan_bn.json | 3 +- lan/lan_cs.json | 1 - lan/lan_da.json | 3 +- lan/lan_de.json | 1 - lan/lan_el.json | 3 +- lan/lan_en.json | 4 +- lan/lan_es.json | 1 - lan/lan_et.json | 3 +- lan/lan_fi.json | 3 +- lan/lan_fr.json | 3 +- lan/lan_he.json | 3 +- lan/lan_hk.json | 1 - lan/lan_hr.json | 3 +- lan/lan_hu.json | 3 +- lan/lan_id.json | 3 +- lan/lan_it.json | 1 - lan/lan_ja.json | 3 +- lan/lan_keys.json | 4 +- lan/lan_kk.json | 3 +- lan/lan_ko.json | 3 +- lan/lan_lt.json | 3 +- lan/lan_ms.json | 3 +- lan/lan_nl.json | 3 +- lan/lan_pl.json | 3 +- lan/lan_pt.json | 3 +- lan/lan_ro.json | 3 +- lan/lan_ru.json | 3 +- lan/lan_sk.json | 1 - lan/lan_sr_cyrl.json | 1 - lan/lan_sv.json | 1 - lan/lan_th.json | 1 - lan/lan_tr.json | 3 +- lan/lan_tw.json | 3 +- lan/lan_uk.json | 3 +- lan/lan_vi.json | 1 - lan/lan_zh.json | 2 +- lib/main.dart | 2 +- lib/main_local.dart | 2 +- .../gatewayConfigurationWifi_page.dart | 18 +++---- .../gatewayGetWifiList_logic.dart | 16 ++++++ .../gatewayGetWifiList_page.dart | 50 ++++++++++++------- .../gatewayGetWifiList_state.dart | 10 ++-- .../selectGatewayList_logic.dart | 9 +++- .../selectGatewayTypeNextTip_page.dart | 2 +- 48 files changed, 130 insertions(+), 147 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index e0f0b584..be48a85c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -10,12 +10,12 @@ PODS: - EMASRest - AlicloudUT (5.2.0.16): - AlicloudUTDID - - AlicloudUTDID (1.6.0) - - AlicloudUtils (2.0.0): + - AlicloudUTDID (1.6.1) + - AlicloudUtils (2.0.1): - AlicloudUTDID - aliyun_face_plugin (0.0.1): - Flutter - - AMap3DMap (10.0.700): + - AMap3DMap (10.1.200): - AMapFoundation (>= 1.8.0) - amap_flutter_location (0.0.1): - AMapLocation @@ -167,10 +167,10 @@ PODS: - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleMaps (6.2.1): - - GoogleMaps/Maps (= 6.2.1) - - GoogleMaps/Base (6.2.1) - - GoogleMaps/Maps (6.2.1): + - GoogleMaps (7.4.0): + - GoogleMaps/Maps (= 7.4.0) + - GoogleMaps/Base (7.4.0) + - GoogleMaps/Maps (7.4.0): - GoogleMaps/Base - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment @@ -203,8 +203,8 @@ PODS: - Flutter - image_picker_ios (0.0.1): - Flutter - - ios-voice-processor (1.1.0) - - JCore (4.6.2) + - ios-voice-processor (1.1.2) + - JCore (4.9.0) - JPush (5.3.0): - JCore (>= 2.0.0) - jpush_flutter (0.0.2): @@ -230,9 +230,9 @@ PODS: - permission_handler_apple (9.3.0): - Flutter - PromisesObjC (2.4.0) - - SDWebImage (5.19.2): - - SDWebImage/Core (= 5.19.2) - - SDWebImage/Core (5.19.2) + - SDWebImage (5.20.0): + - SDWebImage/Core (= 5.20.0) + - SDWebImage/Core (5.20.0) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -243,7 +243,7 @@ PODS: - system_settings (0.0.1): - Flutter - Toast (4.1.1) - - UMCommon (7.4.7): + - UMCommon (7.5.2): - UMDevice - UMDevice (3.4.0) - umeng_common_sdk (0.0.1): @@ -427,10 +427,10 @@ SPEC CHECKSUMS: AlicloudPush: 88529c9b796e4ece0601de0867b30359f55b61f7 AlicloudSender: 1f468b6bd962a099ffc19d45e3608b0fe98f259d AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338 - AlicloudUTDID: 4e9d44c2fd704b3508069c38eaec9d6a759e702c - AlicloudUtils: 2a78de434a8b2dc99e408c4d6220e654076d9ef0 + AlicloudUTDID: 5d2f22d50e11eecd38f30bc7a48c71925ea90976 + AlicloudUtils: ef4436f52b828b1182b002373758ecb88068e679 aliyun_face_plugin: 7a90b6526c5acea616062e809699294c782c3eb8 - AMap3DMap: 6ee456d7ba946ebbad580a343b74ffa8e9936175 + AMap3DMap: 06a11a83072857d6076c14060b2e1a676182e84d amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a AMapFoundation: 9885c48fc3a78fdfb84a0299a2293e56ea3c9fec @@ -465,12 +465,12 @@ SPEC CHECKSUMS: fluwx: c18fd6c16b03a2187cd07d6e48e32a7801962849 google_maps_flutter_ios: f135b968a67c05679e0a53538e900b5c174b0d99 GoogleAppMeasurement: 6e49ffac7d3f2c3ded9cc663f912a13b67bbd0de - GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 + GoogleMaps: 032f676450ba0779bd8ce16840690915f84e57ac GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 - ios-voice-processor: 8e32d7f980a06d392d128ef1cd19cf6ddcaca3c1 - JCore: 024c73b04e110b496e93d8c127ea9cd1ed934e4c + ios-voice-processor: 00bf226d172c7006f565d6b6dbf2dc5e5b76938b + JCore: 1128d8c6f33f5c3607536a7b87c0e450d2c6ada6 JPush: b71f497a3c1b825c7843fd97f290b05d5cd75f2e jpush_flutter: c87be254790933c0363684169ef9d3d279a5adc5 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa @@ -481,13 +481,13 @@ SPEC CHECKSUMS: path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a + SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8 shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e - UMCommon: 8b4cd0423297c39bca6eea1ec896558b40e5bcf7 + UMCommon: 72513a01ebca2dead52f2112b4d7c6196dbbe412 UMDevice: dcdf7ec167387837559d149fbc7d793d984faf82 umeng_common_sdk: a8abd7f86dfd013dbbeeae587ee143760c6582f2 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 7a12c6ca..7006341b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -1075,10 +1075,8 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1088,7 +1086,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.starlock.lock.local; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Debug_com.starlock.lock.local.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1200,10 +1197,8 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1212,7 +1207,6 @@ ); PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Appstore_com.skychip.lock.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1226,10 +1220,8 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-xhj.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1239,7 +1231,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.xhjcn.lock; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Appstore_com.xhjcn.lock.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1570,10 +1561,8 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1583,7 +1572,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.skychip.lock.pre; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Adhoc_com.skychip.lock.pre.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1766,10 +1754,8 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-xhj.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1779,7 +1765,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.xhjcn.lock.pre; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Adhoc_com.xhjcn.lock.pre.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/lan/lan_ar.json b/lan/lan_ar.json index f550d3eb..51882dae 100644 --- a/lan/lan_ar.json +++ b/lan/lan_ar.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "كلمات المرور غير متسقة", "中功率": "قوة متوسطة", "常规使用": "استخدام منتظم", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "بعد تشغيل البوابة ، اضغط مع الاستمرار على زر إعادة الضبط لمدة 5 ثوانٍ ، وانقر بعد ذلك عندما يومض مصباح المؤشر بالتناوب", "扫描设备": "جهاز المسح الضوئي", "删除失败,网关可能已经离线,是否强制删除该数据?": "فشل الحذف. ربما تكون البوابة قد اختفت دون اتصال. هل تريد فرض حذف البيانات ؟", "超级管理员英文": "Super Admin", diff --git a/lan/lan_bg.json b/lan/lan_bg.json index 2f3d144b..62e1410b 100644 --- a/lan/lan_bg.json +++ b/lan/lan_bg.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Паролите са непоследователни", "中功率": "Средна мощност", "常规使用": "Редовна употреба", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "След като шлюзът е включен, натиснете и задръжте бутона reset за 5 секунди и щракнете върху следващия, когато индикаторната светлина мига алтернативно", "扫描设备": "Сканиране устройство", "删除失败,网关可能已经离线,是否强制删除该数据?": "Изтриването не успя. Портата може да е отишла офлайн. Искате ли да принудите изтриване на данните?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_bn.json b/lan/lan_bn.json index 03eafc2b..7c730be4 100644 --- a/lan/lan_bn.json +++ b/lan/lan_bn.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Thepasswordsare pencay", "中功率": "উইউমপোওয়ার", "常规使用": "গ্যারিউস", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "অ্যারাস্টার্টিউইসপোভেরেডন, প্রেস এবং টিপেস্টেট্রিসেট গানttonfor5sononds, এবং চক্লিক উইভেন্থে-উইন্টার", "扫描设备": "সিস্কান্লিভাইস", "删除失败,网关可能已经离线,是否强制删除该数据?": "ডাইজেজেশনিমেরিলেড। টিভওয়েমাইয়ানভিগনোনোআরলাইন। ডো ডাউনডেটা?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "এক্ফক্লোসিস্টেম", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "ব্যান্ডোটারট্রাসেট, thelock'sferprinতা?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "ব্যান্ডোটারপ্রাসেট, নিয়ন্ত্রণের নিয়ন্ত্রণ। ডোডো ডাইভান্টটুরে?", - "版本说明": "ভার্সনপরিচিতি", + "版本说明": "ভার্সনপরিচিতি" } \ No newline at end of file diff --git a/lan/lan_cs.json b/lan/lan_cs.json index d0eb38e6..504867c1 100644 --- a/lan/lan_cs.json +++ b/lan/lan_cs.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Hesla jsou nekonzistentní", "中功率": "Střední síla", "常规使用": "Pravidelné použití", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po zapnutí brány stiskněte a podržte tlačítko reset po dobu 5 sekund a klepněte na tlačítko next", "扫描设备": "Skenovat zařízení", "删除失败,网关可能已经离线,是否强制删除该数据?": "Odstranění se nezdařilo. Brána možná byla offline. Chcete vynutit smazat data?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_da.json b/lan/lan_da.json index 768ec600..df10a266 100644 --- a/lan/lan_da.json +++ b/lan/lan_da.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Adgangskoderne er inkonsekvente", "中功率": "Mellem effekt", "常规使用": "Regelmæssig anvendelse", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Når gateway er tændt, tryk og hold nulstillingsknappen i 5 sekunder, og klik Next, når indikator lys blinker skiftevist", "扫描设备": "Scan- enhed", "删除失败,网关可能已经离线,是否强制删除该数据?": "Sletning mislykkedes. Porten er måske offline. Vil du tvinge slette data?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Følg systemet", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Efter nulstilling vil låsens fingeraftryk blive slettet. Er du sikker på at du vil nulstille den?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Efter nulstilling, fjernbetjeningen af låsen vil blive slettet. Vil du nulstille den?", - "版本说明": "Versionsbeskrivelse", + "版本说明": "Versionsbeskrivelse" } \ No newline at end of file diff --git a/lan/lan_de.json b/lan/lan_de.json index e6e2f250..32b6dcd6 100644 --- a/lan/lan_de.json +++ b/lan/lan_de.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Die Passwörter sind inkonsistent", "中功率": "Mittlere Leistung", "常规使用": "Regelmäßige Verwendung", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nachdem das Gateway eingesc haltet ist, drücken und halten Sie die Reset-Taste für 5 Sekunden, und klicken Sie auf Weiter, wenn die Kontroll leuchte blinkt abwechselnd", "扫描设备": "Scan-Gerät", "删除失败,网关可能已经离线,是否强制删除该数据?": "Löschung fehl geschlagen. Das Gateway ist möglicher weise offline gegangen. Möchten Sie das Löschen der Daten erzwingen?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_el.json b/lan/lan_el.json index a076aac3..dadf971d 100644 --- a/lan/lan_el.json +++ b/lan/lan_el.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Οι κωδικοί πρόσβασης δεν είναι συνεπείς.", "中功率": "Μέση ισχύς", "常规使用": "Κανονική χρήση:", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Αφού ενεργοποιηθεί η πύλη, πατήστε και κρατήστε το κουμπί επαναφοράς για 5 δευτερόλεπτα, και κάντε κλικ Next όταν το φως δείκτη αναβοσβήνει εναλλάξα", "扫描设备": "Συσκευή σάρωσης", "删除失败,网关可能已经离线,是否强制删除该数据?": "Η διαγραφή απέτυχε. Η πύλη μπορεί να έχει εκτός λειτουργίας. Θέλετε να αναγκάσετε τη διαγραφή των δεδομένων;", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Ακολουθήστε το σύστημα", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Μετά την επαναφορά, τα αποτυπώματα της κλειδαριάς θα διαγραφούν. Είστε σίγουροι ότι θέλετε να το επαναφέρετε;", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Μετά την επαναφορά, το τηλεχειριστήριο της κλειδαριάς θα διαγραφεί. Θέλεις να το επαναφέρεις;", - "版本说明": "Περιγραφή έκδοσης", + "版本说明": "Περιγραφή έκδοσης" } \ No newline at end of file diff --git a/lan/lan_en.json b/lan/lan_en.json index 37e99e98..eb01a32a 100644 --- a/lan/lan_en.json +++ b/lan/lan_en.json @@ -217,7 +217,6 @@ "添加网关": "Add Gateway", "重新通电": "Re Connect the Power", "指示灯": "Indicator Light", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds, and click Next when the indicator light flashes alternately", "选择网关": "Choose Gateway", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "5G is not supported,.Please select a WiFi of 2.4G.", "WiFi密码": "WiFi Passward", @@ -1121,5 +1120,6 @@ "跟随系统": "Follow system", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "After reset, the lock's fingerprints will be deleted. Are you sure you want to reset it?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "After reset, the remote control of the lock will be deleted. Do you want to reset it?", - "版本说明": "Version description" + "版本说明": "Version description", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "After the gateway is powered on, press and hold the reset button for 5 seconds. Click Next when the blue indicator light flashes" } diff --git a/lan/lan_es.json b/lan/lan_es.json index 3e47d880..f2d40436 100644 --- a/lan/lan_es.json +++ b/lan/lan_es.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Las contraseñas son inconsistentes", "中功率": "Potencia media", "常规使用": "Uso regular", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Después de encender la puerta de enlace, mantenga presionado el botón de reinicio durante 5 segundos y haga clic en Siguiente cuando la luz indicadora parpadee alternativamente", "扫描设备": "Dispositivo de exploración", "删除失败,网关可能已经离线,是否强制删除该数据?": "Falló la eliminación. Es posible que la puerta de enlace se haya desconectado. ¿Desea forzar la eliminación de los datos?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_et.json b/lan/lan_et.json index 63e90c7a..3b680872 100644 --- a/lan/lan_et.json +++ b/lan/lan_et.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Paroolid ei ole järjekindlad", "中功率": "Keskmine võimse", "常规使用": "Regulaarne kasutamine", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Kui värav on sisse lülitatud, vajutage ja hoidke nuppu 5 sekundit, ja klõpsa Järgmine, kui indikaator valgus vilgub vaheldumisel", "扫描设备": "Skaneerimisseade", "删除失败,网关可能已经离线,是否强制删除该数据?": "Kustutamine nurjus. Värav võis välja lülitada. Kas soovid kustutada andmed?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Süsteemi jälgimine", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Pärast lähtestamist kustutatakse luku sõrmejäljed. Kas tõesti soovid see lähtestada?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Pärast lähtestamist kustutatakse luku kaugjuhtimine. Kas sa tahad seda lähtestada?", - "版本说明": "Versiooniteave", + "版本说明": "Versiooniteave" } \ No newline at end of file diff --git a/lan/lan_fi.json b/lan/lan_fi.json index 53aee63c..0bc1d06e 100644 --- a/lan/lan_fi.json +++ b/lan/lan_fi.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Salasanat ovat epäjohdonmukaiset.", "中功率": "Keskimääräinen teho", "常规使用": "Säännöllinen käyttö", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Kun portti on käytössä, paina ja pidä painiketta nollauspainiketta 5 sekunnin ajan, ja klikkaa Seuraava kun ilmaisin valo vilkkuu vuorotellensa", "扫描设备": "Skannauslaite", "删除失败,网关可能已经离线,是否强制删除该数据?": "Poisto epäonnistui. Portti on ehkä pois päältä. Haluatko pakottaa poistamaan tiedot?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Seuraa järjestelmää", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Lukon sormenjäljet poistetaan. Haluatko varmasti nollataa sen?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Nollauksen jälkeen lukon kaukosäädin poistetaan. Haluatko palauttaa sen?", - "版本说明": "Versio", + "版本说明": "Versio" } \ No newline at end of file diff --git a/lan/lan_fr.json b/lan/lan_fr.json index 36f4918d..f2c17fcc 100644 --- a/lan/lan_fr.json +++ b/lan/lan_fr.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Les mots de passe sont incohérents", "中功率": "Puissance moyenne", "常规使用": "Utilisation régulière", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Une fois la passerelle allumée, appuyez et maintenez enfoncé le bouton de réinitialisation pendant 5 secondes, puis cliquez sur Suivant lorsque le voyant clignote alternativement", "扫描设备": "Appareil de numérisation", "删除失败,网关可能已经离线,是否强制删除该数据?": "La suppression a échoué. La passerelle est peut-être hors ligne. Voulez-vous forcer la suppression des données?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Suivre le système", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Après réinitialisation, les empreintes digitales de la serrure seront supprimées. Êtes-vous sûr de vouloir le réinitialiser?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Après réinitialisation, la télécommande du verrou sera supprimée. Voulez-vous le réinitialiser?", - "版本说明": "Explication de la version", + "版本说明": "Explication de la version" } \ No newline at end of file diff --git a/lan/lan_he.json b/lan/lan_he.json index 2214efd6..b5ce2fe3 100644 --- a/lan/lan_he.json +++ b/lan/lan_he.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "הסיסמאות אינן עקביות", "中功率": "כוח בינוני", "常规使用": "שימוש קבוע", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "לאחר השער מופעל, לחץ והחזק את כפתור איפוס עבור 5 שניות, ולחץ על הבא כאשר מחוון אור מהבהב לסירוגין", "扫描设备": "התקן סריקה", "删除失败,网关可能已经离线,是否强制删除该数据?": "מחיקה נכשלה. ייתכן שהשער נעלם מהרשת. האם ברצונך לאלץ למחוק את הנתונים?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "מערכת מעקב", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "לאחר איפוס, טביעות האצבעות של המנעול יימחקו. אתה בטוח שברצונך לאפס את זה?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "לאחר איפוס, השליטה מרחוק של המנעול יימחק. אתה רוצה לאפס את זה?", - "版本说明": "המידע על גרסה", + "版本说明": "המידע על גרסה" } \ No newline at end of file diff --git a/lan/lan_hk.json b/lan/lan_hk.json index 10f8f20f..c61800ba 100644 --- a/lan/lan_hk.json +++ b/lan/lan_hk.json @@ -217,7 +217,6 @@ "添加网关": "添加網關", "重新通电": "重新連接電源", "指示灯": "指示燈", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "網關上電之後,長按復位鍵5秒,指示燈交替閃爍時點擊下一步", "选择网关": "選擇Gateway (網關)", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "唔撐5G。 請選擇2.4G嘅WiFi。", "WiFi密码": "WiFi通行證", diff --git a/lan/lan_hr.json b/lan/lan_hr.json index 2b46ae3f..3eede61c 100644 --- a/lan/lan_hr.json +++ b/lan/lan_hr.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Šifre nisu dosljedne", "中功率": "Srednja snaga", "常规使用": "Redovna upotreba", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nakon što se prolaz ukljuèi, pritisnite i zadržite dugme za reset 5 sekundi, i kliknite Sljedeća kada svjetlost indikatora izmijeniti", "扫描设备": "Skeniraj uređaj", "删除失败,网关可能已经离线,是否强制删除该数据?": "Brisanje nije uspjelo. Prolaz je možda nestao. Želite li prisiliti brisati podatke?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Prati sistem:", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Nakon resetovanja, otisci brave će biti izbrisani. Jeste li sigurni da ga želite resetirati?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Nakon resetovanja, daljinski upravljač brave će biti izbrisan. Hoæeš da ga resetuješ?", - "版本说明": "Informacije o verziji", + "版本说明": "Informacije o verziji" } \ No newline at end of file diff --git a/lan/lan_hu.json b/lan/lan_hu.json index 6398d992..f0a2c104 100644 --- a/lan/lan_hu.json +++ b/lan/lan_hu.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "A jelszavak nem következetesek", "中功率": "Közepes teljesítmény", "常规使用": "Rendszeres használat", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Miután az átjáró be van kapcsolva, nyomja meg és tartsa a reset gombot 5 másodpercig, és kattintson a következő gombra, amikor a jelző fény felváltva villog", "扫描设备": "Beolvasási eszköz", "删除失败,网关可能已经离线,是否强制删除该数据?": "A törlés nem sikerült. Az átjáró lehet, hogy offline lett. Szeretné kényszeríteni az adatok törlését?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Follow system", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "A reset után a zár ujjlenyomatai törlődnek. Biztos vagy benne, hogy vissza szeretné állítani?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "A reset után a zár távirányítója törlődik. Szeretné visszaállítani?", - "版本说明": "Versió leírás", + "版本说明": "Versió leírás" } \ No newline at end of file diff --git a/lan/lan_id.json b/lan/lan_id.json index 872dcb41..735d0d50 100644 --- a/lan/lan_id.json +++ b/lan/lan_id.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Kata sandi tidak konsisten", "中功率": "Kekuatan sedang", "常规使用": "Penggunaan biasa", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Setelah gateway menyala, tekan dan tahan tombol reset selama 5 detik, dan klik berikutnya ketika lampu indikator berkedip secara bersamaan", "扫描设备": "Perangkat Pindai", "删除失败,网关可能已经离线,是否强制删除该数据?": "Penghapusan gagal. Gateway mungkin telah offline. Ingin menghapus data?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Sistem mengikuti", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Setelah mengulang, sidik jari kunci akan dihapus. Yakin ingin meresetnya?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Setelah reset, remote control kunci akan dihapus. Ingin mengatur ulang?", - "版本说明": "Catatan versi", + "版本说明": "Catatan versi" } \ No newline at end of file diff --git a/lan/lan_it.json b/lan/lan_it.json index 7bb5d872..91b0f6cf 100644 --- a/lan/lan_it.json +++ b/lan/lan_it.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Le password sono incoerenti", "中功率": "Potenza media", "常规使用": "Uso regolare", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Dopo aver acceso il gateway, tenere premuto il pulsante di ripristino per 5 secondi e fare clic su Avanti quando l'indicatore luminoso lampeggia alternativamente", "扫描设备": "Dispositivo di scansione", "删除失败,网关可能已经离线,是否强制删除该数据?": "Eliminazione non riuscita. Il gateway potrebbe essere andato offline. Vuoi forzare l'eliminazione dei dati?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_ja.json b/lan/lan_ja.json index 6c2f6de7..77e5ddd2 100644 --- a/lan/lan_ja.json +++ b/lan/lan_ja.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "パスワードが一致しない", "中功率": "ミディアムパワー", "常规使用": "通常の使用", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "ゲートウェイの電源がオンになった後、リセットボタンを5秒間押し続け、インジケーターライトが交互に点滅したら [次へ] をクリックします。", "扫描设备": "スキャン装置", "删除失败,网关可能已经离线,是否强制删除该数据?": "削除に失敗しました。ゲートウェイがオフラインになった可能性があります。強制的にデータを削除しますか?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "システムに従う", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "リセット後、ロックの指紋は削除されます。リセットしてもよろしいですか。", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "リセット後、ロックのリモコンが削除されます。リセットしますか?", - "版本说明": "バージョン説明", + "版本说明": "バージョン説明" } \ No newline at end of file diff --git a/lan/lan_keys.json b/lan/lan_keys.json index 577abfa7..d4247e2f 100755 --- a/lan/lan_keys.json +++ b/lan/lan_keys.json @@ -219,7 +219,7 @@ "添加网关": "添加网关", "重新通电": "重新通电", "指示灯": "指示灯", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步", "选择网关": "选择网关", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置", "WiFi密码": "WiFi密码", @@ -1121,5 +1121,5 @@ "跟随系统": "跟随系统", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置后,该锁的指纹都将被删除哦,确认要重置吗?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置后,该锁的遥控都将被删除哦,确认要重置吗?", - "版本说明": "版本说明", + "版本说明": "版本说明" } diff --git a/lan/lan_kk.json b/lan/lan_kk.json index ee063c9e..6bafdaca 100644 --- a/lan/lan_kk.json +++ b/lan/lan_kk.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Парольдер болмаған", "中功率": "Орташа қуары", "常规使用": "Қалыпты қолданылсын", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Келесі періңізнен соң, ысырып тасымалдау батырмасын басып 5 секунд басыңыз, Индикаторның жарықты ауыстырғанда, келесі басыңыз", "扫描设备": "Сканер құрылғысы", "删除失败,网关可能已经离线,是否强制删除该数据?": "Өшіру жаңылысы. Келесі жіберді. Деректерді өшіргіңіз келе ме?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Жүйені қолдану", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Қайта ысырып тастау Шынымен ысырып тастауды қалайсыз ба?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Қайта ысырып ысырып тасымалдауын өшіріледі. Оны ысырып тастауды қалайсыз ба?", - "版本说明": "Версиятын көрсету", + "版本说明": "Версиятын көрсету" } \ No newline at end of file diff --git a/lan/lan_ko.json b/lan/lan_ko.json index 0240269d..ecaeda0f 100644 --- a/lan/lan_ko.json +++ b/lan/lan_ko.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "암호가 일치하지 않습니다.", "中功率": "중간 전력", "常规使用": "정사이즈 사용", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "게이트웨이의 전원이 켜진 후 5 초 동안 리셋 버튼을 누르고 누르고 표시등이 번갈아 깜박이면 다음 을 클릭하십시오.", "扫描设备": "스캔 장치", "删除失败,网关可能已经离线,是否强制删除该数据?": "삭제가 실패했습니다. 게이트웨이가 오프라인 상태일 수 있다. 강제로 데이터 삭제를 하시겠습니까?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "시스템을 따르십시오", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "재설정 후 잠금 장치의 지문이 삭제됩니다. 당신은 그것을 재설정 하시겠습니까?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "재설정 후 잠금 장치의 리모컨이 삭제됩니다. 당신은 그것을 재설정 하시겠습니까?", - "版本说明": "버전 설명", + "版本说明": "버전 설명" } \ No newline at end of file diff --git a/lan/lan_lt.json b/lan/lan_lt.json index 939601de..fec5cf96 100644 --- a/lan/lan_lt.json +++ b/lan/lan_lt.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Slaptažodžiai yra nenuoseklūs", "中功率": "Vidutinės galios", "常规使用": "Reguliarus naudojimas", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Įjungus vartus, 5 sekundes paspauskite ir palaikykite reset mygtuką ir spustelėkite toliau, kai indikatoriaus lemputė mirksi pakaitomis.", "扫描设备": "Nuskaitymo įrenginys", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ištrynimas nepavyko. Vartai gali būti neprisijungę. Ar norite priversti ištrinti duomenis?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Sekti sistema", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po reset užrakto pirštų atspaudai bus ištrinti. Ar tikrai norite jį atkurti?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po reset, nuotolinis valdymo pultas užraktas bus ištrintas. Ar norite jį atkurti?", - "版本说明": "Versijos aprašymas", + "版本说明": "Versijos aprašymas" } \ No newline at end of file diff --git a/lan/lan_ms.json b/lan/lan_ms.json index 05ed0ebd..f084c7bb 100644 --- a/lan/lan_ms.json +++ b/lan/lan_ms.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Kata laluan tidak konsisten", "中功率": "Kuasa sederhana", "常规使用": "Penggunaan biasa", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Selepas pintu masuk dihidupkan, tekan dan tahan butang reset selama 5 saat, dan klik seterusnya apabila lampu penunjuk berkelip bergantian", "扫描设备": "Imbas peranti", "删除失败,网关可能已经离线,是否强制删除该数据?": "Penghapusan gagal. Pintu masuk mungkin telah pergi di luar talian. Adakah anda mahu memaksa memadam data?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Ikut system", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Selepas menetapkan semula, cap jari kunci akan dipadamkan. Adakah anda pasti anda mahu menetapkan semula?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Selepas menetapkan semula, kawalan jauh kunci akan dipadamkan. Adakah anda mahu menetapkan semula?", - "版本说明": "Penerangan versi", + "版本说明": "Penerangan versi" } \ No newline at end of file diff --git a/lan/lan_nl.json b/lan/lan_nl.json index ceb6ec0e..3bed21f6 100644 --- a/lan/lan_nl.json +++ b/lan/lan_nl.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "De wachtwoorden zijn inconsistent", "中功率": "Middelgroot vermogen", "常规使用": "Regelmatig gebruik", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Nadat de gateway is ingeschakeld, houdt u de resetknop 5 seconden ingedrukt en klikt u op Volgende wanneer het indicatielampje afwisselend knippert", "扫描设备": "Scan apparaat", "删除失败,网关可能已经离线,是否强制删除该数据?": "Verwijdering is mislukt. De gateway is mogelijk offline gegaan. Wilt u de gegevens forceren verwijderen?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Systeem volgen", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Na het resetten worden de vingerafdrukken van het slot verwijderd. Weet je zeker dat je het wilt resetten?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Na het resetten wordt de afstandsbediening van het slot verwijderd. Wilt u het resetten?", - "版本说明": "Versieomschrijving", + "版本说明": "Versieomschrijving" } \ No newline at end of file diff --git a/lan/lan_pl.json b/lan/lan_pl.json index 18cfb3d6..fe406a81 100644 --- a/lan/lan_pl.json +++ b/lan/lan_pl.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Hasła są niespójne", "中功率": "Średnia moc", "常规使用": "Regularne stosowanie", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po włączeniu bramy naciśnij i przytrzymaj przycisk resetowania przez 5 sekund i kliknij przycisk Dalej, gdy wskaźnik miga na przemian", "扫描设备": "Urządzenie skanujące", "删除失败,网关可能已经离线,是否强制删除该数据?": "Usunięcie nie powiodło się. Brama mogła zostać wyłączona. Czy chcesz wymusić usunięcie danych?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Śledź system", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Po zresetowaniu odciski palców zamka zostaną usunięte. Czy na pewno chcesz go zresetować?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Po zresetowaniu zdalne sterowanie zamkiem zostanie usunięte. Czy chcesz go zresetować?", - "版本说明": "Wersja", + "版本说明": "Wersja" } \ No newline at end of file diff --git a/lan/lan_pt.json b/lan/lan_pt.json index 22636d1e..bcdb2ed2 100644 --- a/lan/lan_pt.json +++ b/lan/lan_pt.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "As senhas são inconsistentes", "中功率": "Potência média", "常规使用": "Uso regular", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Depois que o gateway estiver ligado, pressione e segure o botão de reset por 5 segundos e clique em Next quando a luz indicadora pisca alternadamente", "扫描设备": "Digitalizar dispositivo", "删除失败,网关可能已经离线,是否强制删除该数据?": "A eliminação falhou. O gateway pode ter ficado offline. Você quer forçar a exclusão dos dados?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Siga o sistema", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Após a redefinição, as impressões digitais do bloqueio serão apagadas. Tens a certeza que queres redefini-lo?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Após a reinicialização, o controle remoto do bloqueio será excluído. Você quer redefini-lo?", - "版本说明": "Descrição da versão", + "版本说明": "Descrição da versão" } \ No newline at end of file diff --git a/lan/lan_ro.json b/lan/lan_ro.json index 3fe81f0f..7c6da3e2 100644 --- a/lan/lan_ro.json +++ b/lan/lan_ro.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Parolele sunt inconsistente", "中功率": "Putere medie", "常规使用": "Utilizare regulată", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "După ce poarta este pornită, apăsați și țineți butonul de resetare timp de 5 secunde, și faceți clic pe Următor atunci când lumina indicatorului se aprinde alternativ.", "扫描设备": "Dispozitiv de scanare", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ștergerea a eșuat. Poarta poate s-a oprit. Doriți să forțați ștergerea datelor?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Urmează sistemul:", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "După resetare, amprentele încuietorii vor fi şterse. Sigur doriți să-l resetați?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "După resetare, telecomanda de blocare va fi ştersă. Vrei să-l resetezi?", - "版本说明": "Descrierea versiunii", + "版本说明": "Descrierea versiunii" } \ No newline at end of file diff --git a/lan/lan_ru.json b/lan/lan_ru.json index cfba1ebf..8001445e 100644 --- a/lan/lan_ru.json +++ b/lan/lan_ru.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Пароли являются несовместимыми", "中功率": "Средняя мощность", "常规使用": "Регулярное использование", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "После включения шлюза нажмите и удерживайте кнопку сброса в течение 5 секунд и нажмите «Далее», когда индикатор попеременно начнет мигать.", "扫描设备": "Устройство сканирования", "删除失败,网关可能已经离线,是否强制删除该数据?": "Ошибка удаления. Возможно, шлюз ушел в автономный режим. Хотите ли вы принудительно удалить данные?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Следуйте системе", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "После сброса отпечатки пальцев замка будут удалены. Вы уверены, что хотите его перезагрузить?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "После сброса пульт дистанционного управления замком будет удален. А вы хотите его сбросить?", - "版本说明": "Объяснение версии", + "版本说明": "Объяснение версии" } \ No newline at end of file diff --git a/lan/lan_sk.json b/lan/lan_sk.json index 7606e642..e6c0b02f 100644 --- a/lan/lan_sk.json +++ b/lan/lan_sk.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Heslá sú nekonzistentné", "中功率": "Stredný výkon", "常规使用": "Pravidelné použitie", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Po zapnutí brány stlačte a podržte tlačidlo reset po dobu 5 sekúnd a kliknite na ďalšie, keď indikátorové svetlo záblesky striedavo", "扫描设备": "Skenovanie zariadenia", "删除失败,网关可能已经离线,是否强制删除该数据?": "Vymazanie sa nepodarilo. Brána môže ísť offline. Chcete vynútiť odstránenie údajov?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_sr_cyrl.json b/lan/lan_sr_cyrl.json index 076b29b3..bdfb900b 100644 --- a/lan/lan_sr_cyrl.json +++ b/lan/lan_sr_cyrl.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Лозинке су недоследне", "中功率": "Средња снага", "常规使用": "Редовна употреба", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Након што је гатеваи укључен, притисните и држите дугме за ресетовање за 5 секунди, и кликните Следећи када индикатор трепери наизменично", "扫描设备": "Уређај за скенирање", "删除失败,网关可能已经离线,是否强制删除该数据?": "Брисање није успело. Гатеваи је можда отишао ван мреже. Да ли желите да присилите брисање података?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_sv.json b/lan/lan_sv.json index c81b013b..99de674a 100644 --- a/lan/lan_sv.json +++ b/lan/lan_sv.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Lösenord är inkonsekventa", "中功率": "Medelse", "常规使用": "Regelbunden användning", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "När gateway är på, tryck och håll omställningsknappen i 5 sekunder, och klicka Nästa när indikatorljuset blinkar växelvist", "扫描设备": "Söka enheter", "删除失败,网关可能已经离线,是否强制删除该数据?": "Borttagning misslyckades. Porten kan ha gått offline. Vill du tvinga bort data?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_th.json b/lan/lan_th.json index bf4bdf0c..62fc6a47 100644 --- a/lan/lan_th.json +++ b/lan/lan_th.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "รหัสผ่านไม่สอดคล้องกัน", "中功率": "กำลังไฟปานกลาง", "常规使用": "ใช้เป็นประจำ", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "หลังจากเปิดเกตเวย์แล้วให้กดปุ่มรีเซ็ตค้างไว้5วินาทีและคลิกถัดไปเมื่อไฟแสดงสถานะกะพริบสลับกัน", "扫描设备": "อุปกรณ์สแกน", "删除失败,网关可能已经离线,是否强制删除该数据?": "การลบล้มเหลวเกตเวย์อาจออฟไลน์ไปแล้วคุณต้องการบังคับให้ลบข้อมูลหรือไม่?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_tr.json b/lan/lan_tr.json index 035738ba..8bf1e675 100644 --- a/lan/lan_tr.json +++ b/lan/lan_tr.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Şifreler tutarsız", "中功率": "Orta güç", "常规使用": "Düzenli kullanım", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Ağ geçidi açıldıktan sonra, sıfırlama düğmesine 5 saniye basılı tutun ve gösterge ışığı dönüşümlü olarak yanıp söndüğünde İleri'ye tıklayın.", "扫描设备": "Tarama cihazı", "删除失败,网关可能已经离线,是否强制删除该数据?": "Silme başarısız oldu. Ağ geçidi çevrimdışı geçmiş olabilir. Verileri silmeye zorlamak ister misiniz?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Sistemi takip et", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Sıfırlamadan sonra, kilidin parmak izleri silinecektir. Sıfırlamak istediğine emin misin?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Sıfırladıktan sonra, kilidin uzaktan kumandası silinecektir. Sıfırlamak ister misin?", - "版本说明": "Sürüm açıklaması", + "版本说明": "Sürüm açıklaması" } \ No newline at end of file diff --git a/lan/lan_tw.json b/lan/lan_tw.json index 7347b2c4..3c0cf448 100644 --- a/lan/lan_tw.json +++ b/lan/lan_tw.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "密碼不一致", "中功率": "媒介權力", "常规使用": "經常使用", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "網關通電後,按住reset按鈕5秒鐘,當指示燈交替閃爍時單擊Next", "扫描设备": "掃描設備", "删除失败,网关可能已经离线,是否强制删除该数据?": "刪除失敗。 網關可能已脫機。 是否要強制刪除數據?", "超级管理员英文": "超級管理員", @@ -1121,5 +1120,5 @@ "跟随系统": "跟蹤系統", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "重置後,鎖的指紋將被刪除。 是否確實要重置它?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "重置後,鎖的遙控器將被刪除。 是否要重置它?", - "版本说明": "版本說明", + "版本说明": "版本說明" } \ No newline at end of file diff --git a/lan/lan_uk.json b/lan/lan_uk.json index 1df767a6..bbbe0c19 100644 --- a/lan/lan_uk.json +++ b/lan/lan_uk.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Паролі несумісні", "中功率": "Середня потужність", "常规使用": "Регулярне використання", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Після ввімкнення шлюзу натисніть і утримуйте кнопку скидання протягом 5 секунд, а потім натисніть «Далі», коли індикатор почне блимати по черзі", "扫描设备": "Сканування пристрою", "删除失败,网关可能已经离线,是否强制删除该数据?": "Видалення не вдалося. Можливо, шлюз перейшов в автономний режим. Ви хочете примусово видалити дані?", "超级管理员英文": "Super Admin", @@ -1121,5 +1120,5 @@ "跟随系统": "Система стеження за", "重置后,该锁的指纹都将被删除哦,确认要重置吗?": "Після скидання відбитки пальців замка будуть видалені. Ви впевнені, що хочете скинути налаштування?", "重置后,该锁的遥控都将被删除哦,确认要重置吗?": "Після скидання пульт дистанційного керування замком буде видалено. Хочете його скинути?", - "版本说明": "Опис версії", + "版本说明": "Опис версії" } \ No newline at end of file diff --git a/lan/lan_vi.json b/lan/lan_vi.json index 5e8939b7..3d23aa5b 100644 --- a/lan/lan_vi.json +++ b/lan/lan_vi.json @@ -1105,7 +1105,6 @@ "两次密码不一致哦": "Mật khẩu không nhất quán", "中功率": "Công suất trung bình", "常规使用": "Sử dụng thường xuyên", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "Sau khi cổng được bật, Nhấn và giữ nút đặt lại trong 5 giây và Nhấp vào tiếp theo khi đèn báo nhấp nháy luân phiên", "扫描设备": "Thiết bị quét", "删除失败,网关可能已经离线,是否强制删除该数据?": "Xóa thất bại. Cổng có thể đã tắt. Bạn có muốn buộc xóa dữ liệu không?", "超级管理员英文": "Super Admin", diff --git a/lan/lan_zh.json b/lan/lan_zh.json index d5099701..d665bb14 100755 --- a/lan/lan_zh.json +++ b/lan/lan_zh.json @@ -218,7 +218,7 @@ "添加网关": "添加网关", "重新通电": "重新通电", "指示灯": "指示灯", - "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", + "网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步": "网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步", "选择网关": "选择网关", "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置", "WiFi密码": "WiFi密码", diff --git a/lib/main.dart b/lib/main.dart index a25d730e..b4fc09fd 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -27,7 +27,7 @@ import 'tools/store_service.dart'; FutureOr main() async { FlutterBugly.postCatchedException(() async { WidgetsFlutterBinding.ensureInitialized(); - await ApmHelper.instance.initApp(); + // await ApmHelper.instance.initApp(); await _setCommonServices(); // 设置国际化信息 diff --git a/lib/main_local.dart b/lib/main_local.dart index 9e30d007..0fe387f7 100755 --- a/lib/main_local.dart +++ b/lib/main_local.dart @@ -4,7 +4,7 @@ import 'flavors.dart'; import 'main.dart' as runner; Future main() async { - F.appFlavor = Flavor.xhj; + F.appFlavor = Flavor.pre; // AppLog.log('local调用了main函数'); await runner.main(); } diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart index e1e20481..5342d939 100755 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart @@ -36,15 +36,15 @@ class _GatewayConfigurationWifiPageState backgroundColor: AppColors.mainColor), body: Column( children: [ - // Container( - // width: 1.sw, - // color: const Color(0xFFF2F6F9), - // padding: EdgeInsets.all(15.h), - // child: Text( - // '不支持5G WiFi网络,请选择2.4G WiFi网络进行配置'.tr, - // style: TextStyle( - // color: AppColors.darkGrayTextColor, fontSize: 20.sp), - // )), + Container( + width: 1.sw, + color: const Color(0xFFF2F6F9), + padding: EdgeInsets.all(15.h), + child: Text( + '不支持5G WiFi网络,请选择2.4G WiFi网络进行配置'.tr, + style: TextStyle( + color: AppColors.darkGrayTextColor, fontSize: 20.sp), + )), Expanded( child: ListView( children: [ diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart index 9d671e45..bc1be973 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:network_info_plus/network_info_plus.dart'; import 'package:star_lock/blue/io_gateway/io_gateway_getWifiList.dart'; import 'package:star_lock/tools/baseGetXController.dart'; @@ -128,11 +129,26 @@ class GatewayGetWifiListLogic extends BaseGetXController { }, isAddEquipment: true); } + final NetworkInfo _networkInfo = NetworkInfo(); + Future getWifiName() async { + String ssid = ''; + ssid = (await _networkInfo.getWifiName())!; + ssid = ssid ?? ''; + ssid = ssid.replaceAll(r'"', ''); + return ssid ?? ''; + } + @override void onReady() { super.onReady(); _initReplySubscription(); + + getWifiName().then((String value) { + state.phoneConnectedWiFi = value; + // update(); + // AppLog.log('wifiNameTF:${state.wifiNameTF.text} value:$value'); + }); } @override diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart index fc031e43..7302a69b 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -20,9 +19,11 @@ class GatewayGetWifiListPage extends StatefulWidget { State createState() => _GatewayGetWifiListPageState(); } -class _GatewayGetWifiListPageState extends State with RouteAware{ +class _GatewayGetWifiListPageState extends State + with RouteAware { final GatewayGetWifiListLogic logic = Get.put(GatewayGetWifiListLogic()); - final GatewayGetWifiListState state = Get.find().state; + final GatewayGetWifiListState state = + Get.find().state; @override Widget build(BuildContext context) { @@ -34,7 +35,8 @@ class _GatewayGetWifiListPageState extends State with Ro actionsList: [ TextButton( child: Text( - '刷新'.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp), + '刷新'.tr, + style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: logic.senderGetWifiListWifiAction, ), @@ -43,17 +45,25 @@ class _GatewayGetWifiListPageState extends State with Ro body: Column( children: [ Expanded( - child: Obx(() => state.wifiNameDataList.value.isNotEmpty ? ListView.builder( - itemCount: state.wifiNameDataList.value.length, - itemBuilder: (BuildContext c, int index) { - Map wifiNameStr = state.wifiNameDataList.value[index]; - return _messageListItem(wifiNameStr['wifiName'], wifiNameStr['rssi'], () { - Get.toNamed(Routers.gatewayConfigurationWifiPage, arguments: { - 'wifiName': wifiNameStr['wifiName'], - 'gatewayModel': state.gatewayModel - }); - }); - }) : NoData(noDataHeight: 1.sh - ScreenUtil().statusBarHeight - ScreenUtil().bottomBarHeight - 64.h)), + child: Obx(() => state.wifiNameDataList.value.isNotEmpty + ? ListView.builder( + itemCount: state.wifiNameDataList.value.length, + itemBuilder: (BuildContext c, int index) { + Map wifiNameStr = state.wifiNameDataList.value[index]; + return _messageListItem( + wifiNameStr['wifiName'], wifiNameStr['rssi'], () { + Get.toNamed(Routers.gatewayConfigurationWifiPage, + arguments: { + 'wifiName': wifiNameStr['wifiName'], + 'gatewayModel': state.gatewayModel + }); + }); + }) + : NoData( + noDataHeight: 1.sh - + ScreenUtil().statusBarHeight - + ScreenUtil().bottomBarHeight - + 64.h)), ), SubmitBtn( btnName: '手动配网'.tr, @@ -70,8 +80,7 @@ class _GatewayGetWifiListPageState extends State with Ro height: 64.h, ) ], - ) - ); + )); } Widget _messageListItem(String wifiName, String rssi, Function() action) { @@ -93,7 +102,7 @@ class _GatewayGetWifiListPageState extends State with Ro children: [ SizedBox( height: 79.h, - width: 1.sw - 20.w*2, + width: 1.sw - 20.w * 2, child: Row( // mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -103,7 +112,10 @@ class _GatewayGetWifiListPageState extends State with Ro maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle( - fontSize: 22.sp, color: AppColors.blackColor), + fontSize: 22.sp, + color: state.phoneConnectedWiFi == wifiName + ? AppColors.mainColor + : AppColors.blackColor), ), ), // Text( diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart index 0ef78d83..224c1025 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_state.dart @@ -1,10 +1,8 @@ - - import 'package:get/get.dart'; import '../selectGateway/getGatewayInfo_model.dart'; -class GatewayGetWifiListState{ +class GatewayGetWifiListState { GatewayGetWifiListState() { var map = Get.arguments; if (map['gatewayModel'] != null && map['gatewayModel'] != '') { @@ -12,9 +10,11 @@ class GatewayGetWifiListState{ } } - final RxList> wifiNameDataList = >[].obs; + final RxList> wifiNameDataList = + >[].obs; GetGatewayInfoModel gatewayModel = GetGatewayInfoModel(); RxBool ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 RxInt sureBtnState = 0.obs; -} \ No newline at end of file + String? phoneConnectedWiFi; +} diff --git a/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart b/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart index 89289209..09222b9e 100644 --- a/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart +++ b/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart @@ -97,9 +97,9 @@ class SelectGatewayListLogic extends BaseGetXController { } void startScanBlueList() { + state.devices.clear(); BlueManage().startScan(2000, DeviceType.gateway, (List list) { AppLog.log('ScanResultList:$list'); - state.devices.clear(); for (int i = 0; i < list.length; i++) { final ScanResult device = list[i]; // if ((device.advertisementData.serviceUuids.isNotEmpty @@ -107,7 +107,12 @@ class SelectGatewayListLogic extends BaseGetXController { // : '') // .toString()[31] != // '1') { - state.devices.add(list[i]); + if (!state.devices.contains(device)) { + state.devices.add(device); + } else { + // 包含的情况下替换 + state.devices[state.devices.indexOf(device)] = device; + } // AppLog.log('device:${list[i]}'); // } } diff --git a/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart b/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart index 6626f63f..e63d2cfd 100755 --- a/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart +++ b/lib/mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart @@ -53,7 +53,7 @@ class _SelectGatewayTypeNextTipPageState padding: EdgeInsets.all(20.w), child: Center( child: Text( - '网关通电后,长按重置按钮5秒,指示灯交替闪烁时点击下一步'.tr, + '网关通电后,长按重置按钮5秒,蓝色指示灯闪烁时点击下一步'.tr, textAlign: TextAlign.center, style: TextStyle(fontSize: 18.sp), ))), From cceec11e7f1ca60bdf217ae2a6a52ce25754e71b Mon Sep 17 00:00:00 2001 From: wsy <786612630@qq.com> Date: Sun, 26 Jan 2025 17:26:29 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=E6=94=BE=E5=BC=80Firebase=E8=B0=83?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index b4fc09fd..a25d730e 100755 --- a/lib/main.dart +++ b/lib/main.dart @@ -27,7 +27,7 @@ import 'tools/store_service.dart'; FutureOr main() async { FlutterBugly.postCatchedException(() async { WidgetsFlutterBinding.ensureInitialized(); - // await ApmHelper.instance.initApp(); + await ApmHelper.instance.initApp(); await _setCommonServices(); // 设置国际化信息 From e1d347760e1882be625874df996f9ecdb5a9dbc1 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Sun, 26 Jan 2025 18:01:22 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fix=EF=BC=9A=E6=98=9F=E6=98=9F=E9=94=81?= =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=8C=85=E5=90=8D=E7=AD=BE=E5=90=8D=E5=90=8E?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3=E5=8F=B0=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?key=E7=94=B3=E8=AF=B7=E3=80=81=E9=85=8D=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=80=82=E9=85=8D=E7=AD=89=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 43 ++++++++++++++-------------- ios/Runner.xcodeproj/project.pbxproj | 35 +++++++++++++++------- 2 files changed, 47 insertions(+), 31 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index be48a85c..a137bc25 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -10,12 +10,12 @@ PODS: - EMASRest - AlicloudUT (5.2.0.16): - AlicloudUTDID - - AlicloudUTDID (1.6.1) - - AlicloudUtils (2.0.1): + - AlicloudUTDID (1.6.0) + - AlicloudUtils (2.0.0): - AlicloudUTDID - aliyun_face_plugin (0.0.1): - Flutter - - AMap3DMap (10.1.200): + - AMap3DMap (10.0.700): - AMapFoundation (>= 1.8.0) - amap_flutter_location (0.0.1): - AMapLocation @@ -167,10 +167,10 @@ PODS: - GoogleUtilities/Network (~> 8.0) - "GoogleUtilities/NSData+zlib (~> 8.0)" - nanopb (~> 3.30910.0) - - GoogleMaps (7.4.0): - - GoogleMaps/Maps (= 7.4.0) - - GoogleMaps/Base (7.4.0) - - GoogleMaps/Maps (7.4.0): + - GoogleMaps (6.2.1): + - GoogleMaps/Maps (= 6.2.1) + - GoogleMaps/Base (6.2.1) + - GoogleMaps/Maps (6.2.1): - GoogleMaps/Base - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment @@ -203,8 +203,8 @@ PODS: - Flutter - image_picker_ios (0.0.1): - Flutter - - ios-voice-processor (1.1.2) - - JCore (4.9.0) + - ios-voice-processor (1.1.0) + - JCore (4.6.2) - JPush (5.3.0): - JCore (>= 2.0.0) - jpush_flutter (0.0.2): @@ -230,9 +230,9 @@ PODS: - permission_handler_apple (9.3.0): - Flutter - PromisesObjC (2.4.0) - - SDWebImage (5.20.0): - - SDWebImage/Core (= 5.20.0) - - SDWebImage/Core (5.20.0) + - SDWebImage (5.19.2): + - SDWebImage/Core (= 5.19.2) + - SDWebImage/Core (5.19.2) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -243,7 +243,7 @@ PODS: - system_settings (0.0.1): - Flutter - Toast (4.1.1) - - UMCommon (7.5.2): + - UMCommon (7.4.7): - UMDevice - UMDevice (3.4.0) - umeng_common_sdk (0.0.1): @@ -427,10 +427,10 @@ SPEC CHECKSUMS: AlicloudPush: 88529c9b796e4ece0601de0867b30359f55b61f7 AlicloudSender: 1f468b6bd962a099ffc19d45e3608b0fe98f259d AlicloudUT: 6d1cf30d57d096b7e9bb4b069dd0ba6ad59a3338 - AlicloudUTDID: 5d2f22d50e11eecd38f30bc7a48c71925ea90976 - AlicloudUtils: ef4436f52b828b1182b002373758ecb88068e679 + AlicloudUTDID: 4e9d44c2fd704b3508069c38eaec9d6a759e702c + AlicloudUtils: 2a78de434a8b2dc99e408c4d6220e654076d9ef0 aliyun_face_plugin: 7a90b6526c5acea616062e809699294c782c3eb8 - AMap3DMap: 06a11a83072857d6076c14060b2e1a676182e84d + AMap3DMap: 6ee456d7ba946ebbad580a343b74ffa8e9936175 amap_flutter_location: 44ff5beb64f42e0bf5feb402fe299dac0013af6f amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a AMapFoundation: 9885c48fc3a78fdfb84a0299a2293e56ea3c9fec @@ -465,12 +465,12 @@ SPEC CHECKSUMS: fluwx: c18fd6c16b03a2187cd07d6e48e32a7801962849 google_maps_flutter_ios: f135b968a67c05679e0a53538e900b5c174b0d99 GoogleAppMeasurement: 6e49ffac7d3f2c3ded9cc663f912a13b67bbd0de - GoogleMaps: 032f676450ba0779bd8ce16840690915f84e57ac + GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 - ios-voice-processor: 00bf226d172c7006f565d6b6dbf2dc5e5b76938b - JCore: 1128d8c6f33f5c3607536a7b87c0e450d2c6ada6 + ios-voice-processor: 8e32d7f980a06d392d128ef1cd19cf6ddcaca3c1 + JCore: 024c73b04e110b496e93d8c127ea9cd1ed934e4c JPush: b71f497a3c1b825c7843fd97f290b05d5cd75f2e jpush_flutter: c87be254790933c0363684169ef9d3d279a5adc5 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa @@ -481,13 +481,13 @@ SPEC CHECKSUMS: path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8 + SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e - UMCommon: 72513a01ebca2dead52f2112b4d7c6196dbbe412 + UMCommon: 8b4cd0423297c39bca6eea1ec896558b40e5bcf7 UMDevice: dcdf7ec167387837559d149fbc7d793d984faf82 umeng_common_sdk: a8abd7f86dfd013dbbeeae587ee143760c6582f2 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe @@ -498,3 +498,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 728f9c851a19709391c77c54ed3556e484b54db6 COCOAPODS: 1.14.3 + diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 7006341b..7a12c6ca 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -1075,8 +1075,10 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = NAQ5PL2DYC; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1086,6 +1088,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.starlock.lock.local; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Debug_com.starlock.lock.local.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1197,8 +1200,10 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = NAQ5PL2DYC; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1207,6 +1212,7 @@ ); PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Appstore_com.skychip.lock.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1220,8 +1226,10 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-xhj.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = P8997RW3V8; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1231,6 +1239,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.xhjcn.lock; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Appstore_com.xhjcn.lock.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1561,8 +1570,10 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-sky.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = NAQ5PL2DYC; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = NAQ5PL2DYC; INFOPLIST_FILE = Runner/info_sky.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1572,6 +1583,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.skychip.lock.pre; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Adhoc_com.skychip.lock.pre.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1754,8 +1766,10 @@ buildSettings = { CODE_SIGN_ENTITLEMENTS = "Runner/RunnerRelease-xhj.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = P8997RW3V8; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = P8997RW3V8; INFOPLIST_FILE = Runner/info_xhj.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = ( @@ -1765,6 +1779,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.xhjcn.lock.pre; PRODUCT_NAME = Runner; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = Adhoc_com.xhjcn.lock.pre.mobileprovision; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; From bc2850c65ec252da9a34341b9f142c5204675430 Mon Sep 17 00:00:00 2001 From: liyi Date: Wed, 5 Feb 2025 17:56:57 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E7=8C=AB=E7=9C=BC?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=A1=B9=E7=9B=AE=E4=BC=A0=E9=80=92=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/blue/io_sender.dart | 9 +- .../card/addICCard/addICCard_logic.dart | 15 +- .../catEyeCustomMode_logic.dart | 13 +- .../catEyeSet/catEyeSet/catEyeSet_logic.dart | 46 ++-- .../catEyeWorkMode/catEyeWorkMode_logic.dart | 251 ++++++++++++++++++ .../catEyeWorkMode/catEyeWorkMode_state.dart | 3 + .../catEyeSet/videoSlot/videoSlot_logic.dart | 1 - .../lockSet/liveVideo/liveVideo_logic.dart | 7 - lib/talk/starChart/star_chart_manage.dart | 4 +- 9 files changed, 300 insertions(+), 49 deletions(-) diff --git a/lib/blue/io_sender.dart b/lib/blue/io_sender.dart index cbd1c631..67a67e7b 100755 --- a/lib/blue/io_sender.dart +++ b/lib/blue/io_sender.dart @@ -1,4 +1,3 @@ - import 'package:star_lock/app_settings/app_settings.dart'; import 'io_tool/io_manager.dart'; @@ -8,12 +7,14 @@ abstract class IOData { List messageDetail(); } -abstract class SenderProtocol extends IOData { //数据块 +abstract class SenderProtocol extends IOData { + //数据块 // final int? tail = 0xFF; //用来校验包的完整性,采用 CRC 校验方法,长度为 2 个字节 SenderProtocol(this.commandType) { _commandIndex = IoManager().commandIndex; } + // var uint8View1 = Uint8List(300); CommandType? commandType; //指令类型 @@ -33,8 +34,8 @@ abstract class SenderProtocol extends IOData { //数据块 void printLog(List data) { AppLog.log( - "App -> 锁,指令类型:${commandType!.typeName} ${commandType!.typeValue == 0x3030 - ? '子命令:${data[3]}' : ''} \n参数是:\n${toString()} \n加密之前数据是:\n$data 长度是:${data.length}"); + "App -> 锁,指令类型:${commandType!.typeName} ${commandType!.typeValue == 0x3030 ? '子命令:${data[3]}' : ''} \n参数是:\n${toString()} \n加密之前数据是:\n$data 长度是:${data.length}"); + AppLog.log("子命令数据是:${data.sublist(66, 79)}"); } // 拼装数据 diff --git a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart index 17398032..dda931b0 100755 --- a/lib/main/lockDetail/card/addICCard/addICCard_logic.dart +++ b/lib/main/lockDetail/card/addICCard/addICCard_logic.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/login/login/entity/LoginEntity.dart'; import 'package:star_lock/main/lockDetail/card/addICCard/addICCard_entity.dart'; import 'package:star_lock/tools/baseGetXController.dart'; @@ -52,11 +53,11 @@ class AddICCardLogic extends BaseGetXController { switch (status) { case 0x00: //成功 - final List cardNumberList = - reply.data.sublist(reply.data.length - 2); - final String cardNumber = listChangInt(cardNumberList).toString(); - // AppLog.log("添加卡号:$cardNumberList cardNumber:$cardNumber"); - state.cardNumber.value = cardNumber.toString(); + // final List cardNumberList = + // reply.data.sublist(reply.data.length - 2); + // final String cardNumber = listChangInt(cardNumberList).toString(); + // // AppLog.log("添加卡号:$cardNumberList cardNumber:$cardNumber"); + // state.cardNumber.value = cardNumber.toString(); cancelBlueConnetctToastTimer(); state.ifAddState.value = true; @@ -134,6 +135,10 @@ class AddICCardLogic extends BaseGetXController { 'date': DateTool().getNowDateWithType(1), 'add_card_result': '成功', }); + AppLog.log('data:${reply.data}'); + final List cardNumberList = reply.data.sublist(6, 8); + final String cardNumber = listChangInt(cardNumberList).toString(); + state.cardNumber.value = cardNumber.toString(); switch (reply.data[5]) { case 0xff: // 注册指纹失败 diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart index c64479b0..66c5e50a 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart @@ -47,6 +47,8 @@ class CatEyeCustomModeLogic extends BaseGetXController { } } } + await _getConfigAndGenerateBleData(); + updateCatEyeSetConfig(); return entity; } @@ -79,8 +81,7 @@ class CatEyeCustomModeLogic extends BaseGetXController { ); if (entity.errorCode!.codeIsSuccessful) { showToast('设置成功'.tr); - _getConfigAndGenerateBleData(); - updateCatEyeSetConfig(); + await getLockSettingInfoData(); } } @@ -206,14 +207,6 @@ class CatEyeCustomModeLogic extends BaseGetXController { privateKey: getPrivateKeyList, ); final packageData = command.packageData(); - - // 将 List 转换为十六进制字符串 - String hexString = packageData - .map((byte) => byte.toRadixString(16).padLeft(2, '0')) - .join(' '); - - AppLog.log('open lock hexString: $hexString'); - /// 发送星图 StartChartManage().sendBleMessage( bluetoothDeviceName: BlueManage().connectDeviceName, diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart index 1ae06b97..e4dc25a9 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart @@ -29,7 +29,7 @@ class CatEyeSetLogic extends BaseGetXController { state.catEyeConfig.value.autoLightScreen = state.isAutoBright.value == true ? 1 : 0; state.catEyeConfig.refresh(); - updateCatEyeSetConfig(); + await getLockSettingInfoData(); } } @@ -46,7 +46,7 @@ class CatEyeSetLogic extends BaseGetXController { state.catEyeConfig.value.autoLightScreenTime = int.parse(state.selectBrightDuration.value.replaceAll('秒'.tr, '')); state.catEyeConfig.refresh(); - updateCatEyeSetConfig(); + await getLockSettingInfoData(); } } @@ -62,7 +62,7 @@ class CatEyeSetLogic extends BaseGetXController { state.catEyeConfig.value.autoLightScreen = state.isStayWarning.value == true ? 1 : 0; state.catEyeConfig.refresh(); - updateCatEyeSetConfig(); + await getLockSettingInfoData(); } } @@ -78,7 +78,7 @@ class CatEyeSetLogic extends BaseGetXController { state.catEyeConfig.value.autoLightScreen = state.isExceptionWarning.value == true ? 1 : 0; state.catEyeConfig.refresh(); - updateCatEyeSetConfig(); + await getLockSettingInfoData(); } } @@ -137,14 +137,14 @@ class CatEyeSetLogic extends BaseGetXController { XSConstantMacro.catEyeWorkModeCustom) { state.selectCatEyeWorkMode.value = '自定义模式'.tr; } - _getConfigAndGenerateBleData(); - updateCatEyeSetConfig(); } } + await _getConfigAndGenerateBleData(); + updateCatEyeSetConfig(); return entity; } - _getConfigAndGenerateBleData() { + _getConfigAndGenerateBleData() async { // 假设 state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode 是一个整数 int originalCatEyeMode = state .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!; @@ -168,13 +168,19 @@ class CatEyeSetLogic extends BaseGetXController { int recordTime = _handleGetIntNumber(state.lockSetInfoData.value .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!); - int detectionDistance = _handleDetectionDistance(state - .lockSetInfoData - .value - .lockSettingInfo! - .catEyeConfig![0] - .catEyeModeConfig! - .detectionDistance!); + int detectionDistance = 0; + if (state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0]! + .catEyeModeConfig!.detectionDistance != + null) { + detectionDistance = _handleDetectionDistance(state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig! + .detectionDistance!); + } + int realTimeMode = state.lockSetInfoData.value.lockSettingInfo! .catEyeConfig![0].catEyeModeConfig!.realTimeMode!; @@ -254,10 +260,10 @@ class CatEyeSetLogic extends BaseGetXController { final List? publicKey = await Storage.getStringList(saveBluePublicKey); final List getPublicKeyList = changeStringListToIntList(publicKey!); - + final userId = await Storage.getUid(); final command = SetSupportFunctionsWithParametersCommand( keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(), - userID: await Storage.getUid(), + userID: userId, featureBit: 64, featureParaLength: config.length, featureData: config, @@ -273,7 +279,7 @@ class CatEyeSetLogic extends BaseGetXController { .map((byte) => byte.toRadixString(16).padLeft(2, '0')) .join(' '); - AppLog.log('open lock hexString: $hexString'); + AppLog.log('发送透传猫眼设置: $hexString'); /// 发送星图 StartChartManage().sendBleMessage( @@ -344,10 +350,10 @@ class CatEyeSetLogic extends BaseGetXController { DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(recordStartTime); // 提取小时和分钟 - int hour = dateTime.hour; - int minute = dateTime.minute; +// int hour = dateTime.hour; +// int minute = dateTime.minute; - print("时: $hour, 分: $minute"); + // print("时: $hour, 分: $minute"); // 计算从当天0点开始的分钟数 int minutesSinceMidnight = dateTime.hour * 60 + dateTime.minute; diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart index 981a9d48..a3f59353 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart @@ -1,12 +1,16 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:get/get.dart'; +import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/blue/blue_manage.dart'; +import 'package:star_lock/blue/io_protocol/io_setSupportFunctionsWithParameters.dart'; import 'package:star_lock/blue/io_tool/io_tool.dart'; import 'package:star_lock/blue/sender_manage.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; +import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_state.dart'; import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart'; import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart'; import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/talk/starChart/star_chart_manage.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/versionUndate/versionUndate_entity.dart'; @@ -56,6 +60,8 @@ class CatEyeWorkModeLogic extends BaseGetXController { if (entity.errorCode!.codeIsSuccessful) { showToast('设置成功'.tr); getLockSettingInfoData(); + + updateCatEyeSetConfig(); } } @@ -122,7 +128,252 @@ class CatEyeWorkModeLogic extends BaseGetXController { XSConstantMacro.catEyeWorkModeCustom) { state.boolList.value = [false, false, false, true]; } + _getConfigAndGenerateBleData(); + updateCatEyeSetConfig(); } } } + + _getConfigAndGenerateBleData() { +// 假设 state.lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode 是一个整数 + int originalCatEyeMode = state + .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0].catEyeMode!; + int recordMode = state.lockSetInfoData.value.lockSettingInfo! + .catEyeConfig![0].catEyeModeConfig!.recordMode == + 0 + ? 1 + : 0; + + int stayWarn = state.lockSetInfoData.value.lockSettingInfo!.stayWarn!; + int abnormalWarn = + state.lockSetInfoData.value.lockSettingInfo!.abnormalWarn!; + int autoLightScreen = + state.lockSetInfoData.value.lockSettingInfo!.autoLightScreen!; + + int recordStartTime = _handleTimeToM(state.lockSetInfoData.value + .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordStartTime!); + int recordEndTime = _handleTimeToM(state.lockSetInfoData.value + .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordEndTime!); + + int recordTime = _handleGetIntNumber(state.lockSetInfoData.value + .lockSettingInfo!.catEyeConfig![0].catEyeModeConfig!.recordTime!); + + int detectionDistance = _handleDetectionDistance(state + .lockSetInfoData + .value + .lockSettingInfo! + .catEyeConfig![0] + .catEyeModeConfig! + .detectionDistance!); + int realTimeMode = state.lockSetInfoData.value.lockSettingInfo! + .catEyeConfig![0].catEyeModeConfig!.realTimeMode!; + + // 根据需要调整 catEyeMode 的值 + int adjustedCatEyeMode = + originalCatEyeMode > 0 ? originalCatEyeMode - 1 : originalCatEyeMode; + int brightScreenTime = + state.lockSetInfoData.value.lockSettingInfo!.autoLightScreenTime!; + + /// 对照星锁接口文档v0.2 的猫眼设置接口,获取出猫眼的所有设置 + state.catEyeConfig.value = CatEyeSetEntity( + catEyeMode: adjustedCatEyeMode, + // 猫眼模式 看常量表 + recordMode: recordMode, + //录像时段 0全天 1自定义时间 + recordStartTime: recordStartTime, + //自定义时间需要填:recordStartTime与recordEndTime参数 + recordEndTime: recordEndTime, + //自定义时间需要填:recordStartTime与recordEndTime参数 + realTimeMode: realTimeMode, + autoLightScreenTime: brightScreenTime, + stayWarn: stayWarn, + autoLightScreen: autoLightScreen, + // 打开自动亮屏 + abnormalWarn: abnormalWarn, + // 有人出现时录像时间 + recordTime: recordTime, + // 人体检测距离 + detectionDistance: detectionDistance, + realTimePicture: realTimeMode, + ); + state.catEyeConfig.refresh(); + } + + /// 更新锁板上的猫眼配置 + void updateCatEyeSetConfig() async { + final int operatingMode = state.catEyeConfig.value.catEyeMode ?? 1; // 自定义模式 + final int isAllDay = state.catEyeConfig.value.recordMode ?? 1; // 是否是全天 + final int startTime = + state.catEyeConfig.value.recordStartTime ?? 480; // 8:00 AM + final int endTime = + state.catEyeConfig.value.recordEndTime ?? 1080; // 6:00 PM + final int recordingTime = state.catEyeConfig.value.recordTime ?? 0; // 立即录像 + final int detectionDistance = + state.catEyeConfig.value.detectionDistance ?? 0; //0:0.8米 + final int realTimePicture = + state.catEyeConfig.value.realTimePicture ?? 0; // 实时查看 + final int automaticBrightening = + state.catEyeConfig.value.autoLightScreen ?? 1; // 打开逗留警告 + final int brightScreenTime = + state.catEyeConfig.value.autoLightScreenTime ?? 10; // 亮屏持续时间为15秒 + final int stayWarning = state.catEyeConfig.value.stayWarn ?? 1; // 打开逗留警告 + final int exceptionWarning = + state.catEyeConfig.value.abnormalWarn ?? 1; // 打开逗留警告 + + /// 生成配置,非自定义功能字段默认填充0 + final List config = generateConfig( + operatingMode: operatingMode, + isAllDay: isAllDay, + startTime: startTime, + endTime: endTime, + recordingTime: recordingTime, + detectionDistance: detectionDistance, + realTimePicture: realTimePicture, + automaticBrightening: automaticBrightening, + brightScreenTime: brightScreenTime, + stayWarning: stayWarning, + exceptionWarning: exceptionWarning, + ); + final List? privateKey = + await Storage.getStringList(saveBluePrivateKey); + final List getPrivateKeyList = changeStringListToIntList(privateKey!); + + final List? token = await Storage.getStringList(saveBlueToken); + final List getTokenList = changeStringListToIntList(token!); + + final List? publicKey = + await Storage.getStringList(saveBluePublicKey); + final List getPublicKeyList = changeStringListToIntList(publicKey!); + + final command = SetSupportFunctionsWithParametersCommand( + keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(), + userID: await Storage.getUid(), + featureBit: 64, + featureParaLength: config.length, + featureData: config, + token: getTokenList, + needAuthor: 1, + publicKey: getPublicKeyList, + privateKey: getPrivateKeyList, + ); + final packageData = command.packageData(); + + // 将 List 转换为十六进制字符串 + String hexString = packageData + .map((byte) => byte.toRadixString(16).padLeft(2, '0')) + .join(' '); + + AppLog.log('catEye set: $hexString'); + + /// 发送星图 + StartChartManage().sendBleMessage( + bluetoothDeviceName: BlueManage().connectDeviceName, + bleStructData: packageData, + ); + } + + // 根据提供的参数生成配置列表 + List generateConfig({ + required int operatingMode, + required int isAllDay, + required int startTime, + required int endTime, + required int recordingTime, + required int detectionDistance, + required int realTimePicture, + required int automaticBrightening, + required int brightScreenTime, + required int stayWarning, + required int exceptionWarning, + }) { + // 初始化一个空的列表 + List config = []; + + // 添加 operatingMode + config.add(operatingMode); + + // 如果不是自定义模式,则填充0;否则添加对应的值 + if (operatingMode != 3) { + config.addAll( + [0, 0, 0, 0, 0, 0]); // 对应 IsAllDay, StartTime, EndTime, recordingTime + } else { + config.add(isAllDay); + config.addAll(_intToBytes(startTime, 2)); // StartTime 占用2个字节 + config.addAll(_intToBytes(endTime, 2)); // EndTime 占用2个字节 + config.add(recordingTime); + } + + // 如果不是自定义模式,则 detectionDistance 和 realTimePicture 也填充0 + if (operatingMode != 3) { + config.addAll([0, 0]); + } else { + config.add(detectionDistance); + config.add(realTimePicture); + } + + // 自动亮屏、亮屏持续时间、逗留警告、异常警告 + config.add(automaticBrightening); + config.add(brightScreenTime); + config.add(stayWarning); + config.add(exceptionWarning); + + return config; + } + + // 将整数转换为指定长度的字节表示形式 + List _intToBytes(int value, int length) { + List bytes = []; + for (int i = length - 1; i >= 0; i--) { + bytes.add((value >> (8 * i)) & 0xFF); + } + return bytes; + } + + int _handleTimeToM(int recordStartTime) { +// 转换为 DateTime 对象 + DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(recordStartTime); + +// 提取小时和分钟 + int hour = dateTime.hour; + int minute = dateTime.minute; + + print("时: $hour, 分: $minute"); + +// 计算从当天0点开始的分钟数 + int minutesSinceMidnight = dateTime.hour * 60 + dateTime.minute; + return minutesSinceMidnight; + } + + int _handleGetIntNumber(String recordTime) { + if (recordTime == '不录像') { + return 0; + } + if (recordTime == '立即录像') { + return 1; + } + // 使用正则表达式匹配字符串中的数字 + RegExp regExp = RegExp(r'(\d+)秒'); + Match? match = regExp.firstMatch(recordTime); + + if (match != null && match.groupCount >= 1) { + // 提取出的数字是字符串形式,需要转换成整数 + int number = int.parse(match.group(1)!); + return number; + } else { + return 0; + } + } + + int _handleDetectionDistance(String s) { + if (s == '约0.8米') { + return 0; + } + if (s == '约1.5米') { + return 1; + } + if (s == '约3.0米') { + return 2; + } + return 0; + } } diff --git a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart index 7e7973bd..5d0c150a 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart @@ -1,4 +1,5 @@ import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_state.dart'; import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart'; class CatEyeWorkModeState { @@ -31,4 +32,6 @@ class CatEyeWorkModeState { // var selectCatEyeWorkMode = 0.obs; //猫眼工作模式 RxList boolList = [false, false, false, false].obs; Rx catEyeConfigData = CatEyeConfig().obs; + /// 猫眼配置 + Rx catEyeConfig = CatEyeSetEntity().obs; } diff --git a/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart b/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart index 7ba96c46..b97df6be 100755 --- a/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart +++ b/lib/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_logic.dart @@ -238,7 +238,6 @@ class VideoSlotLogic extends BaseGetXController { .map((byte) => byte.toRadixString(16).padLeft(2, '0')) .join(' '); - AppLog.log('open lock hexString: $hexString'); /// 发送星图 StartChartManage().sendBleMessage( diff --git a/lib/main/lockDetail/lockSet/liveVideo/liveVideo_logic.dart b/lib/main/lockDetail/lockSet/liveVideo/liveVideo_logic.dart index 72525db9..fa08f628 100755 --- a/lib/main/lockDetail/lockSet/liveVideo/liveVideo_logic.dart +++ b/lib/main/lockDetail/lockSet/liveVideo/liveVideo_logic.dart @@ -199,13 +199,6 @@ class LiveVideoLogic extends BaseGetXController { ); final packageData = command.packageData(); - // 将 List 转换为十六进制字符串 - String hexString = packageData - .map((byte) => byte.toRadixString(16).padLeft(2, '0')) - .join(' '); - - AppLog.log('open lock hexString: $hexString'); - /// 发送星图 StartChartManage().sendBleMessage( bluetoothDeviceName: BlueManage().connectDeviceName, diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart index 095c27ac..4ee12c03 100644 --- a/lib/talk/starChart/star_chart_manage.dart +++ b/lib/talk/starChart/star_chart_manage.dart @@ -1089,7 +1089,7 @@ class StartChartManage { void sendBleMessage({ required String bluetoothDeviceName, required List bleStructData, - }) { + }) async { // 组装上线消息 final message = MessageCommand.bleMessage( FromPeerId: FromPeerId, @@ -1098,7 +1098,7 @@ class StartChartManage { bluetoothDeviceName: bluetoothDeviceName, bleStructData: bleStructData, ); - _sendMessage(message: message); + await _sendMessage(message: message); } /// 销毁资源 From 9ca11199745cf37ee5fb6e8960577543b254b9bd Mon Sep 17 00:00:00 2001 From: liyi Date: Thu, 6 Feb 2025 10:03:18 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fix:=E5=8F=96=E6=B6=88=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/blue/io_sender.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/blue/io_sender.dart b/lib/blue/io_sender.dart index 67a67e7b..d67212e5 100755 --- a/lib/blue/io_sender.dart +++ b/lib/blue/io_sender.dart @@ -35,7 +35,6 @@ abstract class SenderProtocol extends IOData { void printLog(List data) { AppLog.log( "App -> 锁,指令类型:${commandType!.typeName} ${commandType!.typeValue == 0x3030 ? '子命令:${data[3]}' : ''} \n参数是:\n${toString()} \n加密之前数据是:\n$data 长度是:${data.length}"); - AppLog.log("子命令数据是:${data.sublist(66, 79)}"); } // 拼装数据