Merge branch 'release' of gitee.com:starlock-cn/app-starlock into release

# Conflicts:
#	ios/Podfile.lock
This commit is contained in:
“DaisyWu” 2024-07-02 10:57:09 +08:00
commit 3bd2a5e56a
7 changed files with 67 additions and 21 deletions

View File

@ -205,7 +205,7 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
action: () async {
final result = await Get.toNamed(Routers.massSendLockGroupListPage,
arguments: <String, Object>{
'keyLimits': '1',
'keyLimits': '2',
'lockIdList': state.lockIdList
});
if (result != null && result.isNotEmpty) {

View File

@ -10,6 +10,7 @@ import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_list_page.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_state.dart';
import 'package:star_lock/main/lockMian/lockMain/lockMain_logic.dart';
import 'package:star_lock/tools/aliyunRealNameAuth/aliyunRealNameAuthHandle.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart';
import 'package:star_lock/tools/showTipView.dart';
@ -93,6 +94,18 @@ class _LockDetailPageState extends State<LockDetailPage>
//
Widget xhjWidget() {
final bool isShowTip = (state.keyInfos.value.keyType ==
XSConstantMacro.keyTypeTime ||
state.keyInfos.value.keyType ==
XSConstantMacro.keyTypeLoop) && //
(DateTool().compareTimeGetDaysFromNow(state.keyInfos.value.endDate!) <=
15 &&
DateTool()
.compareTimeGetDaysFromNow(state.keyInfos.value.endDate!) >=
0) && // 030
(state.keyInfos.value.keyStatus == XSConstantMacro.keyStatusNormalUse ||
state.keyInfos.value.keyStatus ==
XSConstantMacro.keyStatusWaitReceive);
return Scaffold(
backgroundColor: Colors.white,
body: Obx(() {
@ -103,7 +116,7 @@ class _LockDetailPageState extends State<LockDetailPage>
child: Column(
children: <Widget>[
SizedBox(
height: 10.h,
height: isShowTip ? 70.h : 10.h,
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 24.w),
@ -144,6 +157,23 @@ class _LockDetailPageState extends State<LockDetailPage>
],
),
),
Visibility(
visible: isShowTip,
child: Container(
// height: 30.h,
color: const Color(0xFFFBEFD4),
padding: EdgeInsets.only(top: 8.h, bottom: 8.h),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
"${"钥匙将在".tr}${DateTool().compareTimeGetDaysFromNow(state.keyInfos.value.endDate!)}${"天后失效".tr}",
style: TextStyle(
color: const Color(0xffCBA74B), fontSize: 24.sp))
],
),
),
),
Visibility(
visible: state.iSClosedUnlockSuccessfulPopup.value,
child: Container(
@ -1404,11 +1434,16 @@ class _LockDetailPageState extends State<LockDetailPage>
if (state.openLockBtnState.value == 1) {
return;
}
final bool isNetWork = LockMainLogic.to()?.judgeTheNetwork() ?? false;
final bool isOpenLockNeedOnline = state.isOpenLockNeedOnline.value == 0;
if (!isOpenLockNeedOnline && !isNetWork) {
return;
}
state.iSOpenLock.value = true;
state.openLockBtnState.value = 1;
state.animationController!.forward();
AppLog.log('点击开锁');
if (state.isOpenLockNeedOnline.value == 0) {
if (isOpenLockNeedOnline) {
//
state.openDoorModel = 0;
AppLog.log('点击开锁 state.openDoorModel = 0 不需要联网');

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:common_utils/common_utils.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
@ -30,7 +31,8 @@ class LockListLogic extends BaseGetXController {
LockListInfoGroupEntity? entity;
List<GroupList> get groupDataList {
final List<GroupList> list = _groupDataList.map((e)=>e.copy()).toList();
final List<GroupList> list =
_groupDataList.map((GroupList e) => e.copy()).toList();
if (state.searchStr.value != '' && state.showSearch.value) {
list.forEach((GroupList element) {
element.lockList?.removeWhere((LockListInfoItemEntity element) =>
@ -141,6 +143,28 @@ class LockListLogic extends BaseGetXController {
return '';
}
//
bool getShowType(LockListInfoItemEntity keyInfo) {
final List<int> keyTypes = <int>[
XSConstantMacro.keyTypeTime,
XSConstantMacro.keyTypeLoop
];
final List<int> keyStatus = <int>[
XSConstantMacro.keyStatusWaitIneffective,
XSConstantMacro.keyStatusFrozen,
XSConstantMacro.keyStatusExpired,
];
final DateTime endDate =
DateTime.fromMillisecondsSinceEpoch(keyInfo.endDate ?? 0);
final DateTime now = DateTime.now();
final bool isKeyType = keyTypes.contains(keyInfo.keyType);
final bool isKeyStatus = keyStatus.contains(keyInfo.keyStatus);
final Duration difference = endDate.difference(now);
final bool isExpirationSoon = isKeyType && difference.inDays <= 15;
final bool isShow = isKeyType && isKeyStatus || isExpirationSoon;
return isShow;
}
///
void deleyLockLogicOfRoles() {
if (state.lockListInfoItemEntity.isLockOwner == 1) {

View File

@ -14,7 +14,6 @@ import 'lockListGroup_view.dart';
import 'lockList_logic.dart';
class LockListPage extends StatefulWidget {
const LockListPage({required this.lockListInfoGroupEntity, Key? key})
: super(key: key);
final LockListInfoGroupEntity lockListInfoGroupEntity;
@ -229,13 +228,7 @@ class _LockListPageState extends State<LockListPage> with RouteAware {
)),
SizedBox(height: 20.h),
Visibility(
visible: (keyInfo.keyType == XSConstantMacro.keyTypeTime ||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
(keyInfo.keyStatus ==
XSConstantMacro.keyStatusWaitIneffective ||
keyInfo.keyStatus == XSConstantMacro.keyStatusFrozen ||
keyInfo.keyStatus == XSConstantMacro.keyStatusExpired),
// visible: true,
visible: logic.getShowType(keyInfo),
child: Row(
children: <Widget>[
SizedBox(width: 30.w),

View File

@ -360,14 +360,7 @@ class _LockListXHJPageState extends State<LockListXHJPage> with RouteAware {
],
),
Visibility(
visible: (keyInfo.keyType == XSConstantMacro.keyTypeTime ||
keyInfo.keyType == XSConstantMacro.keyTypeLoop) &&
(keyInfo.keyStatus ==
XSConstantMacro.keyStatusWaitIneffective ||
keyInfo.keyStatus ==
XSConstantMacro.keyStatusFrozen ||
keyInfo.keyStatus ==
XSConstantMacro.keyStatusExpired),
visible: logic.getShowType(keyInfo),
child: Padding(
padding: EdgeInsets.only(top: 5.h),
child: Row(

View File

@ -179,7 +179,7 @@ class LockMainLogic extends BaseGetXController {
list.lockList ??= <LockListInfoItemEntity>[];
final int keyIndex = lockList.indexWhere(
(LockListInfoItemEntity lock) => lock.keyId == keyId) ??
(LockListInfoItemEntity lock) => lock.lockId == lockId) ??
-1;
if (keyIndex != -1) {
//

View File

@ -24,6 +24,7 @@ class MessageManagement {
if (extra.isEmpty) {
return;
}
AppLog.log(message.toString());
_shuntingBus(extra);
}