From f9e3886087b6f6f9f084b2b66e481395f1f45c02 Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Wed, 13 Mar 2024 16:45:21 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E6=97=A0=E8=AE=BAflavor=E6=98=AF?= =?UTF-8?q?=E4=BB=80=E4=B9=88=EF=BC=8Cdebug=E7=AD=BE=E5=90=8D=E9=83=BD?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=B8=BA=EF=BC=9A8B:38:27:69:4A:A0:F7:6B:5A:?= =?UTF-8?q?A6:4A:D0:14:92:81:64:AF:B1:F6:27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/android/app/build.gradle | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/star_lock/android/app/build.gradle b/star_lock/android/app/build.gradle index 91a32b6c..de479b6e 100644 --- a/star_lock/android/app/build.gradle +++ b/star_lock/android/app/build.gradle @@ -29,6 +29,15 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { signingConfigs { + // 这里“debug”不是一个自定义变量,而是一个特定的关键词,凡是使用--debug模式,都会引用到这里 + // 目前看来,debug模式没办法在buildTypes里面按flavors指定编译签名,所有口味的debug模式只能用同一个签名 + debug { + storeFile file("starlock.keystore") + storePassword '123456' + keyAlias = 'starlock' + keyPassword '123456' + } + // 下面的pre、sky、xhj 都是自定义变量,自身不起任何作用,而是看哪里引用了它们 pre { storeFile file("starlock.keystore") storePassword '123456' @@ -143,12 +152,6 @@ android { productFlavors.sky.signingConfig signingConfigs.sky productFlavors.xhj.signingConfig signingConfigs.xhj } - debug { - productFlavors.dev.signingConfig signingConfigs.pre - productFlavors.pre.signingConfig signingConfigs.pre - productFlavors.sky.signingConfig signingConfigs.sky - productFlavors.xhj.signingConfig signingConfigs.xhj - } } } From f02a495ecf6339ba6bb7fcc7dec2d689b3be7732 Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Wed, 13 Mar 2024 17:53:22 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=9A=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E9=94=AE=E8=B7=B3=E8=BF=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 52156863..5b7934d0 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.15+20240313 +version: 1.0.16+20240313002 environment: sdk: '>=2.12.0 <3.0.0' From 7807e99aa7a461614a36229246ea78ee390a828e Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Wed, 13 Mar 2024 18:35:13 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC-1.0.?= =?UTF-8?q?16+2024031302=EF=BC=9A=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=94=E5=9B=9E=E9=94=AE=E8=B7=B3=E8=BF=87?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 5b7934d0..cf242b69 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.16+20240313002 +version: 1.0.16+2024031302 environment: sdk: '>=2.12.0 <3.0.0' From aa421496a52aa240a4ada8e5955f9ffefd400fdf Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Thu, 14 Mar 2024 10:04:33 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E6=9E=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=9A=E5=BA=94=E7=94=A8=E5=86=85=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A8=E9=80=81=E6=8C=89=E9=92=AE=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mine/mineSet/mineSet/mineSet_page.dart | 59 ++++++++++++++++++- .../mine/mineSet/mineSet/mineSet_state.dart | 3 + star_lock/pubspec.yaml | 1 + 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart b/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart index 2c429680..09d702d0 100644 --- a/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart +++ b/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart @@ -1,7 +1,11 @@ +import 'dart:io'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import 'package:permission_handler/permission_handler.dart'; import 'package:star_lock/flavors.dart'; import 'package:star_lock/mine/mineSet/mineSet/mineSet_logic.dart'; import '../../../appRouters.dart'; @@ -18,7 +22,7 @@ class MineSetPage extends StatefulWidget { State createState() => _MineSetPageState(); } -class _MineSetPageState extends State { +class _MineSetPageState extends State with WidgetsBindingObserver { final logic = Get.put(MineSetLogic()); final state = Get.find().state; @@ -26,11 +30,25 @@ class _MineSetPageState extends State { void initState() { super.initState(); + WidgetsBinding.instance.addObserver(this); + logic.userSettingsInfoRequest(); } + @override + void didChangeAppLifecycleState(AppLifecycleState state) { + super.didChangeAppLifecycleState(state); + if (state == AppLifecycleState.resumed) { + // 应用从后台返回前台 + // 在这里执行相应的操作 + _checkNotificationPermission(); + } + } + @override Widget build(BuildContext context) { + _checkNotificationPermission(); + return Scaffold( backgroundColor: AppColors.mainBackgroundColor, appBar: TitleAppBar( @@ -371,8 +389,45 @@ class _MineSetPageState extends State { thumbColor: CupertinoColors.white, value: state.isPushNotification.value, onChanged: (value) { - state.isPushNotification.value = !state.isPushNotification.value; + // state.isPushNotification.value = !state.isPushNotification.value; + openAppSettings(); }, ); } + + Future _checkNotificationPermission() async { + bool notificationEnabled = false; + + if (Platform.isAndroid) { + notificationEnabled = await state.flutterLocalNotificationsPlugin + .resolvePlatformSpecificImplementation< + AndroidFlutterLocalNotificationsPlugin>() + ?.areNotificationsEnabled() ?? + false; + } else if (Platform.isIOS) { + notificationEnabled = await state.flutterLocalNotificationsPlugin + .resolvePlatformSpecificImplementation< + IOSFlutterLocalNotificationsPlugin>() + ?.requestPermissions( + alert: true, + badge: true, + sound: true, + ) ?? + false; + } + + if (notificationEnabled) { + print('Notifications are enabled'); + state.isPushNotification.value = true; + } else { + print('Notifications are disabled'); + state.isPushNotification.value = false; + } + } + + @override + void dispose() { + WidgetsBinding.instance.removeObserver(this); + super.dispose(); + } } diff --git a/star_lock/lib/mine/mineSet/mineSet/mineSet_state.dart b/star_lock/lib/mine/mineSet/mineSet/mineSet_state.dart index 7c738b38..1caccd3d 100644 --- a/star_lock/lib/mine/mineSet/mineSet/mineSet_state.dart +++ b/star_lock/lib/mine/mineSet/mineSet/mineSet_state.dart @@ -1,3 +1,4 @@ +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/mineSet/mineSet/userSettingInfoEntity.dart'; @@ -13,4 +14,6 @@ class MineSetState { var hideExpiredAccessFlag = 2.obs; //隐藏无效开锁 var currentLanguage = "".obs; //隐藏无效开锁 + late FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = + FlutterLocalNotificationsPlugin(); } diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 52156863..ded6a578 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -141,6 +141,7 @@ dependencies: flutter_slidable: ^3.0.1 audio_service: ^0.18.12 app_settings: ^5.1.1 + flutter_local_notifications: ^17.0.0 system_settings: ^2.0.0 dev_dependencies: From 81018758e33cc72ddb94c675b57bf64c556c5167 Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Thu, 14 Mar 2024 14:38:14 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 3bb26c61..c4b9ed38 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.16+2024031302 +version: 1.0.17+2024031401 environment: sdk: '>=2.12.0 <3.0.0' From 2e50a7c77a2956c32ff19fbde0f0b64e0c163077 Mon Sep 17 00:00:00 2001 From: skychip2023 Date: Thu, 14 Mar 2024 15:02:45 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=BC=96=E8=AF=91+?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=BC=80=E5=8F=91=E5=9B=A2=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/ios/Podfile.lock | 38 ++++++++++++++----- .../ios/Runner.xcodeproj/project.pbxproj | 2 +- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/star_lock/ios/Podfile.lock b/star_lock/ios/Podfile.lock index 4da41481..06ed85d6 100644 --- a/star_lock/ios/Podfile.lock +++ b/star_lock/ios/Podfile.lock @@ -27,6 +27,8 @@ PODS: - 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): @@ -44,16 +46,21 @@ PODS: - Flutter - EMASRest (11.1.1.2) - Flutter (1.0.0) + - 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_voice_processor (1.1.0): - Flutter - ios-voice-processor (~> 1.1.0) - fluttertoast (0.0.2): - Flutter - Toast + - FMDB (2.7.5): + - FMDB/standard (= 2.7.5) + - FMDB/standard (2.7.5) - g711_flutter (0.0.1): - Flutter - google_maps_flutter_ios (0.0.1): @@ -91,7 +98,7 @@ PODS: - FlutterMacOS - sqflite (0.0.3): - Flutter - - FlutterMacOS + - FMDB (>= 2.7.5) - SwiftProtobuf (1.25.2) - system_settings (0.0.1): - Flutter @@ -100,6 +107,7 @@ PODS: - Flutter - video_player_avfoundation (0.0.1): - Flutter + - FlutterMacOS - webview_flutter_wkwebview (0.0.1): - Flutter @@ -109,6 +117,7 @@ DEPENDENCIES: - aliyun_push (from `.symlinks/plugins/aliyun_push/ios`) - amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`) - amap_flutter_map (from `.symlinks/plugins/amap_flutter_map/ios`) + - app_settings (from `.symlinks/plugins/app_settings/ios`) - audio_service (from `.symlinks/plugins/audio_service/ios`) - audio_session (from `.symlinks/plugins/audio_session/ios`) - audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`) @@ -117,6 +126,7 @@ DEPENDENCIES: - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) + - 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`) @@ -132,10 +142,10 @@ DEPENDENCIES: - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - reactive_ble_mobile (from `.symlinks/plugins/reactive_ble_mobile/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - sqflite (from `.symlinks/plugins/sqflite/ios`) - 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/ios`) + - video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`) - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) SPEC REPOS: @@ -150,6 +160,7 @@ SPEC REPOS: - AMap3DMap - AMapFoundation - AMapLocation + - FMDB - GoogleMaps - ios-voice-processor - Protobuf @@ -166,6 +177,8 @@ EXTERNAL SOURCES: :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: @@ -182,6 +195,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/device_info_plus/ios" Flutter: :path: Flutter + 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: @@ -213,13 +228,13 @@ EXTERNAL SOURCES: shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: - :path: ".symlinks/plugins/sqflite/darwin" + :path: ".symlinks/plugins/sqflite/ios" 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/ios" + :path: ".symlinks/plugins/video_player_avfoundation/darwin" webview_flutter_wkwebview: :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" @@ -236,6 +251,7 @@ SPEC CHECKSUMS: amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a AMapFoundation: 9885c48fc3a78fdfb84a0299a2293e56ea3c9fec AMapLocation: 5248aec2455ebb5d104b367813c946430a2ee033 + app_settings: 017320c6a680cdc94c799949d95b84cb69389ebc audio_service: f509d65da41b9521a61f1c404dd58651f265a567 audio_session: 4f3e461722055d21515cf3261b64c973c062f345 audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40 @@ -245,10 +261,12 @@ SPEC CHECKSUMS: device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086 flutter_native_contact_picker: bd430ba0fbf82768bb50c2c52a69a65759a8f907 flutter_pcm_sound: de0572ca4f99091cc2abfcc31601b8a4ddd33c0e - flutter_voice_processor: 2b89b93d69b02227ae3fd58589ee0bcfa3ca2a82 + flutter_voice_processor: 53afbf59ad3feb82f4a379fea9ed8dc98495210f fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265 + FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a g711_flutter: 8f2769052d2cf3549f83d11e1c42d81d94441123 google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458 GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4 @@ -264,14 +282,14 @@ SPEC CHECKSUMS: ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 reactive_ble_mobile: 9ce6723d37ccf701dbffd202d487f23f5de03b4c shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + sqflite: 50a33e1d72bd59ee092a519a35d107502757ebed SwiftProtobuf: 407a385e97fd206c4fbe880cc84123989167e0d1 system_settings: 8f5cdbfa72c677fc8d665b863bcc20d393d87e9d Toast: 91b396c56ee72a5790816f40d3a94dd357abc196 url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 - video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126 + video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579 webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4 -PODFILE CHECKSUM: 2d54cef87a0ac87750282877d7a79b735ed5c517 +PODFILE CHECKSUM: 8406bb0e8f1c4b5dff3955810b207d90193914a0 COCOAPODS: 1.14.3 diff --git a/star_lock/ios/Runner.xcodeproj/project.pbxproj b/star_lock/ios/Runner.xcodeproj/project.pbxproj index 948be51b..f9edc86f 100644 --- a/star_lock/ios/Runner.xcodeproj/project.pbxproj +++ b/star_lock/ios/Runner.xcodeproj/project.pbxproj @@ -802,7 +802,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 16A83D21DFB231D8453DC681 /* Pods-Runner.release-sky.xcconfig */; buildSettings = { - DEVELOPMENT_TEAM = 7D53BZAN75; + DEVELOPMENT_TEAM = NAQ5PL2DYC; PRODUCT_NAME = Runner; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; From 5ff2988cb5b76aacdba8625495921cb222c7e81a Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Thu, 14 Mar 2024 15:22:19 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=BA=BA=E8=84=B8=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AE=A1=E7=90=86=E5=91=98=E6=A0=87=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../face/addFace/addFace_logic.dart | 4 +- .../face/addFace/addFace_state.dart | 2 + .../face/addFaceType/addFaceType_logic.dart | 1 + .../face/addFaceType/addFaceType_page.dart | 62 +++++++++++-------- .../face/addFaceType/addFaceType_state.dart | 1 + .../fingerprintListData_entity.dart | 6 +- star_lock/lib/network/api_provider.dart | 8 +-- star_lock/lib/network/api_repository.dart | 35 +++++++---- 8 files changed, 74 insertions(+), 45 deletions(-) diff --git a/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart b/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart index 92ecfc40..a74ea033 100644 --- a/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart +++ b/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart @@ -242,6 +242,7 @@ class AddFaceLogic extends BaseGetXController { featureData: state.featureData.value, addType: state.addType.value, cyclicConfig: state.cyclicConfig.value, + faceRight: state.isAdministrator.value == true ? 1 : 0, ); if (entity.errorCode!.codeIsSuccessful) { @@ -263,7 +264,8 @@ class AddFaceLogic extends BaseGetXController { showToast("添加成功"); if (state.fromType.value == 2) { // 回调人脸号 - eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(state.faceNumber.value)); + eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent( + state.faceNumber.value)); } else if (state.fromType.value == 1) { eventBus.fire(OtherTypeRefreshListEvent()); } diff --git a/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart b/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart index 37d0b763..db600559 100644 --- a/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart +++ b/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart @@ -19,6 +19,7 @@ class AddFaceState { final fromType = 1.obs; final featureData = ''.obs; final isClickAddFace = false.obs; + final isAdministrator = false.obs; AddFaceState() { Map map = Get.arguments; @@ -31,5 +32,6 @@ class AddFaceState { lockId.value = map["lockId"]; cyclicConfig.value = map["cyclicConfig"]; fromType.value = map["fromType"]; + isAdministrator.value = map["isAdministrator"]; } } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart index 2ef47628..539e0651 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart @@ -82,6 +82,7 @@ class AddFaceTypeLogic extends BaseGetXController { "startDate": int.parse(startDate), "cyclicConfig": state.weekdaysList.value, "fromType": state.fromType.value, + "isAdministrator": state.isAdministrator.value, }); } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart index eaad2544..cb220a9c 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart @@ -1,3 +1,4 @@ +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -20,10 +21,10 @@ class AddFaceTypePage extends StatefulWidget { const AddFaceTypePage( {Key? key, - required this.selectType, - required this.lockId, - required this.fromType, - required this.fromTypeTwoStaffName}) + required this.selectType, + required this.lockId, + required this.fromType, + required this.fromTypeTwoStaffName}) : super(key: key); @override @@ -70,7 +71,6 @@ class _AddFaceTypePageState extends State { TranslationLoader.lanKeys!.pleaseEnter!.tr, state.nameController), keyTimeLimitWidget(), - SizedBox(height: 10.h), keyBottomWidget() ], ); @@ -137,16 +137,12 @@ class _AddFaceTypePageState extends State { action: () async { Pickers.showDatePicker(context, mode: DateMode.YMDHM, onConfirm: (p) { - setState(() { - setState(() { - state.beginTime.value = - '${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}'; - state.beginTimeTimestamp.value = - DateTime.parse(state.beginTime.value) - .millisecondsSinceEpoch - .toString(); - }); - }); + state.beginTime.value = + '${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}'; + state.beginTimeTimestamp.value = + DateTime.parse(state.beginTime.value) + .millisecondsSinceEpoch + .toString(); }); })), Obx(() => CommonItem( @@ -156,16 +152,12 @@ class _AddFaceTypePageState extends State { action: () { Pickers.showDatePicker(context, mode: DateMode.YMDHM, onConfirm: (p) { - setState(() { - setState(() { - state.endTime.value = - '${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}'; - state.endTimeTimestamp.value = - DateTime.parse(state.endTime.value) - .millisecondsSinceEpoch - .toString(); - }); - }); + state.endTime.value = + '${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}'; + state.endTimeTimestamp.value = + DateTime.parse(state.endTime.value) + .millisecondsSinceEpoch + .toString(); }); })), Container(height: 10.h), @@ -183,6 +175,13 @@ class _AddFaceTypePageState extends State { // isHaveRightWidget: true, // rightWidget: SizedBox( // width: 60.w, height: 50.h, child: _isStressFingerprint())), + CommonItem( + leftTitel: "是否是管理员", + rightTitle: "", + isTipsImg: false, + isHaveRightWidget: true, + rightWidget: SizedBox( + width: 60.w, height: 50.h, child: Obx(() => _isAdmin()))), SizedBox(height: 30.h), SubmitBtn( btnName: TranslationLoader.lanKeys!.next!.tr, @@ -305,4 +304,17 @@ class _AddFaceTypePageState extends State { ), ); } + + // 是否是管理员 + CupertinoSwitch _isAdmin() { + return CupertinoSwitch( + activeColor: CupertinoColors.activeBlue, + trackColor: CupertinoColors.systemGrey5, + thumbColor: CupertinoColors.white, + value: state.isAdministrator.value, + onChanged: (value) { + state.isAdministrator.value = value; + }, + ); + } } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart index 8af55b3b..412ed2d0 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart @@ -7,6 +7,7 @@ class AddFaceTypeState { final fromType = 1.obs; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入 var fromTypeTwoStaffName = "".obs; // 考勤添加人脸员工名字 final isStressFingerprint = false.obs; + final isAdministrator = false.obs; // 是否是管理员 var beginTime = "".obs; // 开始时间 var endTime = "".obs; // 结束时间 diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart index d8b14f5d..1fe16714 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart @@ -91,6 +91,7 @@ class FingerprintItemData { int? faceType; List? cyclicConfig; String? featureData; + int? faceRight; FingerprintItemData( {this.fingerprintStatus, @@ -119,7 +120,8 @@ class FingerprintItemData { this.addType, this.faceType, this.cyclicConfig, - this.featureData}); + this.featureData, + this.faceRight}); FingerprintItemData.fromJson(Map json) { fingerprintStatus = json['fingerprintStatus']; @@ -149,6 +151,7 @@ class FingerprintItemData { faceType = json['faceType']; cyclicConfig = json['cyclicConfig']; featureData = json['featureData']; + faceRight = json['faceRight']; } Map toJson() { @@ -180,6 +183,7 @@ class FingerprintItemData { data['faceType'] = faceType; data['cyclicConfig'] = cyclicConfig; data['featureData'] = featureData; + data['faceRight'] = faceRight; return data; } diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 3dbcbcc1..61170d8e 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -1059,6 +1059,7 @@ class ApiProvider extends BaseProvider { String featureData, String addType, List cyclicConfig, + int faceRight, ) => post( addFaceURL.toUrl, @@ -1072,6 +1073,7 @@ class ApiProvider extends BaseProvider { 'featureData': featureData, 'addType': addType, 'cyclicConfig': cyclicConfig, + 'faceRight': faceRight })); // 校验人脸名字是否重复 @@ -1267,11 +1269,7 @@ class ApiProvider extends BaseProvider { // 移除坏锁 Future removeBrokenLockData(List lockIdList) => - post( - removeBadLockURL.toUrl, - jsonEncode({ - 'lockIds': lockIdList - })); + post(removeBadLockURL.toUrl, jsonEncode({'lockIds': lockIdList})); Future listLockByGroup(String type, String keyGroupId) => post( listLockByGroupURL.toUrl, diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index fc41aab0..99175bdf 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -1193,19 +1193,28 @@ class ApiRepository { } // 添加人脸 - Future addFaceData({ - required int lockId, - required String faceName, - required String faceNumber, - required int faceType, - required int startDate, - required int endDate, - required String featureData, - required String addType, - required List cyclicConfig, - }) async { - final res = await apiProvider.addFaceData(lockId, faceName, faceNumber, - faceType, startDate, endDate, featureData, addType, cyclicConfig); + Future addFaceData( + {required int lockId, + required String faceName, + required String faceNumber, + required int faceType, + required int startDate, + required int endDate, + required String featureData, + required String addType, + required List cyclicConfig, + required int faceRight}) async { + final res = await apiProvider.addFaceData( + lockId, + faceName, + faceNumber, + faceType, + startDate, + endDate, + featureData, + addType, + cyclicConfig, + faceRight); return AddFaceEntity.fromJson(res.body); } From e42d977acf3f7608c3c84ed3bde0619093af661e Mon Sep 17 00:00:00 2001 From: skychip2023 Date: Thu, 14 Mar 2024 17:06:32 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=97=AE=E9=A2=98=EF=BC=9F=E5=BA=94=E8=AF=A5=E4=B8=8D?= =?UTF-8?q?=E6=98=AF=E5=9B=A0=E4=B8=BA=E6=8F=90=E4=BA=A4=E7=9A=84=E8=BF=99?= =?UTF-8?q?=E4=BA=9B=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/README.md | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 34 +++++++++---------- .../xcshareddata/xcschemes/sky.xcscheme | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/star_lock/README.md b/star_lock/README.md index c9b3d388..24362538 100644 --- a/star_lock/README.md +++ b/star_lock/README.md @@ -124,7 +124,7 @@ dart run flutter_flavorizr -p assets:extract ``` 重新生成Generated.xcconfig以更新购建物版本号等信息 ```bash -flutter build ios --config-only +flutter build ios --config-only --flavor sky ``` 构建/编译 ```bash diff --git a/star_lock/ios/Runner.xcodeproj/project.pbxproj b/star_lock/ios/Runner.xcodeproj/project.pbxproj index f9edc86f..c6fd9b6a 100644 --- a/star_lock/ios/Runner.xcodeproj/project.pbxproj +++ b/star_lock/ios/Runner.xcodeproj/project.pbxproj @@ -776,7 +776,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 4A63B2C308CB401731950EC8 /* Pods-Runner.debug-sky.xcconfig */; buildSettings = { - DEVELOPMENT_TEAM = 7D53BZAN75; + DEVELOPMENT_TEAM = NAQ5PL2DYC; PRODUCT_NAME = Runner; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -789,7 +789,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 8CD96970DEA44F6CC71DEECE /* Pods-Runner.profile-sky.xcconfig */; buildSettings = { - DEVELOPMENT_TEAM = 7D53BZAN75; + DEVELOPMENT_TEAM = NAQ5PL2DYC; PRODUCT_NAME = Runner; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -899,7 +899,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -961,7 +961,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -1163,7 +1163,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1232,7 +1232,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1307,7 +1307,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1375,7 +1375,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1444,7 +1444,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1519,7 +1519,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -1586,7 +1586,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1636,7 +1636,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -1983,7 +1983,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2058,7 +2058,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2126,7 +2126,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2195,7 +2195,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -2270,7 +2270,7 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/star_lock/ios/Runner.xcodeproj/xcshareddata/xcschemes/sky.xcscheme b/star_lock/ios/Runner.xcodeproj/xcshareddata/xcschemes/sky.xcscheme index bf70b16a..b2589df9 100644 --- a/star_lock/ios/Runner.xcodeproj/xcshareddata/xcschemes/sky.xcscheme +++ b/star_lock/ios/Runner.xcodeproj/xcshareddata/xcschemes/sky.xcscheme @@ -24,7 +24,7 @@ Date: Fri, 15 Mar 2024 10:44:50 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B0=B7=E6=AD=8C?= =?UTF-8?q?=E6=8E=A8=E9=80=81key=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/README.md | 4 ++- star_lock/android/app/google-services.json | 29 +++++++++++++++++++ .../app/skychip2023-ecdff-abeb85114bda.json | 13 +++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 star_lock/android/app/google-services.json create mode 100644 star_lock/android/app/skychip2023-ecdff-abeb85114bda.json diff --git a/star_lock/README.md b/star_lock/README.md index 24362538..a515da1f 100644 --- a/star_lock/README.md +++ b/star_lock/README.md @@ -102,7 +102,9 @@ java -jar android/google/pepk.jar --keystore=android/app/sky.jks --alias=upload ```bash flutter build appbundle --release --flavor sky -t lib/main_sky.dart ``` -然后文件在:`build/app/outputs/bundle/skyRelease/app-sky-release.aab` +```bash +cp build/app/outputs/bundle/skyRelease/app-sky-release.aab /d/Downloads/app-sky-universal-release-1.0.16+2024031302.aab +``` - 注意,这里的sky.jks和google_pek.zip和encryption_public_key.pem都是sky渠道的,和谷歌账号对应。如果需要使用其他谷歌账号,需要更换这两个文件。 diff --git a/star_lock/android/app/google-services.json b/star_lock/android/app/google-services.json new file mode 100644 index 00000000..cbcbc271 --- /dev/null +++ b/star_lock/android/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "281500445726", + "project_id": "skychip2023-ecdff", + "storage_bucket": "skychip2023-ecdff.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4d20f", + "android_client_info": { + "package_name": "com.skychip.lock" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyC-3-ABWuy9LrYyAw_KxDRto4DanQ0sq9g" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/star_lock/android/app/skychip2023-ecdff-abeb85114bda.json b/star_lock/android/app/skychip2023-ecdff-abeb85114bda.json new file mode 100644 index 00000000..fe4b3678 --- /dev/null +++ b/star_lock/android/app/skychip2023-ecdff-abeb85114bda.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "skychip2023-ecdff", + "private_key_id": "abeb85114bda731d15777f9ef57f1e15ca960922", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDN6gFIXozDnm92\nnFb7q1VK4OurhjsuDwrLxiCEyfx0QSUFBJHcsG3/taK0PLO/vfQiQ6U81xmW2roK\no/ojS0iMbCGOIsc/ZjElhx2Crmbj7XimrnJK6LuIkqKrHjlHbe7CQtu4dxbf9TLF\nXq3uZxU0lhg4VZmMygDgrUphica3h/uNRWlZbucWPKFUIL0VLOiM37rlFiNN33IJ\nUzptP+1D3TP8swPhUOZ/jY4pSMfn35OQ7oyQpEu8v3/oqLbJ1hSXa4DCIjteYN+M\nkVo3l/Uwhf8RO9UC03+JTO6I7iur144sMuIlhxqiCl9J7MV42tLMH/O36v7HsL6s\ng/VhWfT1AgMBAAECggEAC/4qDvX6ytXqdgULB+Nlt1O8RiQuRDN6FH44nKNLAdZd\neppWiHz6Gx+QF2FFstA0bN51vEJm6iNZHI+KXQ3gbtVJawbZhfbEvAPPkzHnKjVF\nhqe4XmaJrZ2kvcSn32Imuse8FlVRTr/wMhCenrkAQizPwlAx/kIxpORS5bVpjnzR\nRrkkfoAplVm74UrTo1bD7ER6ynenkIpDz3ETChrLebmGqCP0KYxobjQAjQ+eyHNw\nDlauaA/VSUpq2IaG7SoFdHqdiJXJO3VEQkxELA0768VpfhcLTB4gVO3bmlG/crlM\nx7VuotjCyVZ6qxwBtiyV68pcWx+ggR4qkGZtN9CsoQKBgQDtFx6JXrU6/RFnyXMk\n0Yc1tM/to0ZZwH4y/CFiOphEyVCQCT+vB1UgNX10eByyOfqgO9kR3ZCC/ZI/QUoe\nxyCcApAH4tNd6LCFxHurnw1JK2Ed+LS6twMloH8HTmqdse8sQW16ZafuoAObUif5\ngYOK0PfzaD63QBX4YZE0vzKLvQKBgQDeVlVWtuAHnLxYZDNVc/n8anHrPX1Kgv7m\ninx1mGikWkoVQHicC1/ouLJa8gQOKbARDwPbfxVNqwJR075neUoNkuhZM9wfkqEC\n0radVoTn6WwnwJCq4nz0f4+x9uKsU5hWC57RXQ2sxcf9NGubmQXakTyDqmrppq3p\nEDJtDMzFmQKBgGssTUB5kGDm7sxEswkMshsj7e4VJYMC0clIUeruY9CMVB+YHrKH\nFQLnSxuwBADI1rNB+oDp8B5Wc5qmb9Pz3ZjIS8VU0okb21fMlr7guge+VTtQJppU\nilai82khGG7KdTxDIzL16vCiYp7+h1VxJz5D8iGUmO0LSiMqL5Jxb27dAoGBAMDP\n2d4DZbD0SZnV+3aFxysRHI3Gm1r80xUWz+wjKcwtyMU5Td71Nk1ZrsKT0tR9boS8\norm9MbpTLQXNPPf7BS9UUU7aXHC89gi+t0Mm/scndHXc1xh6paZa4UCSO+z56cfk\n9+vUaMGGG3MH/LHJOHxdKz97kI/jzjmppDFRwlsxAoGAeT3r/LpNlt8y3W65bWzj\nBYiSHZfsR7jQtLEXp9IclKU76Nl6JHXdPRxhd8pMhCP6o2WIL3DN6rIuhYDHg19q\n+DBi0JSqqMLL3nnFgXOrpCJGIm7ihXvgAvyhO72EXFHtXoR8rk1G7FpiV3YXVdYr\nqs/D031oJaVZiGcDGlm0IpY=\n-----END PRIVATE KEY-----\n", + "client_email": "firebase-adminsdk-l06d6@skychip2023-ecdff.iam.gserviceaccount.com", + "client_id": "100525717804471198688", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-l06d6%40skychip2023-ecdff.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} From 3abf2a0932ab663ff737f7dc0e5b8af539aea07c Mon Sep 17 00:00:00 2001 From: skychip2023 Date: Fri, 15 Mar 2024 11:02:22 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=A0=B9=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Request.certSigningRequest.certSigningRequest | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest diff --git a/star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest b/star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest new file mode 100644 index 00000000..681fce33 --- /dev/null +++ b/star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICgTCCAWkCAQAwPDEiMCAGCSqGSIb3DQEJARYTc2t5Y2hpcDIwMjNAMTYzLmNv +bTEJMAcGA1UEAwwAMQswCQYDVQQGEwJDTjCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANMDfNeq1KCzcBvfKE/eDOAc8yEhSSnkmgvAqT+mjILVnBIOS0Ei +t2xBLoXEgkgQXZq5+3JrSqZNA+Kw17w6ltrS080IyBnlRrAnv68efcRhPv9YoB0m +DDuirUX7BMi3h5wHCcOtNSitxYzq2/esMGU7uiWdwZMNhWnXP8oqaPhiz4tkTWz8 +y9eVskdje1/GF5G7t/nqOwrHFNZL1jvBseJyzL+ksreigeaqpHzZ32zDBCZez9Af +QOdDOBsnDr+IUJRBMXSYx8NGwyDUXgeI4dkWtkKTxVmUQsvwP3QRw0Kp6VsRHbnu +0kEA1Ua6xa7j2WUz5zDm5FcO7UrnJjDXeUUCAwEAAaAAMA0GCSqGSIb3DQEBCwUA +A4IBAQBAr0U+vx646FaELsaX/SwERIrwrwzkrX3XRu9LiX1An0GtNt50obFCKC/I +am63PxRlo+6oxL0w1Qv8WD1Q1DogUPmHzffM3gPopgow0B4oHGsyFeUw/LxJ0dHK +qo718cYNVRNTRlggrQCpsft7PSLkQoRzlxMxTo5/ALTCQ84gWlPSSGEFnD0a4mZ8 +PsgFi+k4bvRfkTneBnJKw2ruxXbn06eDqNCW50AkI7ORfbIhx0FSuQ1cbpG8Dqlu +4u0dpBjc8ukQqvhRNLz1niOmzIz/8m2Kid6CmQThATKH4KMw+CJI1GEQszxL5ZZE +/n8sWRDAqglQpkYz3anLj5dnAf5h +-----END CERTIFICATE REQUEST----- From b6f7a99408d40a5960f03bb283c0477e1058a2f8 Mon Sep 17 00:00:00 2001 From: skychip2023 Date: Fri, 15 Mar 2024 11:05:02 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=A0=B9=E8=AF=81=E4=B9=A62?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/ios/pre.certSigningRequest | 16 ++++++++++++++++ ...certSigningRequest => sky.certSigningRequest} | 0 2 files changed, 16 insertions(+) create mode 100644 star_lock/ios/pre.certSigningRequest rename star_lock/ios/{CertificateSigningRequest.certSigningRequest.certSigningRequest => sky.certSigningRequest} (100%) diff --git a/star_lock/ios/pre.certSigningRequest b/star_lock/ios/pre.certSigningRequest new file mode 100644 index 00000000..70328b5c --- /dev/null +++ b/star_lock/ios/pre.certSigningRequest @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIChTCCAW0CAQAwQDEmMCQGCSqGSIb3DQEJARYXZ2VqaWF4aWFuZ0BzdGFyLWxv +Y2suY24xCTAHBgNVBAMMADELMAkGA1UEBhMCQ04wggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDBFXe33Qv478FHsp4fG5SyANP95LyjbidU6tZgbIALtLlj +AU7gEQgEzxGKTONVsDqt6yH713tUMtNa2+KBGQUpvtdFpLjJW7KWzejY7wrp5oN4 +2XGYzeSVxlzPqeNaoIgiu6DLElYvQjmPlIm1WIIbR+eKrsSNgh2AQIu6o8KHIQpQ +YY2B3thQHkWGt4jQU5jMoEuhDVIAW7An7FXCIF8ylaQ5de6/4ChxfUtYsnWlbMH3 +BJ/NkX50NKPYac5XnBkeQ5kNWwP/0AQyp+u9946zPBDH0Uj88sf9F2qQ9b8Je+92 +wpRR0laKfx7Onrii1LjknEFbK1dS6OYblhWcVLxNAgMBAAGgADANBgkqhkiG9w0B +AQsFAAOCAQEAIbGjExcvNonjW1XLag4IaXDXjnfD7kn7gBZsLInXPoGkGkvjPysw +l6vGD+YcfmqOutf9mCNcQ35GyfyUX9alPBUfr9nww9rfMaXKfCgOBp7I1Iz6gYz0 +7NkUygWI0+yIC/EP5SirvUijZ7jp/Ak7+nVtgpgr10ebbHOS2UxbSZWGHJ4eap3K +16OOauyqBn59H14gvwqPxSDVB/N+sDd9WrIB2JNLUYcRuP447w0R2KLeh5Yh5Uqs +1CIa196/JyT4tYoR0TMGaClwqEtox0UOw1oHPA4qB268LrEhM9eYgH7BweA2yzXp +NCMR6fnCnJOLWrNa1Km3ej3sJOa6/WTfLw== +-----END CERTIFICATE REQUEST----- diff --git a/star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest b/star_lock/ios/sky.certSigningRequest similarity index 100% rename from star_lock/ios/CertificateSigningRequest.certSigningRequest.certSigningRequest rename to star_lock/ios/sky.certSigningRequest From b87fdadfe5fc2b0dcd668b8caf7f893666e31d6f Mon Sep 17 00:00:00 2001 From: GeJiaXiang <353358601@qq.com> Date: Fri, 15 Mar 2024 11:07:56 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8B=B9=E6=9E=9C?= =?UTF-8?q?=E6=8E=A8=E9=80=81key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/ios/pre.cer | Bin 0 -> 1656 bytes star_lock/ios/sky.cer | Bin 0 -> 1711 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 star_lock/ios/pre.cer create mode 100644 star_lock/ios/sky.cer diff --git a/star_lock/ios/pre.cer b/star_lock/ios/pre.cer new file mode 100644 index 0000000000000000000000000000000000000000..3ccdf3a82f029365fa6769a6e5fa8645c90b68c5 GIT binary patch literal 1656 zcmZWpYfuwc6wYooktB_!xOO+WIIG5KF8YHmj_L?3!!{)T$&- zgHowNk*Y&67S#GEL$N-KZ%3*&_!byz)rt?)N)JXM zB+#^xz%nSa(O@GD1eQ$X5=M$9%vdU6)H5VyvS3MsnIRXGcpthX$f;K zi4&H1te@YT>?EjocETJ@%1l-A$4NffCCvs7D9l$UNWkMepg}x#Ukp1Sh<7T;cIdX` z@AgyE>MBDhad+C+?0}zH-LAI_nPOsZL~@yJQuku4*P5Gb)D5leYNl_`R1A)vl+JrdIa;H@%|;;Ods+XQbG9e zfC6Bz5{mn#5pEFjg^0Zj*h~6%Iv9Wo7>XuwH0b}$tjMKE8VFH@`=YXb$LvO*`kcaG zAd328ba+2=jwPCA7$8AKebjv*z$Zxvf!V3)Eg#PiWrqXAvwvFI6D3~_iAoX4dH&f_9mR1JCtm!*r8Pqc~*btz?D5+(tz$p?Y-bT?(ONN>teeX3@bO9 zZe5tXrY(*asktpJZ4)!E>88F rqOd}|tT~O)OPxiDi)$q?u+&7F$l5jXXtLI4qN7d1@VndmyGS=S?(A@iwgj z_=zkE6rQKk27^Em$WghMa)AZcj6}$S;XDJFHqk#x2WD!MK~nN8-R#u@Oa?lw&I4zy z2KN103`~>B{i>t3*ZdPtKoF|L=`syhYQs$wqcPKXsa6Bxy_H9Lx5+K%OqhXWD=3`g z(y%e{Z^}}j@}>HZlXDj*Wv$B8#(@}btq}$jY1tqQ%s`bIDQpFan=G`MF0o;mv?d-~ z%oFdQ!2v~#Rul4(NFC6432;Di*a1P3o6=3L!?zkvFjMZ%SoS-5Z|bw~@C7mbdlVO& z<~Htd^zID`Sfr0=GwU_mE;;5a3-_FU$(Al`Tq1qY;yRbMtMA6mYvZ~@|IBHLzHn^X z=1ayo!z&xqQE2*s=Iob9ciR_xef^xx$upWec09f_codN7XCmv{Yy7uSuDMrYO+&>! zUlL2qudcf4TIb;#*LF_adA9A}$LaE}klTxHr?($}!2WdMP;1)(`@_SBHo5Pbok&zs z&o5yg4P>TFi4M3>m0PRV^51qjbDY?%BHya}Zq=!bnvPYq8CUvh;06gr^4|uY0APTr_*{~FnKnEStalj!(04k`g4u+s%1O^fiCZg%c zB%s<7Qs91}9@sNkad3A z3vZFr7{yns5iUE?Y9-hborWM;pnV$-RYtxEr*V!M6)i$AGr^k#w8FKi#iB680fh)a zDGczeVAX3gI_%wQsP5BjUn^*f42Fit|+PU;z2V=nC5l8@Z23N0~A0$tax8WYCPXarEsAaAN}T$}-7Ah|4==yo zaORuTxNxv0s`}zk)9Tkb-}QxV?RBql{S|mLwQFymgIyAIzdkQ0+wi3R-uVsvh1cl1 NR98SrStm&S{y$s;R5btq literal 0 HcmV?d00001 From bfe8cc626f2e86ca54fe9d5b6297c18adff7e3e7 Mon Sep 17 00:00:00 2001 From: skychip2023 Date: Fri, 15 Mar 2024 11:16:30 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=A0=B9=E8=AF=81=E4=B9=A63?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/ios/pre.p12 | Bin 0 -> 3364 bytes star_lock/ios/sky.p12 | Bin 0 -> 3404 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 star_lock/ios/pre.p12 create mode 100644 star_lock/ios/sky.p12 diff --git a/star_lock/ios/pre.p12 b/star_lock/ios/pre.p12 new file mode 100644 index 0000000000000000000000000000000000000000..90c6f88a77e7ab1387ec5c03dfb89897444f6659 GIT binary patch literal 3364 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 literal 0 HcmV?d00001 diff --git a/star_lock/ios/sky.p12 b/star_lock/ios/sky.p12 new file mode 100644 index 0000000000000000000000000000000000000000..910ba2619c5011212d1e56243f808678a620e55c GIT binary patch literal 3404 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 i0-*}kT<<;#6UlMT$y$^GEI Date: Mon, 18 Mar 2024 10:35:54 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0apk=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/README.md | 23 +++++++++++++++++++++++ star_lock/android/.gitignore | 1 + star_lock/pubspec.yaml | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/star_lock/README.md b/star_lock/README.md index a515da1f..9f10dabf 100644 --- a/star_lock/README.md +++ b/star_lock/README.md @@ -143,3 +143,26 @@ Xcode顶部中间设备选择器左边,Runner选择下拉,选择Edit Scheme 截图完成记得将Runner改回去,不然编译出来的sky是debug版的。 最后还是随便截图的,然后用PS裁剪成要求的分辨率上传了 + + +## 用于aab文件转apk + +安装bundletool.jar(该文件在git忽略,每个机器需要自行下载) +```bash +wget -o android/bundletool.jar https://github.com/google/bundletool/releases/download/1.15.6/bundletool-all-1.15.6.jar +``` + +将aab转为apk +```bash +java -jar android/bundletool.jar build-apks --bundle=build/app/outputs/bundle/skyRelease/app-sky-release.aab \ +--output=build/app/outputs/bundle/skyRelease/app-sky-release.aab.apks \ +--ks=android/app/sky.jks \ +--ks-pass=pass:sky2028 \ +--ks-key-alias=upload \ +--key-pass=pass:sky2028 +``` + +安装apks文件到手机 +```bash +java -jar android/bundletool.jar install-apks --apks=build/app/outputs/bundle/skyRelease/app-sky-release.aab.apks +``` diff --git a/star_lock/android/.gitignore b/star_lock/android/.gitignore index b0d3c96a..36eb2329 100644 --- a/star_lock/android/.gitignore +++ b/star_lock/android/.gitignore @@ -1,4 +1,5 @@ gradle-wrapper.jar +bundletool.jar /.gradle /captures/ /gradlew diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index c4b9ed38..9945b55d 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.17+2024031401 +version: 1.0.15+2024031501 environment: sdk: '>=2.12.0 <3.0.0'