From 8800f4bebf64b21c9714e2f9043a34097eb6a4fd Mon Sep 17 00:00:00 2001
From: Daisy <>
Date: Mon, 24 Jun 2024 09:22:31 +0800
Subject: [PATCH 1/9] =?UTF-8?q?=E5=AE=89=E5=8D=93=E6=9F=A5=E7=9C=8B?=
=?UTF-8?q?=E5=AF=BC=E5=87=BA=E8=AE=B0=E5=BD=95=E5=8F=8A=E5=88=86=E4=BA=AB?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=96=B0=E5=A2=9E=EF=BC=88=E6=9C=89=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=EF=BC=8C=E9=9C=80=E9=BB=84=E6=80=BB=E5=8D=8F=E5=8A=A9?=
=?UTF-8?q?=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/src/main/AndroidManifest.xml | 11 ++++
.../kotlin/com/skychip/lock/MainActivity.kt | 50 ++++++++++++++++---
android/app/src/main/res/xml/file_paths.xml | 4 ++
.../exportRecordDialog_logic.dart | 1 -
.../exportRecordDialog_state.dart | 1 -
.../exportSuccess/exportSuccess_page.dart | 23 ---------
6 files changed, 58 insertions(+), 32 deletions(-)
create mode 100644 android/app/src/main/res/xml/file_paths.xml
delete mode 100644 lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_logic.dart
delete mode 100644 lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_state.dart
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 93cfda8c..5ec69bdd 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -60,7 +60,18 @@
android:name="android.app.Application"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
+ android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true">
+
+
+
+
diff --git a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
index a4f10348..0c14a684 100755
--- a/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/skychip/lock/MainActivity.kt
@@ -9,6 +9,8 @@ import io.flutter.plugin.common.MethodChannel
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant
import android.bluetooth.BluetoothAdapter;
+import androidx.core.content.FileProvider
+import java.io.File
class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
@@ -16,9 +18,15 @@ class MainActivity : FlutterActivity() {
GeneratedPluginRegistrant.registerWith(flutterEngine!!)
MethodChannel(flutterEngine?.dartExecutor!!.binaryMessenger, "starLockFlutterSend").setMethodCallHandler { call, result ->
if (call.method == "loadNativeShare") {
- var map = call.arguments as Map
- shareText(map["shareText"] , "分享")
- } else if (call.method == "sendGetBlueStatus") {
+ val map = call.arguments as Map
+ val shareText = map["shareText"]
+ val urlToShare = map["urlToShare"]
+ if (urlToShare == "fileShare") {
+ shareFile(shareText)
+ } else {
+ shareText(shareText, "分享")
+ }
+ } else if (call.method == "sendGetBlueStatus") {
// 蓝牙是否开启
// println("收到原生的信息了 methodmethodmethod: ${call.method}")
val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
@@ -56,13 +64,41 @@ class MainActivity : FlutterActivity() {
startActivity(Intent.createChooser(shareIntent, null))
}
+ fun shareFile(filePath: String?) {
+ if (filePath == null) {
+ return
+ }
+
+ val file = File(filePath)
+ val uri: Uri = FileProvider.getUriForFile(
+ this,
+ "${applicationContext.packageName}.fileprovider",
+ file
+ )
+
+ val shareIntent = Intent().apply {
+ action = Intent.ACTION_SEND
+ putExtra(Intent.EXTRA_STREAM, uri)
+ type = "application/octet-stream"
+ addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
+ }
+
+ startActivity(Intent.createChooser(shareIntent, null))
+ }
+
+
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
- GeneratedPluginRegistrant.registerWith(flutterEngine);
+ GeneratedPluginRegistrant.registerWith(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "starLockFlutterSend").setMethodCallHandler { call, result ->
- println("methodmethodmethod: ${call.method}")
- // 在这里处理从 Flutter 发送过来的方法调用
if (call.method == "loadNativeShare") {
- println("methodmethodmethod: ${call.method}")
+ val map = call.arguments as Map
+ val shareText = map["shareText"]
+ val urlToShare = map["urlToShare"]
+ if (urlToShare == "fileShare") {
+ shareFile(shareText)
+ } else {
+ shareText(shareText, "分享")
+ }
} else {
result.notImplemented()
}
diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 00000000..7fe5a78c
--- /dev/null
+++ b/android/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_logic.dart b/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_logic.dart
deleted file mode 100644
index 8b137891..00000000
--- a/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_logic.dart
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_state.dart b/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_state.dart
deleted file mode 100644
index 8b137891..00000000
--- a/lib/main/lockDetail/doorLockLog/exportRecordDialog/exportRecordDialog_state.dart
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/lib/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_page.dart b/lib/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_page.dart
index e36c6f27..f66c2238 100644
--- a/lib/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_page.dart
+++ b/lib/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_page.dart
@@ -1,17 +1,13 @@
-import 'dart:io';
-
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:open_file/open_file.dart';
-import 'package:path_provider/path_provider.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_logic.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_state.dart';
import 'package:star_lock/tools/NativeInteractionTool.dart';
import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/tools/titleAppBar.dart';
-import 'package:url_launcher/url_launcher.dart';
class ExportSuccessPage extends StatefulWidget {
const ExportSuccessPage({Key? key}) : super(key: key);
@@ -94,23 +90,4 @@ class _ExportSuccessPageState extends State with RouteAware {
],
);
}
-
- Future previewFile() async {
- // 获取本地文件路径
- final Directory appDocDir = await getApplicationDocumentsDirectory();
- final String appDocPath = appDocDir.path;
- final String filePath = '$appDocPath/record.xlsx';
-
- // 检查文件是否存在
- final File file = File(filePath);
- if (await file.exists()) {
- // 使用url_launcher打开文件
- final bool launched = await launchUrl(Uri.parse(filePath));
- if (!launched) {
- throw 'Could not launch $filePath';
- }
- } else {
- print('File does not exist');
- }
- }
}
From 5b09b91c84db765235cae8d8d8cdfcd0b6520b3b Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 11:53:36 +0800
Subject: [PATCH 2/9] =?UTF-8?q?feat:=E5=AE=8C=E5=96=84=E5=8A=A0=E5=BC=BA?=
=?UTF-8?q?=20=E5=BA=9F=E5=BC=83=20APi=20=E7=9A=84=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E6=A3=80=E6=B5=8B=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pre_build.sh | 48 +++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 43 insertions(+), 5 deletions(-)
diff --git a/pre_build.sh b/pre_build.sh
index 8bdf7f47..dd78490c 100644
--- a/pre_build.sh
+++ b/pre_build.sh
@@ -4,22 +4,54 @@
# 首次使用记得安装jq: brew install jq
#
+###############################################################
+############## 正常情况下只需要修改配置,不需要修改代码 ###############
+###############################################################
# 设置
environment="xhj"
main_file="lib/main_xhj_full.dart"
-version_string="1.0.51"
+version_string="1.0.52"
file_path="lib/network/api.dart"
-urls=$(curl -s -X POST -d "version=$version_string" 'https://lock.xhjcn.ltd/api/app/getDeprecatedApiList' | jq -r '.data[].url')
+###############################################################
+###############################################################
+
+# 判断执行环境
+case $environment in
+ dev)
+ api_prefix='https://dev.lock.star-lock.cn'
+ ;;
+ pre)
+ api_prefix='https://pre.lock.star-lock.cn'
+ ;;
+ sky)
+ api_prefix='https://lock.skychip.top'
+ ;;
+ xhj)
+ api_prefix='https://lock.xhjcn.ltd'
+ ;;
+ *)
+ echo "错误: flavor[$environment] apiPrefix not found"
+ exit 1
+ ;;
+esac
+
+echo "API 前缀为: $api_prefix"
+
+urls=$(curl -s -X POST -d "version=$version_string" "$environment/api/app/getDeprecatedApiList" | jq -r '.data[].url')
echo "* 成功获取废弃 api 数据"
+# 解析 api 文件数据
string_array=()
-# 使用egrep搜索被单引号包裹的字符串
while IFS= read -r line; do
string_array+=("$line")
done < <(egrep -o "'[^']*'" "$file_path")
echo "* 解析 api 文件数据,开始对比"
+# 进度条初始化
+total_urls=$(echo "$urls" | wc -l | tr -d ' ')
+current_url=0
+
# 比较urls和string_array中的元素
for url in $urls; do
for string in "${string_array[@]}"; do
@@ -30,10 +62,16 @@ for url in $urls; do
exit 1
fi
done
+ # 更新进度条
+ let current_url++
+ let progress=(current_url*100/total_urls)
+ printf "\r进度: [%-50s] %d%%" $(printf '%*s' $((progress/2)) | tr ' ' '#') $progress
done
-echo "* 没有发现 废弃 api,开始编译"
+# 新的输出从新行开始
+echo -e "\n* 没有发现废弃 API,开始编译"
+
+# 编译命令
flutter clean && flutter pub get
flutter build apk --flavor $environment -t $main_file
flutter build ios --flavor $environment -t $main_file
-
From 8a6bcd0871ecff4ca19c47780d9d6f725da5bfda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=90=B4=E4=BA=9A=E8=8C=9C?=
<7635395+wuyaqian@user.noreply.gitee.com>
Date: Mon, 24 Jun 2024 13:41:01 +0800
Subject: [PATCH 3/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dxhj=E7=8E=AF=E5=A2=83?=
=?UTF-8?q?=E6=9E=81=E5=85=89=E6=8E=A8=E9=80=81=E5=8D=B8=E8=BD=BD=EF=BC=8C?=
=?UTF-8?q?=E9=A6=96=E6=AC=A1=E7=99=BB=E5=BD=95=E6=9C=AA=E7=BB=91=E5=AE=9A?=
=?UTF-8?q?=E8=AE=BE=E5=A4=87=EF=BC=8C=E5=AF=BC=E8=87=B4=E6=97=A0=E6=B3=95?=
=?UTF-8?q?=E6=8E=A5=E6=94=B6=E6=8E=A8=E9=80=81=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/login/login/starLock_login_logic.dart | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart
index 6a82a6c9..c943d7e8 100755
--- a/lib/login/login/starLock_login_logic.dart
+++ b/lib/login/login/starLock_login_logic.dart
@@ -53,7 +53,8 @@ class StarLockLoginLogic extends BaseGetXController {
Storage.saveLoginData(entity.data);
Storage.setBool(saveIsVip, entity.data!.isVip == 1);
eventBus.fire(MineInfoChangeRefreshUI());
- XSJPushProvider().bindDeviceID();
+ await XSJPushProvider().initJPushService();
+ await XSJPushProvider().bindDeviceID();
XSJPushProvider().initLocalNotification(isCancelLocalPush: false);
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
From 3ae670fbeeb72913036b4897eaab589dc6a17031 Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 14:28:15 +0800
Subject: [PATCH 4/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=20android=20?=
=?UTF-8?q?=E6=97=A0=E6=B3=95=E5=88=86=E4=BA=AB=E6=96=87=E4=BB=B6=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/src/main/AndroidManifest.xml | 3 ++-
.../app/src/main/kotlin/com/skychip/lock/MainActivity.kt | 9 +++++----
android/app/src/main/res/xml/file_paths.xml | 7 +++++--
3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 5ec69bdd..07c09ea3 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -62,9 +62,10 @@
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true">
+
-
-
+
+
+
+
+
From d6c7115418ecc1271d28682b830dbe001c489141 Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 14:51:13 +0800
Subject: [PATCH 5/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=20=E8=BF=9B=E5=85=A5?=
=?UTF-8?q?=20App=20=E4=BC=9A=E6=98=BE=E7=A4=BA=E5=8A=A0=E8=BD=BD=E6=A1=86?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/main/lockMian/lockList/lockList_page.dart | 1 -
lib/main/lockMian/lockMain/lockMain_page.dart | 6 +++---
.../lockMian/lockMain/xhj/lockMain_xhj_page.dart | 10 +---------
lib/network/api_provider.dart | 13 ++++++-------
4 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart
index 53717840..ccfc714d 100755
--- a/lib/main/lockMian/lockList/lockList_page.dart
+++ b/lib/main/lockMian/lockList/lockList_page.dart
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:get/get.dart';
-import 'package:star_lock/flavors.dart';
import 'package:star_lock/main/lockMian/lockList/lockList_state.dart';
import '../../../appRouters.dart';
diff --git a/lib/main/lockMian/lockMain/lockMain_page.dart b/lib/main/lockMian/lockMain/lockMain_page.dart
index 3be70607..0171aedb 100755
--- a/lib/main/lockMian/lockMain/lockMain_page.dart
+++ b/lib/main/lockMian/lockMain/lockMain_page.dart
@@ -44,13 +44,13 @@ class _StarLockMainPageState extends State
LockListInfoGroupEntity? lockListInfoGroupEntity =
await Storage.getLockMainListData();
if (lockListInfoGroupEntity != null) {
- logic.loadMainDataLogic(lockListInfoGroupEntity);
+ await logic.loadMainDataLogic(lockListInfoGroupEntity);
setState(() {});
}
lockListInfoGroupEntity =
(await logic.getStarLockInfo(isUnShowLoading: isUnShowLoading)).data;
if (lockListInfoGroupEntity != null) {
- logic.loadMainDataLogic(lockListInfoGroupEntity);
+ await logic.loadMainDataLogic(lockListInfoGroupEntity);
setState(() {});
}
if (clearScanDevices) {
@@ -62,7 +62,7 @@ class _StarLockMainPageState extends State
void initState() {
super.initState();
logic.pageNo = 1;
- getHttpData();
+ getHttpData(isUnShowLoading:true,);
_initLoadDataAction();
}
diff --git a/lib/main/lockMian/lockMain/xhj/lockMain_xhj_page.dart b/lib/main/lockMian/lockMain/xhj/lockMain_xhj_page.dart
index 55aefff1..87232bd4 100755
--- a/lib/main/lockMian/lockMain/xhj/lockMain_xhj_page.dart
+++ b/lib/main/lockMian/lockMain/xhj/lockMain_xhj_page.dart
@@ -1,7 +1,4 @@
-import 'dart:async';
-import 'dart:ui';
import 'package:flutter/material.dart';
-import 'package:flutter/scheduler.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_colors.dart';
@@ -9,13 +6,8 @@ import 'package:star_lock/baseWidget.dart';
import 'package:star_lock/main/lockMian/lockMain/lockMain_page.dart';
import 'package:star_lock/main/lockMian/lockMain/xhj/lockMain_xhj_logic.dart';
import 'package:star_lock/mine/mall/lockMall_page.dart';
-import 'package:star_lock/mine/message/messageList/messageList_page.dart';
import 'package:star_lock/mine/message/messageList/messageList_xhj_page.dart';
-import 'package:star_lock/mine/minePersonInfo/minePersonInfoPage/minePersonInfo_page.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_page.dart';
-import 'package:star_lock/tools/noData.dart';
-import 'package:star_lock/tools/submitBtn.dart';
-import 'package:star_lock/translations/trans_lib.dart';
class StarLockMainXHJPage extends StatefulWidget {
const StarLockMainXHJPage({Key? key}) : super(key: key);
@@ -26,7 +18,7 @@ class StarLockMainXHJPage extends StatefulWidget {
class _StarLockMainXHJPageState extends State
with BaseWidget {
- PageController _pageController = PageController();
+ final PageController _pageController = PageController();
@override
void initState() {
diff --git a/lib/network/api_provider.dart b/lib/network/api_provider.dart
index 12eff33d..2f4688d9 100755
--- a/lib/network/api_provider.dart
+++ b/lib/network/api_provider.dart
@@ -446,7 +446,7 @@ class ApiProvider extends BaseProvider {
// 获取Wifi锁服务器
Future getWifiLockServiceIpAndPort() =>
- post(getWifiServiceIpURL.toUrl, jsonEncode({}));
+ post(getWifiServiceIpURL.toUrl, jsonEncode({}), isUnShowLoading: true);
Future passwordKeyList(String keyStatus, String lockId,
String pageNo, String pageSize, String searchStr) =>
@@ -1605,8 +1605,7 @@ class ApiProvider extends BaseProvider {
int endTime,
int remoteUnlockSwitch,
int keyRight,
- bool isShowNetworkErrorMsg
- ) =>
+ bool isShowNetworkErrorMsg) =>
post(
batchSendKeyURL.toUrl,
jsonEncode({
@@ -1624,8 +1623,7 @@ class ApiProvider extends BaseProvider {
'remoteUnlockSwitch': remoteUnlockSwitch,
'keyRight': keyRight,
}),
- isShowNetworkErrorMsg: isShowNetworkErrorMsg
- );
+ isShowNetworkErrorMsg: isShowNetworkErrorMsg);
Future addAuthorizedAdmin(
String createUser,
@@ -1669,7 +1667,8 @@ class ApiProvider extends BaseProvider {
// 获取个人信息
Future getUserInfo(String operatorUid) =>
- post(getUserInfoURL.toUrl, jsonEncode({'operatorUid': operatorUid}));
+ post(getUserInfoURL.toUrl, jsonEncode({'operatorUid': operatorUid}),
+ isUnShowLoading: true);
// 重置密码钥匙
Future keyboardPwdReset(String lockId, List passwordKey) => post(
@@ -2178,7 +2177,7 @@ class ApiProvider extends BaseProvider {
// 获取App基本信息
Future> getAppInfo() =>
post(appGetAppInfoURL.toUrl, jsonEncode({}),
- isShowErrMsg: false);
+ isShowErrMsg: false, isUnShowLoading: true);
// 获取App固件信息
Future> getFwVersion(String model, String currentVersion) =>
From 103570a97bc1d5b08d660d63c53b3ef341140ee7 Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 16:37:33 +0800
Subject: [PATCH 6/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=20=E9=94=81=E5=88=86?=
=?UTF-8?q?=E7=BB=84=E4=BF=AE=E6=94=B9=E5=90=8D=E5=AD=97=E5=90=8E=E6=B2=A1?=
=?UTF-8?q?=E6=9C=89=E4=BE=A7=E6=BB=91=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../card/cardDetail/cardDetail_page.dart | 3 +-
.../face/faceList/faceList_page.dart | 36 ++---
.../iris/irisList/irisList_page.dart | 11 +-
.../palm/palmList/palmList_page.dart | 3 +-
.../lockGroupList/lockGroupList_page.dart | 72 +++++-----
lib/tools/left_slide/left_slide_actions.dart | 101 ++++++++++++++
lib/tools/left_slide/left_slide_logic.dart | 62 +++++++++
lib/tools/left_slide_actions.dart | 124 ------------------
8 files changed, 230 insertions(+), 182 deletions(-)
create mode 100755 lib/tools/left_slide/left_slide_actions.dart
create mode 100644 lib/tools/left_slide/left_slide_logic.dart
delete mode 100755 lib/tools/left_slide_actions.dart
diff --git a/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart b/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart
index d6126b9d..de804c88 100755
--- a/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart
+++ b/lib/main/lockDetail/card/cardDetail/cardDetail_page.dart
@@ -46,7 +46,7 @@ class _CardDetailPageState extends State with RouteAware {
rightTitle: state.typeNumber.value,
isHaveDirection: false,
isHaveLine: true)),
- Obx(() => lockDataListItem(TranslationLoader.lanKeys!.name!.tr,state.typeName.value, () {
+ Obx(() => lockDataListItem(TranslationLoader.lanKeys!.name!.tr,state.typeName.value, () {
ShowTipView().showTFViewAlertDialog(
state.changeNameController,
'${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.name!.tr}',
@@ -62,6 +62,7 @@ class _CardDetailPageState extends State with RouteAware {
FilteringTextInputFormatter.deny('\n'),
LengthLimitingTextInputFormatter(50),
]);
+
})),
Obx(() => Visibility(
visible: state.keyType.value == 4 ||
diff --git a/lib/main/lockDetail/face/faceList/faceList_page.dart b/lib/main/lockDetail/face/faceList/faceList_page.dart
index e1a5c2ae..947627e9 100755
--- a/lib/main/lockDetail/face/faceList/faceList_page.dart
+++ b/lib/main/lockDetail/face/faceList/faceList_page.dart
@@ -1,11 +1,10 @@
-
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
-import 'package:star_lock/tools/left_slide_actions.dart';
+import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
import 'package:star_lock/tools/showTipView.dart';
import '../../../../appRouters.dart';
@@ -26,15 +25,15 @@ class FaceListPage extends StatefulWidget {
State createState() => _FaceListPageState();
}
-class _FaceListPageState extends State with RouteAware {
+class _FaceListPageState extends State with RouteAware {
final logic = Get.put(FaceListLogic());
final state = Get.find().state;
Future getHttpData() async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
- logic.getFaceListData().then((FingerprintListDataEntity value){
- if(mounted) setState(() {});
+ logic.getFaceListData().then((FingerprintListDataEntity value) {
+ if (mounted) setState(() {});
});
}
}
@@ -46,7 +45,6 @@ class _FaceListPageState extends State with RouteAware {
getHttpData();
}
-
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -66,7 +64,8 @@ class _FaceListPageState extends State with RouteAware {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
// showDeletAlertDialog(context);
- ShowTipView().showIosTipWithContentDialog("重置后,该锁的人脸都将被删除哦,确认要重置吗?", () async {
+ ShowTipView().showIosTipWithContentDialog(
+ "重置后,该锁的人脸都将被删除哦,确认要重置吗?", () async {
state.isDeletAll = true;
state.deletKeyID = "1";
state.deletFaceNo = 0;
@@ -82,11 +81,11 @@ class _FaceListPageState extends State with RouteAware {
],
),
body: EasyRefreshTool(
- onRefresh: (){
+ onRefresh: () {
logic.pageNo = 1;
getHttpData();
},
- onLoad: (){
+ onLoad: () {
getHttpData();
},
child: Column(
@@ -130,10 +129,12 @@ class _FaceListPageState extends State with RouteAware {
? ListView.separated(
itemCount: state.faceItemListData.value.length,
itemBuilder: (c, index) {
- FingerprintItemData getFaceItemData = state.faceItemListData.value[index];
+ FingerprintItemData getFaceItemData =
+ state.faceItemListData.value[index];
// 人脸
if (index < state.faceItemListData.value.length) {
return LeftSlideActions(
+ tag: getFaceItemData.faceName!,
key: Key(getFaceItemData.faceName!),
actionsWidth: 60,
actions: [
@@ -146,9 +147,9 @@ class _FaceListPageState extends State with RouteAware {
'images/icon_face.png',
getFaceItemData.faceName!,
logic.getKeyType(getFaceItemData),
- logic.getKeyDateType(getFaceItemData),
- () async {
- var data = await Get.toNamed(Routers.faceDetailPage, arguments: {
+ logic.getKeyDateType(getFaceItemData), () async {
+ var data =
+ await Get.toNamed(Routers.faceDetailPage, arguments: {
"faceItemData": getFaceItemData,
});
if (data != null) {
@@ -252,14 +253,13 @@ class _FaceListPageState extends State with RouteAware {
child: Row(
children: [
Flexible(
- child: Text(
- lockTypeTitle,
+ child: Text(lockTypeTitle,
maxLines: 1,
overflow: TextOverflow.ellipsis,
- style: TextStyle(fontSize: 24.sp, color: AppColors.blackColor)
- ),
+ style: TextStyle(
+ fontSize: 24.sp,
+ color: AppColors.blackColor)),
),
-
],
),
),
diff --git a/lib/main/lockDetail/iris/irisList/irisList_page.dart b/lib/main/lockDetail/iris/irisList/irisList_page.dart
index 94ee0f97..6a12c535 100755
--- a/lib/main/lockDetail/iris/irisList/irisList_page.dart
+++ b/lib/main/lockDetail/iris/irisList/irisList_page.dart
@@ -5,7 +5,7 @@ import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
import 'package:star_lock/main/lockDetail/iris/irisList/irisList_logic.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
-import 'package:star_lock/tools/left_slide_actions.dart';
+import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -42,7 +42,7 @@ class _IrisListPageState extends State {
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () async {
- var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
+ final isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
showDeletAlertDialog(context);
} else {
@@ -73,7 +73,7 @@ class _IrisListPageState extends State {
// "lockId": state.lockId.value,
// "fromType": 1 // 1从添加钥匙列表进入 2从考勤添加员工入口进入
// });
- var data =
+ final data =
await Get.toNamed(Routers.addIrisTypeManagePage, arguments: {
"lockId": state.lockId.value,
"fromType": 1 // 1从添加钥匙列表进入 2从考勤添加员工入口进入
@@ -95,11 +95,12 @@ class _IrisListPageState extends State {
? ListView.separated(
itemCount: state.faceItemListData.value.length,
itemBuilder: (c, index) {
- FingerprintItemData getFaceItemData =
+ final FingerprintItemData getFaceItemData =
state.faceItemListData.value[index];
// 人脸
if (index < state.faceItemListData.value.length) {
return LeftSlideActions(
+ tag: getFaceItemData.faceName!,
key: Key(getFaceItemData.faceName!),
actionsWidth: 60,
actions: [
@@ -122,7 +123,7 @@ class _IrisListPageState extends State {
// ? "永久"
// : "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())}",
() async {
- var data =
+ final data =
await Get.toNamed(Routers.faceDetailPage, arguments: {
"faceItemData": getFaceItemData,
});
diff --git a/lib/main/lockDetail/palm/palmList/palmList_page.dart b/lib/main/lockDetail/palm/palmList/palmList_page.dart
index 065889b8..38d70903 100755
--- a/lib/main/lockDetail/palm/palmList/palmList_page.dart
+++ b/lib/main/lockDetail/palm/palmList/palmList_page.dart
@@ -5,7 +5,7 @@ import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
import 'package:star_lock/main/lockDetail/palm/palmList/palmList_logic.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
-import 'package:star_lock/tools/left_slide_actions.dart';
+import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -100,6 +100,7 @@ class _PalmListPageState extends State {
// 人脸
if (index < state.faceItemListData.value.length) {
return LeftSlideActions(
+ tag:getFaceItemData.faceName!,
key: Key(getFaceItemData.faceName!),
actionsWidth: 60,
actions: [
diff --git a/lib/mine/mineSet/lockGroup/lockGroupList/lockGroupList_page.dart b/lib/mine/mineSet/lockGroup/lockGroupList/lockGroupList_page.dart
index 26d9d9d1..458acf3b 100755
--- a/lib/mine/mineSet/lockGroup/lockGroupList/lockGroupList_page.dart
+++ b/lib/mine/mineSet/lockGroup/lockGroupList/lockGroupList_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList/lockGroupList_state.dart';
+import 'package:star_lock/tools/left_slide/left_slide_logic.dart';
import 'package:star_lock/tools/showTipView.dart';
import '../../../../../../appRouters.dart';
@@ -11,7 +12,7 @@ import '../../../../../../app_settings/app_colors.dart';
import '../../../../../../tools/commonItem.dart';
import '../../../../../../tools/titleAppBar.dart';
import '../../../../../../translations/trans_lib.dart';
-import '../../../../tools/left_slide_actions.dart';
+import '../../../../tools/left_slide/left_slide_actions.dart';
import '../../../../tools/noData.dart';
import 'lockGroupList_logic.dart';
@@ -56,9 +57,11 @@ class _LockGroupListPageState extends State {
logic.showToast(
TranslationLoader.lanKeys!.pleaseEnterAGroupName!.tr);
}
- }, isShowSuffixIcon:true, inputFormatters: [
- LengthLimitingTextInputFormatter(50),
- ]);
+ },
+ isShowSuffixIcon: true,
+ inputFormatters: [
+ LengthLimitingTextInputFormatter(50),
+ ]);
},
),
],
@@ -66,23 +69,22 @@ class _LockGroupListPageState extends State {
body: Column(
children: [
Expanded(
- child: Obx(() => state.itemDataList.value.isEmpty
- ? NoData()
- : _buildMainUI())),
+ child: Obx(() =>
+ state.itemDataList.isEmpty ? NoData() : _buildMainUI())),
],
),
);
}
Widget _buildMainUI() {
- for (int i = 0; i < state.itemDataList.value.length; i++) {
- final GroupListItem itemData = state.itemDataList.value[i];
+ for (int i = 0; i < state.itemDataList.length; i++) {
+ final GroupListItem itemData = state.itemDataList[i];
state.lockNum += itemData.lockList!.length;
}
return ListView.separated(
- itemCount: state.itemDataList.value.length + 1,
+ itemCount: state.itemDataList.length + 1,
itemBuilder: (BuildContext c, int index) {
- if (index == state.itemDataList.value.length) {
+ if (index == state.itemDataList.length) {
return Center(
child: Column(
children: [
@@ -101,12 +103,13 @@ class _LockGroupListPageState extends State {
),
);
} else {
- final GroupListItem itemData = state.itemDataList.value[index];
+ final GroupListItem itemData = state.itemDataList[index];
if (itemData.groupType == 0) {
state.ungrouped = itemData;
}
- if (index < state.itemDataList.value.length) {
+ if (index < state.itemDataList.length) {
return LeftSlideActions(
+ tag: itemData.keyGroupId!.toString(),
key: Key(itemData.keyGroupId!.toString()),
actionsWidth: itemData.groupType != 0 ? 200.w : 0,
actions: itemData.groupType != 0
@@ -118,12 +121,15 @@ class _LockGroupListPageState extends State {
decoration: const BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(1)),
),
- child: lockDataListItem('${itemData.keyGroupName}(${itemData.lockList?.length})', () {
- Get.toNamed(Routers.lockItemListPage, arguments: {
+ child: lockDataListItem(
+ '${itemData.keyGroupName}(${itemData.lockList?.length})',
+ () {
+ Get.toNamed(Routers.lockItemListPage,
+ arguments: {
'groupListItem': itemData,
'ungrouped': state.ungrouped
});
- }),
+ }),
);
}
return const SizedBox.shrink();
@@ -170,13 +176,15 @@ class _LockGroupListPageState extends State {
state.changeNameController.text = groupListItem.keyGroupName!;
// showCupertinoAlertDialog(context, false, groupListItem.keyGroupId!);
- ShowTipView().showTFViewAlertDialog(
- state.changeNameController,
- '修改名称'.tr,
- TranslationLoader.lanKeys!.pleaseEnter!.tr, () {
+ ShowTipView().showTFViewAlertDialog(state.changeNameController,
+ '修改名称'.tr, TranslationLoader.lanKeys!.pleaseEnter!.tr, () {
if (state.changeNameController.text.isNotEmpty) {
Get.back();
logic.editLockGroupRequest(groupListItem.keyGroupId!);
+ final String keyGroupId = groupListItem.keyGroupId!.toString();
+ if (Get.isRegistered(tag: keyGroupId)) {
+ Get.find(tag: keyGroupId).hide();
+ }
} else {
logic.showToast(
TranslationLoader.lanKeys!.pleaseEnterAGroupName!.tr);
@@ -200,26 +208,24 @@ class _LockGroupListPageState extends State {
);
}
- Widget lockDataListItem(String title, Function()? action){
+ Widget lockDataListItem(String title, Function()? action) {
return GestureDetector(
onTap: action,
child: Container(
// height: 70.h,
- padding: EdgeInsets.only(left: 20.w, right: 10.w, top: 15.h, bottom: 15.h),
+ padding:
+ EdgeInsets.only(left: 20.w, right: 10.w, top: 15.h, bottom: 15.h),
decoration: BoxDecoration(
- color: Colors.white,
- border: Border(
- bottom: BorderSide(
- color: AppColors.greyLineColor, // 设置边框颜色
- width: 2.0.h, // 设置边框宽度
- ),
- )
- ),
+ color: Colors.white,
+ border: Border(
+ bottom: BorderSide(
+ color: AppColors.greyLineColor, // 设置边框颜色
+ width: 2.0.h, // 设置边框宽度
+ ),
+ )),
child: Row(
children: [
- Expanded(child:
- Text(title, style: TextStyle(fontSize: 22.sp))
- ),
+ Expanded(child: Text(title, style: TextStyle(fontSize: 22.sp))),
// Text(title, style: TextStyle(fontSize: 22.sp)),
],
),
diff --git a/lib/tools/left_slide/left_slide_actions.dart b/lib/tools/left_slide/left_slide_actions.dart
new file mode 100755
index 00000000..8863baad
--- /dev/null
+++ b/lib/tools/left_slide/left_slide_actions.dart
@@ -0,0 +1,101 @@
+import 'package:flutter/material.dart';
+import 'package:get/get.dart';
+import 'package:star_lock/tools/left_slide/left_slide_logic.dart';
+
+typedef BaseFunction = void Function(T o);
+
+/// 来源: https://blog.csdn.net/zhuowalun8427/article/details/121285947 。
+class LeftSlideActions extends StatefulWidget {
+ const LeftSlideActions({
+ required this.tag,
+ required this.actionsWidth,
+ required this.actions,
+ required this.child,
+ Key? key,
+ this.decoration,
+ this.actionsWillShow,
+ this.exportHideActions,
+ }) : super(key: key);
+ final String tag;
+ final double actionsWidth;
+ final List actions;
+ final Widget child;
+ final Decoration? decoration;
+ final VoidCallback? actionsWillShow;
+ final BaseFunction? exportHideActions;
+
+ @override
+ _LeftSlideActionsState createState() => _LeftSlideActionsState();
+}
+
+class _LeftSlideActionsState extends State
+ with TickerProviderStateMixin {
+ late AnimationController _controller;
+ late LeftSlideLogic logic;
+
+ @override
+ void dispose() {
+ _controller.dispose();
+ super.dispose();
+ }
+
+ @override
+ void initState() {
+ super.initState();
+ _controller = AnimationController(
+ lowerBound: -widget.actionsWidth,
+ upperBound: 0,
+ vsync: this,
+ duration: const Duration(milliseconds: 300),
+ )..addListener(() {
+ logic.translateX = _controller.value;
+ setState(() {});
+ });
+ if (widget.exportHideActions != null) {
+ widget.exportHideActions!(logic.hide);
+ }
+ logic = LeftSlideLogic(
+ controller: _controller,
+ actionsWidth: widget.actionsWidth,
+ actions: widget.actions,
+ decoration: widget.decoration,
+ actionsWillShow: widget.actionsWillShow,
+ exportHideActions: widget.exportHideActions,
+ );
+ Get.put(logic, tag: widget.tag);
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return GetBuilder(
+ tag: widget.tag,
+ builder: (LeftSlideLogic logic) {
+ return Container(
+ decoration: widget.decoration,
+ clipBehavior: Clip.hardEdge,
+ child: Stack(
+ children: [
+ Positioned.fill(
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: widget.actions,
+ ),
+ ),
+ GestureDetector(
+ onHorizontalDragUpdate: logic.onHorizontalDragUpdate,
+ onHorizontalDragEnd: logic.onHorizontalDragEnd,
+ child: Transform.translate(
+ offset: Offset(logic.translateX, 0),
+ child: Row(
+ children: [
+ Expanded(flex: 1, child: widget.child),
+ ],
+ ),
+ ),
+ ),
+ ],
+ ),
+ );
+ });
+ }
+}
diff --git a/lib/tools/left_slide/left_slide_logic.dart b/lib/tools/left_slide/left_slide_logic.dart
new file mode 100644
index 00000000..a20f6bf5
--- /dev/null
+++ b/lib/tools/left_slide/left_slide_logic.dart
@@ -0,0 +1,62 @@
+import 'package:flutter/cupertino.dart';
+import 'package:get/get.dart';
+import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
+
+class LeftSlideLogic extends GetxController {
+ LeftSlideLogic({
+ required this.controller,
+ required this.actionsWidth,
+ required this.actions,
+ required this.decoration,
+ required this.actionsWillShow,
+ required this.exportHideActions,
+ });
+
+ late AnimationController controller;
+ final double actionsWidth;
+ final List actions;
+ final Decoration? decoration;
+ final VoidCallback? actionsWillShow;
+ final BaseFunction? exportHideActions;
+ double translateX = 0;
+
+ @override
+ void onInit() {
+ super.onInit();
+ }
+
+ void onHorizontalDragUpdate(DragUpdateDetails details) {
+ translateX = (translateX + details.delta.dx).clamp(-actionsWidth, 0.0);
+ update();
+ }
+
+ void onHorizontalDragEnd(DragEndDetails details) {
+ controller.value = translateX;
+ if (details.velocity.pixelsPerSecond.dx > 200) {
+ hide();
+ } else if (details.velocity.pixelsPerSecond.dx < -200) {
+ show();
+ } else {
+ if (translateX.abs() > actionsWidth / 2) {
+ show();
+ } else {
+ hide();
+ }
+ }
+ }
+
+ void show() {
+ if (actionsWillShow != null) {
+ actionsWillShow!();
+ }
+ if (translateX != -actionsWidth) {
+ controller.animateTo(-actionsWidth);
+ }
+ }
+
+ void hide() {
+ if (translateX != 0) {
+ controller.animateTo(0);
+ }
+ }
+}
diff --git a/lib/tools/left_slide_actions.dart b/lib/tools/left_slide_actions.dart
deleted file mode 100755
index 90762da5..00000000
--- a/lib/tools/left_slide_actions.dart
+++ /dev/null
@@ -1,124 +0,0 @@
-import 'package:flutter/material.dart';
-
-typedef _BaseFunction = void Function(T o);
-
-/// 来源: https://blog.csdn.net/zhuowalun8427/article/details/121285947 。
-class LeftSlideActions extends StatefulWidget {
- final double actionsWidth;
- final List actions;
- final Widget child;
- final Decoration? decoration;
- final VoidCallback? actionsWillShow;
- final _BaseFunction? exportHideActions;
-
- const LeftSlideActions({
- Key? key,
- required this.actionsWidth,
- required this.actions,
- required this.child,
- this.decoration,
- this.actionsWillShow,
- this.exportHideActions,
- }) : super(key: key);
-
- @override
- _LeftSlideActionsState createState() => _LeftSlideActionsState();
-}
-
-class _LeftSlideActionsState extends State
- with TickerProviderStateMixin {
- double _translateX = 0;
- late AnimationController _controller;
-
- @override
- void dispose() {
- _controller.dispose();
- super.dispose();
- }
-
- @override
- void initState() {
- super.initState();
- _controller = AnimationController(
- lowerBound: -widget.actionsWidth,
- upperBound: 0,
- vsync: this,
- duration: const Duration(milliseconds: 300),
- )..addListener(() {
- _translateX = _controller.value;
- setState(() {});
- });
- if (widget.exportHideActions != null) {
- widget.exportHideActions!(_hide);
- }
- }
-
- @override
- Widget build(BuildContext context) {
- return Container(
- decoration: widget.decoration,
- clipBehavior: Clip.hardEdge,
- child: Stack(
- children: [
- Positioned.fill(
- child: Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: widget.actions,
- ),
- ),
- GestureDetector(
- onHorizontalDragUpdate: (v) {
- _onHorizontalDragUpdate(v);
- },
- onHorizontalDragEnd: (v) {
- _onHorizontalDragEnd(v);
- },
- child: Transform.translate(
- offset: Offset(_translateX, 0),
- child: Row(
- children: [
- Expanded(flex: 1, child: widget.child),
- ],
- ),
- ),
- ),
- ],
- ),
- );
- }
-
- void _onHorizontalDragUpdate(DragUpdateDetails details) {
- _translateX = (_translateX + details.delta.dx).clamp(-widget.actionsWidth, 0.0);
- setState(() {});
- }
-
- void _onHorizontalDragEnd(DragEndDetails details) {
- _controller.value = _translateX;
- if (details.velocity.pixelsPerSecond.dx > 200) {
- _hide();
- } else if (details.velocity.pixelsPerSecond.dx < -200) {
- _show();
- } else {
- if (_translateX.abs() > widget.actionsWidth / 2) {
- _show();
- } else {
- _hide();
- }
- }
- }
-
- void _show() {
- if (widget.actionsWillShow != null) {
- widget.actionsWillShow!();
- }
- if (_translateX != -widget.actionsWidth) {
- _controller.animateTo(-widget.actionsWidth);
- }
- }
-
- void _hide() {
- if (_translateX != 0) {
- _controller.animateTo(0);
- }
- }
-}
From 3de600acda96c868ca22b87feabe50699d7d862a Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 17:38:34 +0800
Subject: [PATCH 7/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=20=E6=97=A0=E7=BD=91?=
=?UTF-8?q?=E7=BB=9C=E7=8A=B6=E6=80=81=E5=8F=AF=E4=BB=A5=E7=82=B9=E5=87=BB?=
=?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=A0=E9=99=A4=EF=BC=8C=E5=8D=A1/?=
=?UTF-8?q?=E5=AF=86=E7=A0=81/=E6=8C=87=E7=BA=B9=E7=AD=89=E6=B8=85?=
=?UTF-8?q?=E9=99=A4=E6=93=8D=E4=BD=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../starLock_forgetPassword_page.dart | 40 +-
.../starLock_forgetPassword_xhj_page.dart | 25 +-
lib/main.dart | 6 +-
.../card/cardList/cardList_page.dart | 6 +
.../electronicKeyList_page.dart | 6 +
.../face/faceList/faceList_page.dart | 6 +
.../fingerprintList/fingerprintList_page.dart | 6 +
.../iris/irisList/irisList_page.dart | 6 +
.../lockSet/lockSet/lockSet_page.dart | 408 +++++++++---------
.../wirelessKeyboard_page.dart | 7 +
.../palm/palmList/palmList_page.dart | 6 +
.../passwordKeyList/passwordKeyList_page.dart | 11 +-
.../remoteControlList_page.dart | 6 +
.../lockMian/lockMain/lockMain_logic.dart | 19 +-
14 files changed, 318 insertions(+), 240 deletions(-)
diff --git a/lib/login/forgetPassword/starLock_forgetPassword_page.dart b/lib/login/forgetPassword/starLock_forgetPassword_page.dart
index 3569619a..27e22275 100755
--- a/lib/login/forgetPassword/starLock_forgetPassword_page.dart
+++ b/lib/login/forgetPassword/starLock_forgetPassword_page.dart
@@ -7,6 +7,7 @@ import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_settings.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_logic.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_state.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import '../../appRouters.dart';
import '../../app_settings/app_colors.dart';
@@ -23,9 +24,12 @@ class StarLockForgetPasswordPage extends StatefulWidget {
_StarLockForgetPasswordPageState();
}
-class _StarLockForgetPasswordPageState extends State {
- final StarLockForgetPasswordLogic logic = Get.put(StarLockForgetPasswordLogic());
- final StarLockForgetPasswordState state = Get.find().state;
+class _StarLockForgetPasswordPageState
+ extends State {
+ final StarLockForgetPasswordLogic logic =
+ Get.put(StarLockForgetPasswordLogic());
+ final StarLockForgetPasswordState state =
+ Get.find().state;
@override
Widget build(BuildContext context) {
@@ -57,7 +61,8 @@ class _StarLockForgetPasswordPageState extends State
children: [
SizedBox(width: 5.w),
Expanded(
- child: Text(TranslationLoader.lanKeys!.countryAndRegion!.tr,
+ child: Text(
+ TranslationLoader.lanKeys!.countryAndRegion!.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor))),
SizedBox(width: 20.w),
@@ -65,14 +70,14 @@ class _StarLockForgetPasswordPageState extends State
mainAxisAlignment: MainAxisAlignment.end,
children: [
Obx(() => Text(
- '${state.countryName} +${state.countryCode}',
- // state.isIphoneType.value
- // ? '${state.countryName} +${state.countryCode}'
- // : "${state.countryName}",
- textAlign: TextAlign.end,
- style: TextStyle(
- fontSize: 26.sp, color: AppColors.blackColor),
- ))
+ '${state.countryName} +${state.countryCode}',
+ // state.isIphoneType.value
+ // ? '${state.countryName} +${state.countryCode}'
+ // : "${state.countryName}",
+ textAlign: TextAlign.end,
+ style: TextStyle(
+ fontSize: 26.sp, color: AppColors.blackColor),
+ ))
],
),
SizedBox(width: 5.w),
@@ -95,14 +100,16 @@ class _StarLockForgetPasswordPageState extends State
logic.checkNext(state.phoneController);
},
leftWidget: Padding(
- padding: EdgeInsets.only(top: 30.w, bottom: 20.w, right: 5.w, left: 5.w),
+ padding: EdgeInsets.only(
+ top: 30.w, bottom: 20.w, right: 5.w, left: 5.w),
child: Image.asset(
'images/icon_login_account.png',
width: 36.w,
height: 36.w,
),
),
- hintText:TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
+ hintText:
+ TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
keyboardType: TextInputType.number,
inputFormatters: [
LengthLimitingTextInputFormatter(30),
@@ -232,6 +239,11 @@ class _StarLockForgetPasswordPageState extends State
isDisabled: state.canSub.value,
onClick: state.canSub.value
? () {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
logic.resetPassword();
}
: null);
diff --git a/lib/login/forgetPassword/starLock_forgetPassword_xhj_page.dart b/lib/login/forgetPassword/starLock_forgetPassword_xhj_page.dart
index 0fe04748..ae08975b 100755
--- a/lib/login/forgetPassword/starLock_forgetPassword_xhj_page.dart
+++ b/lib/login/forgetPassword/starLock_forgetPassword_xhj_page.dart
@@ -1,4 +1,3 @@
-
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@@ -7,6 +6,7 @@ import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_logic.dart';
import 'package:star_lock/login/forgetPassword/starLock_forgetPassword_state.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/tools/tf_loginInput.dart';
import 'package:star_lock/tools/titleAppBar.dart';
@@ -22,8 +22,10 @@ class StarLockForgetPasswordXHJPage extends StatefulWidget {
class _StarLockForgetPasswordPageState
extends State {
- final StarLockForgetPasswordLogic logic = Get.put(StarLockForgetPasswordLogic());
- final StarLockForgetPasswordState state = Get.find().state;
+ final StarLockForgetPasswordLogic logic =
+ Get.put(StarLockForgetPasswordLogic());
+ final StarLockForgetPasswordState state =
+ Get.find().state;
@override
Widget build(BuildContext context) {
@@ -102,7 +104,7 @@ class _StarLockForgetPasswordPageState
padding: EdgeInsets.only(top: 30.w, bottom: 20.w, left: 5.w),
),
label:
- '${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.password!.tr}',
+ '${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.password!.tr}',
inputFormatters: [
LengthLimitingTextInputFormatter(20),
]),
@@ -122,7 +124,7 @@ class _StarLockForgetPasswordPageState
padding: EdgeInsets.only(top: 30.w, bottom: 20.w, left: 5.w),
),
label:
- '${TranslationLoader.lanKeys!.sure!.tr}${TranslationLoader.lanKeys!.password!.tr}',
+ '${TranslationLoader.lanKeys!.sure!.tr}${TranslationLoader.lanKeys!.password!.tr}',
inputFormatters: [
LengthLimitingTextInputFormatter(20),
]),
@@ -136,7 +138,7 @@ class _StarLockForgetPasswordPageState
},
leftWidget: SizedBox(),
hintText:
- '${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}',
+ '${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}',
inputFormatters: [
LengthLimitingTextInputFormatter(20),
]),
@@ -179,14 +181,21 @@ class _StarLockForgetPasswordPageState
Obx(() {
return SubmitBtn(
btnName:
- '${TranslationLoader.lanKeys!.reset!.tr}${TranslationLoader.lanKeys!.password!.tr}',
+ '${TranslationLoader.lanKeys!.reset!.tr}${TranslationLoader.lanKeys!.password!.tr}',
// backgroundColorList: state.canSub.value ? [AppColors.mainColor] :[Colors.grey],
fontSize: 30.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
isDisabled: state.canSub.value,
onClick: state.canSub.value
- ? logic.resetPassword
+ ? () {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
+ logic.resetPassword();
+ }
: null);
}),
],
diff --git a/lib/main.dart b/lib/main.dart
index d68c857f..38ebdf90 100755
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -33,10 +33,12 @@ FutureOr main() async {
final bool isLogin = await getLoginStatus();
if (isLogin) {
await privacySDKInitialization();
- Future.delayed(const Duration(milliseconds: 500), () async{
+ Future.delayed(const Duration(milliseconds: 500), () async {
final GetAppInfo entity = await ApiRepository.to.getAppInfo();
CustomerTool.init(entity.data?.wechatServiceUrl ?? '');
- WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!);
+ if (entity.data?.appSiteUrl != null) {
+ WxPayTool.setAssociationUrl(entity.data!.appSiteUrl!);
+ }
});
}
diff --git a/lib/main/lockDetail/card/cardList/cardList_page.dart b/lib/main/lockDetail/card/cardList/cardList_page.dart
index e7e7a4c2..7e201210 100755
--- a/lib/main/lockDetail/card/cardList/cardList_page.dart
+++ b/lib/main/lockDetail/card/cardList/cardList_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/card/cardList/cardList_state.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -68,6 +69,11 @@ class _CardListPageState extends State with RouteAware {
onPressed: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
ShowTipView().showIosTipWithContentDialog(
'重置后,该锁的卡都将被删除哦,确认要重置吗?'.tr, () async {
state.isDeletAll = true;
diff --git a/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart b/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart
index be44eeee..df183855 100755
--- a/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart
+++ b/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart
@@ -6,6 +6,7 @@ import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_logic.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_state.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/storage.dart';
@@ -67,6 +68,11 @@ class _ElectronicKeyListPageState extends State {
final bool? isDemoMode =
await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
ShowTipView().showIosTipWithContentDialog(
'该锁的电子钥匙都将被删除'.tr, logic.resetElectronicKeyListRequest);
} else {
diff --git a/lib/main/lockDetail/face/faceList/faceList_page.dart b/lib/main/lockDetail/face/faceList/faceList_page.dart
index 947627e9..6b1ec731 100755
--- a/lib/main/lockDetail/face/faceList/faceList_page.dart
+++ b/lib/main/lockDetail/face/faceList/faceList_page.dart
@@ -3,6 +3,7 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
import 'package:star_lock/tools/showTipView.dart';
@@ -63,6 +64,11 @@ class _FaceListPageState extends State with RouteAware {
onPressed: () async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
// showDeletAlertDialog(context);
ShowTipView().showIosTipWithContentDialog(
"重置后,该锁的人脸都将被删除哦,确认要重置吗?", () async {
diff --git a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart
index 09c5759e..c654e693 100755
--- a/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart
+++ b/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintList_state.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -69,6 +70,11 @@ class _FingerprintListPageState extends State
onPressed: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
ShowTipView().showIosTipWithContentDialog(
'重置后,该锁的指纹都将被删除哦,确认要重置吗?'.tr, () async {
state.isDeletAll = true;
diff --git a/lib/main/lockDetail/iris/irisList/irisList_page.dart b/lib/main/lockDetail/iris/irisList/irisList_page.dart
index 6a12c535..bc4f4fe8 100755
--- a/lib/main/lockDetail/iris/irisList/irisList_page.dart
+++ b/lib/main/lockDetail/iris/irisList/irisList_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
import 'package:star_lock/main/lockDetail/iris/irisList/irisList_logic.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
@@ -44,6 +45,11 @@ class _IrisListPageState extends State {
onPressed: () async {
final isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
showDeletAlertDialog(context);
} else {
// Get.toNamed(Routers.selectLockTypePage);
diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart
index c15dfa29..411ce532 100755
--- a/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart
+++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_page.dart
@@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/lockSet/checkingInInfoData_entity.dart';
import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSet_state.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -28,9 +29,7 @@ class LockSetPage extends StatefulWidget {
class _LockSetPageState extends State with RouteAware {
final LockSetLogic logic = Get.put(LockSetLogic());
- final LockSetState state = Get
- .find()
- .state;
+ final LockSetState state = Get.find().state;
Future getHttpData() async {
logic.getLockSettingInfoData().then((LockSetInfoEntity value) {
@@ -65,8 +64,7 @@ class _LockSetPageState extends State with RouteAware {
child: Column(
children: [
Expanded(
- child: Obx(() =>
- ListView(
+ child: Obx(() => ListView(
children: getListWidget(),
)),
),
@@ -104,47 +102,43 @@ class _LockSetPageState extends State with RouteAware {
}),
SizedBox(height: 10.h),
// 自动闭锁
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.autoLock == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
- rightTitle: (state.lockSettingInfo.value.autoLock ?? 0) > 0
- ? '${state.lockSetInfoData.value.lockSettingInfo!
- .autoLockSecond ?? 0}s'
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- // isHaveRightWidget: true,
- // rightWidget: rightText((state.lockSetInfoData.value.lockSetting!.autoLock ?? 0) > 0
- // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
- // : TranslationLoader.lanKeys!.closed!.tr),
- action: () {
- Get.toNamed(Routers.automaticBlockingPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value,
- // 'lockBasicInfo': state.lockBasicInfo.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.autoLock == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
+ rightTitle: (state.lockSettingInfo.value.autoLock ?? 0) > 0
+ ? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond ?? 0}s'
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ // isHaveRightWidget: true,
+ // rightWidget: rightText((state.lockSetInfoData.value.lockSetting!.autoLock ?? 0) > 0
+ // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
+ // : TranslationLoader.lanKeys!.closed!.tr),
+ action: () {
+ Get.toNamed(Routers.automaticBlockingPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value,
+ // 'lockBasicInfo': state.lockBasicInfo.value
+ });
+ }))),
// 常开模式
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.passageMode == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
- rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) ==
- 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.normallyOpenModePage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value,
- 'lockBasicInfo': state.lockBasicInfo.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.passageMode == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
+ rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.normallyOpenModePage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value,
+ 'lockBasicInfo': state.lockBasicInfo.value
+ });
+ }))),
Visibility(
visible: true,
child: CommonItem(
@@ -153,10 +147,10 @@ class _LockSetPageState extends State with RouteAware {
isHaveLine: true,
isHaveDirection: true,
action: () {
- Get.toNamed(
- Routers.lockTimePage, arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
+ Get.toNamed(Routers.lockTimePage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
})),
SizedBox(height: 30.h),
Container(
@@ -166,10 +160,14 @@ class _LockSetPageState extends State with RouteAware {
isDelete: true,
onClick: () {
// logic.deletUserAction();
-
// logic.deletLockInfoData();
// showDeletAlertDialog(context);
// showDeletPasswordAlertDialog(context);
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
logic.deleyLockLogicOfRoles();
}),
),
@@ -242,27 +240,25 @@ class _LockSetPageState extends State with RouteAware {
// })),
// SizedBox(height: 10.h),
// 自动闭锁
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.autoLock == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
- rightTitle: state.lockSettingInfo.value.autoLock! > 0
- ? '${state.lockSetInfoData.value.lockSettingInfo!
- .autoLockSecond}s'
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- // isHaveRightWidget: true,
- // rightWidget: rightText((state.lockSetInfoData.value.lockSetting!.autoLock ?? 0) > 0
- // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
- // : TranslationLoader.lanKeys!.closed!.tr),
- action: () {
- Get.toNamed(Routers.automaticBlockingPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.autoLock == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
+ rightTitle: state.lockSettingInfo.value.autoLock! > 0
+ ? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond}s'
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ // isHaveRightWidget: true,
+ // rightWidget: rightText((state.lockSetInfoData.value.lockSetting!.autoLock ?? 0) > 0
+ // ? "${state.lockSetInfoData.value.lockSetting!.autoLockSecond ?? 0}s"
+ // : TranslationLoader.lanKeys!.closed!.tr),
+ action: () {
+ Get.toNamed(Routers.automaticBlockingPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
// 锁声音
Obx(() {
String titleStr = '';
@@ -302,80 +298,72 @@ class _LockSetPageState extends State with RouteAware {
}));
}),
// 防撬报警
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.antiPrySwitch == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
- rightTitle: (state.lockSettingInfo.value.antiPrySwitch ??
- 0) == 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.burglarAlarmPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.antiPrySwitch == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
+ rightTitle: (state.lockSettingInfo.value.antiPrySwitch ?? 0) == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.burglarAlarmPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
SizedBox(height: 10.h),
// 常开模式
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.passageMode == 1,
- // visible: true,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
- rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) ==
- 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.normallyOpenModePage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.passageMode == 1,
+ // visible: true,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
+ rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.normallyOpenModePage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
// 远程开锁
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.remoteUnlock == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
- rightTitle: (state.lockSettingInfo.value.remoteUnlock ?? 0) ==
- 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.remoteUnlockingPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.remoteUnlock == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
+ rightTitle: (state.lockSettingInfo.value.remoteUnlock ?? 0) == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.remoteUnlockingPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
// 重置键
- Obx(() =>
- Visibility(
- visible: state.lockBasicInfo.value.isLockOwner == 1 &&
- state.lockFeature.value.resetSwitch == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
- rightTitle: (state.lockSettingInfo.value.resetSwitch ?? 0) ==
- 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.resetButtonPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockBasicInfo.value.isLockOwner == 1 &&
+ state.lockFeature.value.resetSwitch == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
+ rightTitle: (state.lockSettingInfo.value.resetSwitch ?? 0) == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.resetButtonPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
SizedBox(height: 10.h),
//---田总新增展示
// Obx(() =>
@@ -409,20 +397,19 @@ class _LockSetPageState extends State with RouteAware {
});
})),
//猫眼设置
- Obx(() =>
- Visibility(
- visible: state.lockFeature.value.isSupportCatEye == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.catEyeSet!.tr,
- rightTitle: '',
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.catEyeSetPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- }))),
+ Obx(() => Visibility(
+ visible: state.lockFeature.value.isSupportCatEye == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.catEyeSet!.tr,
+ rightTitle: '',
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.catEyeSetPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ }))),
// Obx(() =>
//自动亮屏已包括至面容开锁模块
// Visibility(
@@ -477,7 +464,7 @@ class _LockSetPageState extends State with RouteAware {
// 蓝牙广播(关闭则不能使用蓝牙主动开锁)
/* 2024-01-12 会议确定去掉“蓝牙广播” by DaisyWu
Obx(() => Visibility(
- visible: true,
+ visible: true,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.bluetoothBroadcast!.tr,
rightTitle: "",
@@ -511,66 +498,62 @@ class _LockSetPageState extends State with RouteAware {
// }),
// 考勤
Obx(
- () =>
- Visibility(
- visible: state.lockBasicInfo.value.isLockOwner == 1 &&
- state.lockFeature.value.attendance == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr,
- rightTitle: '',
- isHaveLine: true,
- isHaveRightWidget: true,
- rightWidget: _openCheckInSwitch())),
+ () => Visibility(
+ visible: state.lockBasicInfo.value.isLockOwner == 1 &&
+ state.lockFeature.value.attendance == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr,
+ rightTitle: '',
+ isHaveLine: true,
+ isHaveRightWidget: true,
+ rightWidget: _openCheckInSwitch())),
),
// 开锁提醒
Obx(
- () =>
- Visibility(
- visible: state.lockBasicInfo.value.isLockOwner == 1 &&
- state.lockFeature.value.unlockReminder == 1,
- child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
- rightTitle: '',
- isHaveLine: true,
- isHaveRightWidget: true,
- rightWidget: _lockRemindSwitch())),
+ () => Visibility(
+ visible: state.lockBasicInfo.value.isLockOwner == 1 &&
+ state.lockFeature.value.unlockReminder == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
+ rightTitle: '',
+ isHaveLine: true,
+ isHaveRightWidget: true,
+ rightWidget: _lockRemindSwitch())),
),
// APP开锁时是否需联网
Obx(
- () =>
- Visibility(
- visible: state.lockBasicInfo.value.isLockOwner == 1 &&
- state.lockFeature.value.appUnlockOnline == 1,
- child: CommonItem(
- leftTitel: TranslationLoader
- .lanKeys!.whetherInternetRequiredWhenUnlocking!.tr,
- rightTitle: '',
- isHaveLine: false,
- isHaveRightWidget: true,
- rightWidget: _openLockNeedOnlineSwitch()),
- ),
+ () => Visibility(
+ visible: state.lockBasicInfo.value.isLockOwner == 1 &&
+ state.lockFeature.value.appUnlockOnline == 1,
+ child: CommonItem(
+ leftTitel: TranslationLoader
+ .lanKeys!.whetherInternetRequiredWhenUnlocking!.tr,
+ rightTitle: '',
+ isHaveLine: false,
+ isHaveRightWidget: true,
+ rightWidget: _openLockNeedOnlineSwitch()),
+ ),
),
SizedBox(height: 10.h),
// wifi配网
Obx(
- () =>
- Visibility(
- visible: state.lockFeature.value.wifi == 1,
- child: CommonItem(
- leftTitel:
+ () => Visibility(
+ visible: state.lockFeature.value.wifi == 1,
+ child: CommonItem(
+ leftTitel:
TranslationLoader.lanKeys!.wifiDistributionNetwork!.tr,
- rightTitle: '',
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.wifiListPage,
- arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
- // Get.toNamed(Routers.configuringWifiPage, arguments: {
- // 'lockSetInfoData': state.lockSetInfoData.value
- // });
- })),
+ rightTitle: '',
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.wifiListPage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
+ // Get.toNamed(Routers.configuringWifiPage, arguments: {
+ // 'lockSetInfoData': state.lockSetInfoData.value
+ // });
+ })),
),
// Obx(() =>
// 锁时间
@@ -582,10 +565,10 @@ class _LockSetPageState extends State with RouteAware {
isHaveLine: true,
isHaveDirection: true,
action: () {
- Get.toNamed(
- Routers.lockTimePage, arguments: {
- 'lockSetInfoData': state.lockSetInfoData.value
- });
+ Get.toNamed(Routers.lockTimePage,
+ arguments: {
+ 'lockSetInfoData': state.lockSetInfoData.value
+ });
})),
// ),
// Obx(() =>
@@ -676,12 +659,11 @@ class _LockSetPageState extends State with RouteAware {
thumbColor: CupertinoColors.white,
value: state.isAttendance.value == 1,
onChanged: (bool value) {
- logic.openCheckingInData((
- CheckingInInfoDataEntity checkingInInfoDataEntity) {
+ logic.openCheckingInData(
+ (CheckingInInfoDataEntity checkingInInfoDataEntity) {
if (checkingInInfoDataEntity.data!.companyId == 0) {
// logic.showCupertinoAlertDialog(context);
- ShowTipView().showIosTipWithContentDialog(
- '创建公司后,考勤功能才能使用'.tr, () {
+ ShowTipView().showIosTipWithContentDialog('创建公司后,考勤功能才能使用'.tr, () {
// 删除锁
Get.toNamed(Routers.checkInCreatCompanyPage,
arguments: {
diff --git a/lib/main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart b/lib/main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
index b04eca44..ca725531 100755
--- a/lib/main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
+++ b/lib/main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
@@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/noData.dart';
import '../../../../../appRouters.dart';
@@ -19,6 +20,7 @@ class WirelessKeyboardPage extends StatefulWidget {
class _WirelessKeyboardPageState extends State {
List dataList = [];
+
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -34,6 +36,11 @@ class _WirelessKeyboardPageState extends State {
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
_showDialog(context);
},
),
diff --git a/lib/main/lockDetail/palm/palmList/palmList_page.dart b/lib/main/lockDetail/palm/palmList/palmList_page.dart
index 38d70903..18e153a0 100755
--- a/lib/main/lockDetail/palm/palmList/palmList_page.dart
+++ b/lib/main/lockDetail/palm/palmList/palmList_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart';
import 'package:star_lock/main/lockDetail/palm/palmList/palmList_logic.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/keySearchWidget.dart';
import 'package:star_lock/tools/left_slide/left_slide_actions.dart';
@@ -44,6 +45,11 @@ class _PalmListPageState extends State {
onPressed: () async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
showDeletAlertDialog(context);
} else {
// Get.toNamed(Routers.selectLockTypePage);
diff --git a/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart b/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart
index 2f206d13..7403cf35 100755
--- a/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart
+++ b/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart
@@ -6,6 +6,7 @@ import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKe
import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_logic.dart';
import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_state.dart';
import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/storage.dart';
import '../../../../appRouters.dart';
@@ -67,6 +68,11 @@ class _PasswordKeyListPageState extends State
final bool? isDemoMode =
await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
if (state.itemDataList.isEmpty) {
logic.showToast('暂无密码,无需重置'.tr);
return;
@@ -227,7 +233,8 @@ class _PasswordKeyListPageState extends State
Row(
children: [
SizedBox(
- width: passwordKeyListItem.keyboardPwdStatus == 2 || passwordKeyListItem.keyboardPwdStatus == 3
+ width: passwordKeyListItem.keyboardPwdStatus == 2 ||
+ passwordKeyListItem.keyboardPwdStatus == 3
? 1.sw - 110.w - 100.w
: 1.sw - 110.w - 50.w,
child: Row(children: [
@@ -247,7 +254,7 @@ class _PasswordKeyListPageState extends State
'已过期'.tr,
style: TextStyle(color: Colors.red, fontSize: 20.sp),
)
- else if (passwordKeyListItem.keyboardPwdStatus == 3)
+ else if (passwordKeyListItem.keyboardPwdStatus == 3)
Text(
'未生效'.tr,
style: TextStyle(color: Colors.red, fontSize: 20.sp),
diff --git a/lib/main/lockDetail/remoteControl/remoteControlList/remoteControlList_page.dart b/lib/main/lockDetail/remoteControl/remoteControlList/remoteControlList_page.dart
index b5527846..5f193cd1 100755
--- a/lib/main/lockDetail/remoteControl/remoteControlList/remoteControlList_page.dart
+++ b/lib/main/lockDetail/remoteControl/remoteControlList/remoteControlList_page.dart
@@ -3,6 +3,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -44,6 +45,11 @@ class _RemoteControlListPageState extends State {
onPressed: () async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {
+ final bool isNetWork =
+ LockMainLogic.to()?.judgeTheNetwork() ?? false;
+ if (!isNetWork) {
+ return;
+ }
showDeletAlertDialog(context);
} else {
// Get.toNamed(Routers.selectLockTypePage);
diff --git a/lib/main/lockMian/lockMain/lockMain_logic.dart b/lib/main/lockMian/lockMain/lockMain_logic.dart
index 2fa7974c..ae2daf05 100755
--- a/lib/main/lockMian/lockMain/lockMain_logic.dart
+++ b/lib/main/lockMian/lockMain/lockMain_logic.dart
@@ -109,11 +109,20 @@ class LockMainLogic extends BaseGetXController {
result != ConnectivityResult.none) {
// 从无网络到有网络
state.networkConnectionStatus.value = 1;
- getStarLockInfo();
+ getStarLockInfo(isUnShowLoading: true);
}
});
}
+ /// 判断是否有网络
+ bool judgeTheNetwork() {
+ final bool isNetwork = state.networkConnectionStatus.value == 1;
+ if (!isNetwork) {
+ EasyLoading.showToast('网络访问失败,请检查网络是否正常'.tr);
+ }
+ return isNetwork;
+ }
+
/// 检测推送是否开启
Future checkWhetherPushIsEnabled() async {
bool notificationEnabled = false;
@@ -261,6 +270,7 @@ class LockMainLogic extends BaseGetXController {
super.onInit();
checkWhetherPushIsEnabled();
_initSubscription();
+ connectListener();
}
@override
@@ -270,4 +280,11 @@ class LockMainLogic extends BaseGetXController {
});
super.onClose();
}
+
+ static LockMainLogic? to() {
+ if (Get.isRegistered()) {
+ return Get.find();
+ }
+ return null;
+ }
}
From e56685be9cb50ce3241cb17c9f2291c5b733139c Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 18:02:56 +0800
Subject: [PATCH 8/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=20=E4=BA=BA=E8=84=B8?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A7=93=E5=90=8D=E5=90=8E=E5=9B=9E=E9=80=80?=
=?UTF-8?q?=E5=88=B0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
images/lan/lan_en.json | 3 +-
images/lan/lan_keys.json | 3 +-
images/lan/lan_zh.json | 3 +-
.../face/faceDetail/faceDetail_logic.dart | 2 +
.../face/faceDetail/faceDetail_page.dart | 38 +++++++------
...eleteAdministratorIsHaveAllDataWidget.dart | 54 +++++++++++--------
6 files changed, 63 insertions(+), 40 deletions(-)
diff --git a/images/lan/lan_en.json b/images/lan/lan_en.json
index 5f66a7a8..d0c782b8 100755
--- a/images/lan/lan_en.json
+++ b/images/lan/lan_en.json
@@ -924,5 +924,6 @@
"导出成功":"Export success",
"发送钥匙": "Send key",
"进度": "Progress",
- "失败": "Failure"
+ "失败": "Failure",
+ "人脸详情": "Face details"
}
diff --git a/images/lan/lan_keys.json b/images/lan/lan_keys.json
index c60eaf12..2d798848 100755
--- a/images/lan/lan_keys.json
+++ b/images/lan/lan_keys.json
@@ -956,5 +956,6 @@
"导出成功":"导出成功",
"发送钥匙": "发送钥匙",
"进度": "进度",
- "失败": "失败"
+ "失败": "失败",
+ "人脸详情": "人脸详情"
}
diff --git a/images/lan/lan_zh.json b/images/lan/lan_zh.json
index 59861ed2..b788524f 100755
--- a/images/lan/lan_zh.json
+++ b/images/lan/lan_zh.json
@@ -921,6 +921,7 @@
"导出成功":"导出成功",
"发送钥匙": "发送钥匙",
"进度": "进度",
- "失败": "失败"
+ "失败": "失败",
+ "人脸详情": "人脸详情"
}
diff --git a/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart b/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart
index 5ac27227..b4f75049 100755
--- a/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart
+++ b/lib/main/lockDetail/face/faceDetail/faceDetail_logic.dart
@@ -174,6 +174,8 @@ class FaceDetailLogic extends BaseGetXController {
showToast('修改成功', something: () {
Get.back(result: 'addScuess');
});
+ }else{
+ Get.back();
}
}
diff --git a/lib/main/lockDetail/face/faceDetail/faceDetail_page.dart b/lib/main/lockDetail/face/faceDetail/faceDetail_page.dart
index b32f3225..54bf087f 100755
--- a/lib/main/lockDetail/face/faceDetail/faceDetail_page.dart
+++ b/lib/main/lockDetail/face/faceDetail/faceDetail_page.dart
@@ -33,7 +33,7 @@ class _FaceDetailPageState extends State with RouteAware {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
- barTitle: '人脸详情',
+ barTitle: '人脸详情'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@@ -44,7 +44,9 @@ class _FaceDetailPageState extends State with RouteAware {
rightTitle: state.typeNumber.value,
isHaveDirection: false,
isHaveLine: true)),
- Obx(() => lockDataListItem(TranslationLoader.lanKeys!.name!.tr, state.typeName.value, () {
+ Obx(() => lockDataListItem(
+ TranslationLoader.lanKeys!.name!.tr, state.typeName.value,
+ () {
// showCupertinoAlertDialog(context);
ShowTipView().showTFViewAlertDialog(
state.changeNameController,
@@ -54,7 +56,6 @@ class _FaceDetailPageState extends State with RouteAware {
logic.showToast('请输入姓名'.tr);
return;
}
- Get.back();
state.typeName.value = state.changeNameController.text;
logic.updateFaceNameData();
}, inputFormatters: [
@@ -64,8 +65,8 @@ class _FaceDetailPageState extends State with RouteAware {
})),
Obx(() => Visibility(
visible: state.keyType.value == 4 ||
- state.keyType.value == 2 ||
- state.keyType.value == 1,
+ state.keyType.value == 2 ||
+ state.keyType.value == 1,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr,
allHeight: 70.h,
@@ -187,11 +188,12 @@ class _FaceDetailPageState extends State with RouteAware {
rightTitle: '',
isHaveDirection: true,
action: () {
- Get.toNamed(Routers.lockOperatingRecordPage, arguments: {
- 'type': 4,
- 'id': state.faceItemData.value.faceId.toString(),
- 'recordName': state.faceItemData.value.faceName
- });
+ Get.toNamed(Routers.lockOperatingRecordPage,
+ arguments: {
+ 'type': 4,
+ 'id': state.faceItemData.value.faceId.toString(),
+ 'recordName': state.faceItemData.value.faceName
+ });
}),
// SizedBox(height: 40.h),
// addControlsBtn(type),
@@ -215,12 +217,14 @@ class _FaceDetailPageState extends State with RouteAware {
);
}
- Widget lockDataListItem(String leftTitle, String conentStr, Function()? action){
+ Widget lockDataListItem(
+ String leftTitle, String conentStr, Function()? action) {
return GestureDetector(
onTap: action,
child: Container(
// height: 70.h,
- padding: EdgeInsets.only(left: 20.w, right: 10.w, top: 15.h, bottom: 15.h),
+ padding:
+ EdgeInsets.only(left: 20.w, right: 10.w, top: 15.h, bottom: 15.h),
decoration: BoxDecoration(
color: Colors.white,
border: Border(
@@ -228,15 +232,17 @@ class _FaceDetailPageState extends State with RouteAware {
color: AppColors.greyLineColor, // 设置边框颜色
width: 2.0.h, // 设置边框宽度
),
- )
- ),
+ )),
child: Row(
children: [
Text(leftTitle, style: TextStyle(fontSize: 22.sp)),
SizedBox(width: 10.w),
Expanded(
- child: Text(conentStr, textAlign:TextAlign.end, style: TextStyle(fontSize: 22.sp, ))
- ),
+ child: Text(conentStr,
+ textAlign: TextAlign.end,
+ style: TextStyle(
+ fontSize: 22.sp,
+ ))),
SizedBox(width: 10.w),
Image.asset(
'images/icon_right_grey.png',
diff --git a/lib/tools/showDeleteAdministratorIsHaveAllDataWidget.dart b/lib/tools/showDeleteAdministratorIsHaveAllDataWidget.dart
index b5cda199..cdf0dec0 100755
--- a/lib/tools/showDeleteAdministratorIsHaveAllDataWidget.dart
+++ b/lib/tools/showDeleteAdministratorIsHaveAllDataWidget.dart
@@ -1,4 +1,3 @@
-
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@@ -8,34 +7,47 @@ class ShowDeleteAdministratorIsHaveAllDataWidget extends StatefulWidget {
BlockIsHaveAllDataCallback? blockIsHaveAllDataCallback;
String? contentStr;
- ShowDeleteAdministratorIsHaveAllDataWidget({Key? key, this.contentStr, this.blockIsHaveAllDataCallback}) : super(key: key);
+ ShowDeleteAdministratorIsHaveAllDataWidget(
+ {Key? key, this.contentStr, this.blockIsHaveAllDataCallback})
+ : super(key: key);
@override
- State createState() => _ShowDeleteAdministratorIsHaveAllDataWidgetState();
+ State createState() =>
+ _ShowDeleteAdministratorIsHaveAllDataWidgetState();
}
-class _ShowDeleteAdministratorIsHaveAllDataWidgetState extends State {
+class _ShowDeleteAdministratorIsHaveAllDataWidgetState
+ extends State {
bool selet = false;
@override
Widget build(BuildContext context) {
- return Row(
- children: [
- GestureDetector(
- onTap: () {
- setState(() {
- selet = !selet;
- widget.blockIsHaveAllDataCallback!(selet);
- });
- },
- child: Image.asset(
- selet ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png',
- width: 30.w,
- height: 30.w,
- )),
- SizedBox(width: 15.w,),
- Expanded(child: Text(widget.contentStr!, maxLines: 2, textAlign: TextAlign.start, style: TextStyle(fontSize: 24.sp))),
- ],
+ return GestureDetector(
+ onTap: () {
+ setState(() {
+ selet = !selet;
+ widget.blockIsHaveAllDataCallback!(selet);
+ });
+ },
+ child: Row(
+ children: [
+ Image.asset(
+ selet
+ ? 'images/icon_round_select.png'
+ : 'images/icon_round_unSelect.png',
+ width: 30.w,
+ height: 30.w,
+ ),
+ SizedBox(
+ width: 15.w,
+ ),
+ Expanded(
+ child: Text(widget.contentStr!,
+ maxLines: 2,
+ textAlign: TextAlign.start,
+ style: TextStyle(fontSize: 24.sp))),
+ ],
+ ),
);
}
}
From 90e7742c2e2d4f4dc7ac0da59c4688f1029413e9 Mon Sep 17 00:00:00 2001
From: anfe <448468458@qq.com>
Date: Mon, 24 Jun 2024 18:31:37 +0800
Subject: [PATCH 9/9] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E7=BC=96?=
=?UTF-8?q?=E8=AF=91=E6=A3=80=E6=B5=8B=E8=84=9A=E6=9C=AC=EF=BC=8C=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E7=89=88=E6=9C=AC=E5=8F=B7=E6=8E=A7=E5=88=B6=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lib/network/api.dart | 2 +-
pre_build.sh | 14 ++++++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/lib/network/api.dart b/lib/network/api.dart
index da15ded9..0d7f2d05 100755
--- a/lib/network/api.dart
+++ b/lib/network/api.dart
@@ -75,7 +75,7 @@ abstract class Api {
final String openCheckingInURL =
'/attendanceCompany/isExistenceCompany'; // 开启考勤获取是否有公司
final String setCheckInCreateCompanyURL =
- '/attendanceCompany/add'; // 设置考勤时创建公司
+ '/v2/attendanceCompany/add'; // 设置考勤时创建公司
final String deleteCompanyURL = '/attendanceCompany/delete'; // 删除公司
final String getAttendanceRecordListByDateURL =
diff --git a/pre_build.sh b/pre_build.sh
index dd78490c..5f7ccc57 100644
--- a/pre_build.sh
+++ b/pre_build.sh
@@ -10,7 +10,7 @@
# 设置
environment="xhj"
main_file="lib/main_xhj_full.dart"
-version_string="1.0.52"
+version_string="1.0.66"
file_path="lib/network/api.dart"
###############################################################
@@ -38,7 +38,17 @@ esac
echo "API 前缀为: $api_prefix"
-urls=$(curl -s -X POST -d "version=$version_string" "$environment/api/app/getDeprecatedApiList" | jq -r '.data[].url')
+response=$(curl -s -X POST -d "version=$version_string" "$api_prefix/api/app/checkAppBuildVersion")
+error_code=$(echo $response | jq '.errorCode')
+
+# 判断是否成功
+if [ "$error_code" != "0" ]; then
+ error_msg=$(echo $response | jq -r '.errorMsg')
+ echo "失败:$error_msg"
+ exit 1
+fi
+
+urls=$(curl -s -X POST -d "version=$version_string" "$api_prefix/api/app/getDeprecatedApiList" | jq -r '.data[].url')
echo "* 成功获取废弃 api 数据"
# 解析 api 文件数据