From 5313c6ecea56c6c2734eca00e463b580e13598af Mon Sep 17 00:00:00 2001 From: Liuyf Date: Wed, 23 Apr 2025 14:04:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E6=9C=89=E9=94=81=E7=9A=84=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E9=80=80=E5=87=BA=EF=BC=8C=E5=86=8D=E7=94=A8=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E7=99=BB=E5=BD=95=E4=BC=9A=E9=97=AA=E8=BF=87=E4=B9=8B?= =?UTF-8?q?=E5=89=8D=E8=B4=A6=E5=8F=B7=E7=9A=84=E9=94=81=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/src/xhj_pre/google-services.json | 4 +- lib/main/lockMian/lockList/lockList_page.dart | 65 +++++++++++-------- lib/main/lockMian/lockMain/lockMain_page.dart | 1 + lib/tools/storage.dart | 1 + 4 files changed, 41 insertions(+), 30 deletions(-) diff --git a/android/app/src/xhj_pre/google-services.json b/android/app/src/xhj_pre/google-services.json index 791f2d92..b46d867f 100644 --- a/android/app/src/xhj_pre/google-services.json +++ b/android/app/src/xhj_pre/google-services.json @@ -9,7 +9,7 @@ "client_info": { "mobilesdk_app_id": "1:281500445726:android:ddf52ac7b7f83cf5c4todo", "android_client_info": { - "package_name": "com.xhjcn.lock" + "package_name": "com.xhjcn.lock.pre" } }, "oauth_client": [], @@ -28,7 +28,7 @@ "client_info": { "mobilesdk_app_id": "1:281500445726:android:468195b9cc68dd6cc4todo", "android_client_info": { - "package_name": "com.xhjcn.lock.local" + "package_name": "com.xhjcn.lock.pre" } }, "oauth_client": [], diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart index 793790d8..1e53cdb9 100755 --- a/lib/main/lockMian/lockList/lockList_page.dart +++ b/lib/main/lockMian/lockList/lockList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_slidable/flutter_slidable.dart'; @@ -31,7 +30,9 @@ class _LockListPageState extends State with RouteAware { void initState() { super.initState(); logic = Get.put(LockListLogic(widget.lockListInfoGroupEntity)); - state = Get.find().state; + state = Get + .find() + .state; } @override @@ -57,15 +58,14 @@ class _LockListPageState extends State with RouteAware { } //设备多层级列表 - Widget _buildLockExpandedList( - BuildContext context, int index, GroupList itemData) { + Widget _buildLockExpandedList(BuildContext context, int index, + GroupList itemData) { final List lockItemList = itemData.lockList ?? []; return LockListGroupView( onTap: () { //是否选中组 - if (itemData.isChecked) { - } else {} + if (itemData.isChecked) {} else {} setState(() {}); }, typeImgList: const [], @@ -104,21 +104,21 @@ class _LockListPageState extends State with RouteAware { ), child: lockInfoListItem(keyInfo, isLast, () { if ((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && (keyInfo.keyStatus == XSConstantMacro.keyStatusWaitIneffective)) { logic.showToast('您的钥匙未生效'.tr); return; } if ((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLong || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + keyInfo.keyType == XSConstantMacro.keyTypeLong || + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && (keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) { logic.showToast('您的钥匙已冻结'.tr); return; } if ((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && (keyInfo.keyStatus == XSConstantMacro.keyStatusExpired)) { logic.showToast('您的钥匙已过期'.tr); return; @@ -135,8 +135,8 @@ class _LockListPageState extends State with RouteAware { ); } - Widget lockInfoListItem( - LockListInfoItemEntity keyInfo, bool isLast, Function() action) { + Widget lockInfoListItem(LockListInfoItemEntity keyInfo, bool isLast, + Function() action) { return GestureDetector( onTap: action, child: Container( @@ -146,15 +146,15 @@ class _LockListPageState extends State with RouteAware { : EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), decoration: BoxDecoration( color: (((keyInfo.keyType == XSConstantMacro.keyTypeTime || - keyInfo.keyType == XSConstantMacro.keyTypeLoop) && - (keyInfo.keyStatus == - XSConstantMacro.keyStatusWaitIneffective || - keyInfo.keyStatus == - XSConstantMacro.keyStatusFrozen || - keyInfo.keyStatus == - XSConstantMacro.keyStatusExpired)) || - (keyInfo.keyType == XSConstantMacro.keyTypeLong && - keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) + keyInfo.keyType == XSConstantMacro.keyTypeLoop) && + (keyInfo.keyStatus == + XSConstantMacro.keyStatusWaitIneffective || + keyInfo.keyStatus == + XSConstantMacro.keyStatusFrozen || + keyInfo.keyStatus == + XSConstantMacro.keyStatusExpired)) || + (keyInfo.keyType == XSConstantMacro.keyTypeLong && + keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen)) ? AppColors.greyBackgroundColor : Colors.white, borderRadius: BorderRadius.circular(20.w), @@ -243,14 +243,14 @@ class _LockListPageState extends State with RouteAware { decoration: BoxDecoration( borderRadius: BorderRadius.circular(5.w), color: - DateTool().compareTimeIsOvertime(keyInfo.endDate!) - ? AppColors.listTimeYellowColor - : AppColors.mainColor, + DateTool().compareTimeIsOvertime(keyInfo.endDate!) + ? AppColors.listTimeYellowColor + : AppColors.mainColor, ), child: Text(logic.getKeyEffective(keyInfo), style: TextStyle(fontSize: 18.sp, color: Colors.white) - // child: Text(logic.compareTimeIsOvertime(keyInfo.endDate!) ? "已过期" : "余${logic.compareTimeGetDaysFromNow(keyInfo.endDate!)}天", style: TextStyle(fontSize: 18.sp, color: Colors.white) - ), + // child: Text(logic.compareTimeIsOvertime(keyInfo.endDate!) ? "已过期" : "余${logic.compareTimeGetDaysFromNow(keyInfo.endDate!)}天", style: TextStyle(fontSize: 18.sp, color: Colors.white) + ), ), ], )), @@ -259,7 +259,11 @@ class _LockListPageState extends State with RouteAware { children: [ SizedBox(width: 30.w), Text( - "${logic.getUseKeyTypeStr(keyInfo.startDate, keyInfo.endDate, keyInfo.keyType)}/${keyInfo.isLockOwner == 1 ? '超级管理员'.tr : (keyInfo.keyRight == 1 ? "授权管理员".tr : "普通用户".tr)}", + "${logic.getUseKeyTypeStr(keyInfo.startDate, keyInfo.endDate, + keyInfo.keyType)}/${keyInfo.isLockOwner == 1 + ? '超级管理员'.tr + : (keyInfo.keyRight == 1 ? "授权管理员".tr : "普通用户" + .tr)}", style: TextStyle( fontSize: 18.sp, color: AppColors.darkGrayTextColor), ), @@ -282,9 +286,14 @@ class _LockListPageState extends State with RouteAware { @override void dispose() { + Get.delete(); /// 取消路由订阅 AppRouteObserver().routeObserver.unsubscribe(this); - super.dispose(); + super + . + dispose + ( + ); } /// 从上级界面进入 当前界面即将出现 diff --git a/lib/main/lockMian/lockMain/lockMain_page.dart b/lib/main/lockMian/lockMain/lockMain_page.dart index 8d0e50d3..8d5e8e68 100755 --- a/lib/main/lockMian/lockMain/lockMain_page.dart +++ b/lib/main/lockMian/lockMain/lockMain_page.dart @@ -344,6 +344,7 @@ class _StarLockMainPageState extends State @override void dispose() { super.dispose(); + Get.delete(); _teamEvent.cancel(); } diff --git a/lib/tools/storage.dart b/lib/tools/storage.dart index 12bd5a0b..85477417 100755 --- a/lib/tools/storage.dart +++ b/lib/tools/storage.dart @@ -154,6 +154,7 @@ class Storage { static Future clearAll() async { final SharedPreferences sp = await SharedPreferences.getInstance(); // sp.clear(); + sp.remove(saveLockMainListData); sp.remove(saveUserLoginData); // 重新设置需要保留的数据 //退出登录不清除隐私协议同意状态 From 29667873a7f102352faebe42bd22b289ad9c6207 Mon Sep 17 00:00:00 2001 From: Liuyf Date: Wed, 23 Apr 2025 18:03:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=98=9F=E9=94=81?= =?UTF-8?q?android=E6=89=8B=E6=9C=BA=E5=B9=B3=E5=8F=B0=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=A4=B1=E8=B4=A5=E7=8E=87=E6=AF=94=E8=BE=83?= =?UTF-8?q?=E9=AB=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/build.gradle | 10 +++++----- .../res/drawable/sky_login_btn_normal.png | Bin 0 -> 2336 bytes android/app/src/main/res/drawable/uncheck.png | Bin 4839 -> 4551 bytes .../res/drawable/xhj_login_btn_normal.png | Bin 0 -> 1963 bytes android/app/src/main/res/raw/shrink_keep.xml | 3 +++ images/sky_login_btn_normal.png | Bin 0 -> 2336 bytes images/xhj_login_btn_normal.png | Bin 0 -> 1963 bytes lib/tools/jverify_one_click_login.dart | 16 +++++++--------- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 10 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 android/app/src/main/res/drawable/sky_login_btn_normal.png create mode 100644 android/app/src/main/res/drawable/xhj_login_btn_normal.png create mode 100644 android/app/src/main/res/raw/shrink_keep.xml create mode 100644 images/sky_login_btn_normal.png create mode 100644 images/xhj_login_btn_normal.png diff --git a/android/app/build.gradle b/android/app/build.gradle index 0386ff73..a9e6c2c2 100755 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -119,9 +119,9 @@ android { resValue "string", "app_name", "TTLock Pro" manifestPlaceholders = [ JPUSH_PKGNAME : "com.skychip.lock", - JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey + JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey JPUSH_CHANNEL : "flutter_channel", - XIAOMI_APPID : "MI-2882303761520287291", + XIAOMI_APPID : "MI-2882303761520287291", XIAOMI_APPKEY : "MI-5352028744291", OPPO_APPKEY : "OP-ccae67a4a8c1470a8350b0d6a89f8105", OPPO_APPID : "OP-31586713", @@ -174,9 +174,9 @@ android { signingConfig signingConfigs.xhj_bundle resValue "string", "app_name", "Star Lock" manifestPlaceholders = [ - JPUSH_PKGNAME : "ltd.xhjcn.lock", - JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e", - JPUSH_CHANNEL : "flutter_channel", + JPUSH_PKGNAME: "ltd.xhjcn.lock", + JPUSH_APPKEY : "5ccdb9b8d3faaae66ba5d02e", + JPUSH_CHANNEL: "flutter_channel", ] proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules-xhj.pro' } diff --git a/android/app/src/main/res/drawable/sky_login_btn_normal.png b/android/app/src/main/res/drawable/sky_login_btn_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..4467ae9af1d5de16418d80e6bbf7804eaea51948 GIT binary patch literal 2336 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 MTW6axD_Z>j0EElpYXATM literal 4839 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 Ib_`4U9~e14)Bpeg diff --git a/android/app/src/main/res/drawable/xhj_login_btn_normal.png b/android/app/src/main/res/drawable/xhj_login_btn_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..3678adac6ffe8e8da8e22d881e21fb38b2d6b679 GIT binary patch literal 1963 zcmds&jW^SK9LIm7OfD)<^AMTBZspo$8&+bPi)zx$(n*VKimYKXX1U3gQn7ic(C`Dl|BmIK?1jHa?SIrk6 ztI|dCWQbmY(S7rtm7S78%PDJ7RmZm4_Uo!oHv*5cEW~YPwqa z!i)z1kDT+N`|?%xhF@NNuh9?N<&kT8x#iZSKF`HpB0h1&*pjYCzBl%{5JnfKVA{?D z6i3e;0&6J@=G|~IF@gJe`a@G(58wMr&=o7qhf5aUp$0{x7Jkc{U)sdvVDCIzPaP!L zvX+^(Iz^9(*?DZr-cmen{z61^d?(9$!7l$up?*Z^P{FAx_S=tJFAlUl;C9)j4z@~f z9;Kcx2p2?}sP-4RPwyp)+Dx8D?0YB*G`ARbtJ<_2H}l$Ah|rDV*=l-Fh~ zH-%H9LTAfgTzqu!`krm5GgSfQ9e@00H~lURnR{X&(a`Cfv#NmvAPrW$a5m3AQ=2Xv z7i{u@l=;G6zX`rcfTx7Z)8P7Y-8QGn@6~B8WaXY_-ME(X`fT`4cM-X@d_6B<-w$=E z#uYY=Bc!m@bNn?HkoupMCb5dfZBg^yV=AR$03uP!+}4~l%(1kId$g;>?DZ;Q z4fg^t*yl>x`#|4#Y<(0}ObD$e!A47CRRhDgnaubmh|x=`bOYmhfMW=fiNEQ7MM$;j z;PmPd1&3NLi!oU9g#FW!8zrhr<EPL;@wHf8xzJ zHDr%j)>}pf83HF{X0{ujNhvOYmO-oPG>fd8_U5Y#R4A^$1mUTu+=b#v2j*?Ir^4fG_YP-32MD5tVE(eD*XOvo-q z?Y{E0EV^qZ-A3?g#Q785jc;dmrvY0oeCENoHbdF$0brh_$FVu`dDB+ItXYuOGH3WCN0F{+$nteX(1QNd5CP48kf)`&yL zuz9%tz9C(yTF@LTN;)3xnn4a~;`UC`G)@RQt3E9XECX|}3oJg=?|1$|1kHq28p5K_ht=HFsjMY~rgcZ$6j!a|#1Ul;=!# + \ No newline at end of file diff --git a/images/sky_login_btn_normal.png b/images/sky_login_btn_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..4467ae9af1d5de16418d80e6bbf7804eaea51948 GIT binary patch literal 2336 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 umeng_common_sdk: 1.2.8 #