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

# Conflicts:
#	images/lan/lan_en.json
#	images/lan/lan_keys.json
#	images/lan/lan_zh.json
解决冲突
This commit is contained in:
Daisy 2024-06-19 11:04:52 +08:00
commit 4cf9c99e5d
10 changed files with 69 additions and 49 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -2,14 +2,14 @@
"starLock": "Star Lock", "starLock": "Star Lock",
"lockThrough": "Lock Through", "lockThrough": "Lock Through",
"clickUnlockAndHoldDownClose": "Click To Unlock And Hold Down to Close", "clickUnlockAndHoldDownClose": "Click To Unlock And Hold Down to Close",
"checkingIn": "Checking In", "checkingIn": "CheckIn",
"electronicKey": "Electronic Key", "electronicKey": "KeyCard",
"password": "Password", "password": "Password",
"card": "Card", "card": "Card",
"fingerprint": "Fingerprint", "fingerprint": "Finger",
"remoteControl": "RemoteControl", "remoteControl": "RemCtrl",
"face": "face", "face": "face",
"operatingRecord": "Operating Record", "operatingRecord": "OpLog",
"doorLockLog": "Door lock log", "doorLockLog": "Door lock log",
"number": "Number", "number": "Number",
"additive": "Additive", "additive": "Additive",
@ -217,7 +217,7 @@
"aboutToExpire": "About to expire", "aboutToExpire": "About to expire",
"deAuthorize": "de-authorize", "deAuthorize": "de-authorize",
"changeName": "Change name", "changeName": "Change name",
"authorizedAdmin": "Authorized Admin", "authorizedAdmin": "Admin",
"addAuthorizedAdmin": "Adding an Authorized Administrator", "addAuthorizedAdmin": "Adding an Authorized Administrator",
"lockGroup": "Lock Group", "lockGroup": "Lock Group",
"transferSmartLock": "Transfer Smart Lock", "transferSmartLock": "Transfer Smart Lock",
@ -407,10 +407,10 @@
"getFingerprint": "Get Fingerprint", "getFingerprint": "Get Fingerprint",
"safeVerify": "Security verification", "safeVerify": "Security verification",
"deleteAccountTips": "After deleting the account, all your information and related records will be completely deleted from the platform, and can not be recovered, delete or not", "deleteAccountTips": "After deleting the account, all your information and related records will be completely deleted from the platform, and can not be recovered, delete or not",
"humanFace": "Human Face", "humanFace": "HmFace",
"monitoring": "Monitoring", "monitoring": "Monitoring",
"videoLog": "Video Log", "videoLog": "Video Log",
"messageReminding": "Message Reminding", "messageReminding": "Notice",
"superAdmin": "Super Admin", "superAdmin": "Super Admin",
"normalUser": "Normal User", "normalUser": "Normal User",
"gatewayDevice": "Gateway Device", "gatewayDevice": "Gateway Device",
@ -454,7 +454,7 @@
"videoSlot": "Video slot", "videoSlot": "Video slot",
"密码": "Password", "密码": "Password",
"卡": "Card", "卡": "Card",
"指纹": "Fingerprint", "指纹": "Finger",
"人脸": "Face", "人脸": "Face",
"配件商城": "Lock Mall", "配件商城": "Lock Mall",
"公司名称": "Company Name", "公司名称": "Company Name",
@ -487,7 +487,7 @@
"钥匙将在": "The key will be in", "钥匙将在": "The key will be in",
"天后失效": "Days later invalid", "天后失效": "Days later invalid",
"电量更新时间:": "Power update time:", "电量更新时间:": "Power update time:",
"新增配件": "Add accessories", "新增配件": "Add",
"请在锁旁边完成第一次开锁": "Please complete the first unlock next to the lock", "请在锁旁边完成第一次开锁": "Please complete the first unlock next to the lock",
"正在开锁中...": "Unlocking...", "正在开锁中...": "Unlocking...",
"你的钥匙": "Your key", "你的钥匙": "Your key",
@ -911,5 +911,12 @@
"选择时间段":"Select time period", "选择时间段":"Select time period",
"导出":"Export", "导出":"Export",
"批量导出":"Batch export", "批量导出":"Batch export",
"读取记录":"Read record" "读取记录":"Read record",
"手机需联网":"NeedNet",
"设备":"Device",
"消息":"Message",
"智能分析":"Intelligent analytics",
"精准识别设备事件,过滤无效信息":"Accurately identify device events and filter out invalid information",
"系统设置":"System settings",
"系统的全局配置在此项内进行设置":"The global configuration of the system is set in this item"
} }

View File

@ -943,5 +943,12 @@
"选择时间段":"选择时间段", "选择时间段":"选择时间段",
"导出":"导出", "导出":"导出",
"批量导出":"批量导出", "批量导出":"批量导出",
"读取记录":"读取记录" "读取记录":"读取记录",
"手机需联网":"手机需联网",
"设备":"设备",
"消息":"消息",
"智能分析":"智能分析",
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
"系统设置":"系统设置",
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
} }

View File

@ -908,5 +908,12 @@
"选择时间段":"选择时间段", "选择时间段":"选择时间段",
"导出":"导出", "导出":"导出",
"批量导出":"批量导出", "批量导出":"批量导出",
"读取记录":"读取记录" "读取记录":"读取记录",
"手机需联网":"手机需联网",
"设备":"设备",
"消息":"消息",
"智能分析":"智能分析",
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
"系统设置":"系统设置",
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
} }

BIN
ios/.DS_Store vendored

Binary file not shown.

View File

@ -103,7 +103,7 @@ class _LockDetailPageState extends State<LockDetailPage>
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox( SizedBox(
height: 15.h, height: 10.h,
), ),
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 24.w), padding: EdgeInsets.symmetric(horizontal: 24.w),
@ -114,20 +114,16 @@ class _LockDetailPageState extends State<LockDetailPage>
), ),
), ),
SizedBox( SizedBox(
height: 35.h, height: 20.h,
), ),
xhjInfoView(), xhjInfoView(),
SizedBox( SizedBox(
height: 35.h, height: 20.h,
), ),
labelText( labelText(
img: 'images/icon_slider_horizontal.png', img: 'images/icon_slider_horizontal.png',
text: '功能'.tr, text: '功能'.tr,
child: bottomWidget()), child: bottomWidget()),
labelText(
img: 'images/icon_puzzlepiece_extension.png',
text: '配件'.tr,
child: attachmentWidget()),
btnText( btnText(
img: 'images/main/icon_main_set.png', img: 'images/main/icon_main_set.png',
text: TranslationLoader.lanKeys!.set!.tr, text: TranslationLoader.lanKeys!.set!.tr,
@ -141,6 +137,10 @@ class _LockDetailPageState extends State<LockDetailPage>
'isOnlyOneData': state.isOnlyOneData 'isOnlyOneData': state.isOnlyOneData
}); });
}), }),
labelText(
img: 'images/icon_puzzlepiece_extension.png',
text: '配件'.tr,
child: attachmentWidget()),
], ],
), ),
), ),
@ -208,7 +208,7 @@ class _LockDetailPageState extends State<LockDetailPage>
{required String img, required String text, required Widget child}) { {required String img, required String text, required Widget child}) {
return Container( return Container(
margin: EdgeInsets.symmetric(horizontal: 0.05.sw, vertical: 15.h), margin: EdgeInsets.symmetric(horizontal: 0.05.sw, vertical: 15.h),
padding: EdgeInsets.symmetric(horizontal: 0.05.sw, vertical: 20.h), padding: EdgeInsets.symmetric(horizontal: 0.05.sw, vertical: 15.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(16.r), borderRadius: BorderRadius.circular(16.r),
@ -778,7 +778,7 @@ class _LockDetailPageState extends State<LockDetailPage>
? AppColors.mainColor ? AppColors.mainColor
: AppColors.btnDisableColor), : AppColors.btnDisableColor),
), ),
if (add) SizedBox(width: 20.w) else SizedBox(width: 40.w), if (add) SizedBox(width: 20.w) else SizedBox(width: 20.w),
FlavorsImg( FlavorsImg(
child: Image.asset('images/main/icon_lockDetail_needNetwork.png', child: Image.asset('images/main/icon_lockDetail_needNetwork.png',
width: 24.w, width: 24.w,
@ -789,7 +789,7 @@ class _LockDetailPageState extends State<LockDetailPage>
), ),
SizedBox(width: 6.w), SizedBox(width: 6.w),
Text( Text(
'手机需联网', '手机需联网'.tr,
style: TextStyle( style: TextStyle(
fontSize: 20.sp, fontSize: 20.sp,
color: state.isOpenLockNeedOnline.value == 1 color: state.isOpenLockNeedOnline.value == 1
@ -900,7 +900,7 @@ class _LockDetailPageState extends State<LockDetailPage>
child: GridView.count( child: GridView.count(
crossAxisCount: 4, crossAxisCount: 4,
// childAspectRatio: 3, // childAspectRatio: 3,
crossAxisSpacing: 20.w, crossAxisSpacing: 0.w,
mainAxisSpacing: 0.h, mainAxisSpacing: 0.h,
shrinkWrap: true, shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
@ -946,8 +946,8 @@ class _LockDetailPageState extends State<LockDetailPage>
child: GridView.count( child: GridView.count(
crossAxisCount: 4, crossAxisCount: 4,
// childAspectRatio: 3, // childAspectRatio: 3,
crossAxisSpacing: 25.h, crossAxisSpacing: 0.h,
mainAxisSpacing: 5.h, mainAxisSpacing: 0.h,
shrinkWrap: true, shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
children: getBottomWidget()), children: getBottomWidget()),

View File

@ -36,15 +36,16 @@ class LockMainLogic extends BaseGetXController {
isUnShowLoading: isUnShowLoading, isUnShowLoading: isUnShowLoading,
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
loadMainDataLogic(entity.data!); await loadMainDataLogic(entity.data!);
} }
return entity; return entity;
} }
void loadMainDataLogic(LockListInfoGroupEntity entity) { Future<void> loadMainDataLogic(LockListInfoGroupEntity entity) async {
final bool every = entity.groupList!.every((GroupList list) => final bool every = entity.groupList?.every((GroupList list) =>
(list.lockList ?? <LockListInfoItemEntity>[]).isEmpty); (list.lockList ?? <LockListInfoItemEntity>[]).isEmpty) ??
if (entity.groupList!.isEmpty || every) { true;
if ((entity.groupList ?? <GroupList>[]).isEmpty || every) {
state.dataLength.value = 0; state.dataLength.value = 0;
} else if (entity.groupList!.length == 1) { } else if (entity.groupList!.length == 1) {
final GroupList groupList = entity.groupList![0]; final GroupList groupList = entity.groupList![0];
@ -70,7 +71,7 @@ class LockMainLogic extends BaseGetXController {
} }
}); });
} }
Storage.saveMainListData(entity); await Storage.saveMainListData(entity);
} }
/// ///
@ -148,7 +149,8 @@ class LockMainLogic extends BaseGetXController {
final LockListInfoEntity entity = await ApiRepository.to.getStarLockInfo( final LockListInfoEntity entity = await ApiRepository.to.getStarLockInfo(
keyId: keyId, keyId: keyId,
); );
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful &&
(entity.data?.groupList ?? <GroupList>[]).isNotEmpty) {
state.lockListInfoGroupEntity.value.groupList ??= <GroupList>[]; state.lockListInfoGroupEntity.value.groupList ??= <GroupList>[];
final GroupList list = entity.data!.groupList!.first; final GroupList list = entity.data!.groupList!.first;
final LockListInfoItemEntity listItem = final LockListInfoItemEntity listItem =

View File

@ -45,27 +45,25 @@ class _StarLockMainPageState extends State<StarLockMainPage>
await Storage.getLockMainListData(); await Storage.getLockMainListData();
if (lockListInfoGroupEntity != null) { if (lockListInfoGroupEntity != null) {
logic.loadMainDataLogic(lockListInfoGroupEntity); logic.loadMainDataLogic(lockListInfoGroupEntity);
setState(() {});
} }
lockListInfoGroupEntity = lockListInfoGroupEntity =
(await logic.getStarLockInfo(isUnShowLoading: isUnShowLoading)).data; (await logic.getStarLockInfo(isUnShowLoading: isUnShowLoading)).data;
if (lockListInfoGroupEntity != null) { if (lockListInfoGroupEntity != null) {
logic.loadMainDataLogic(lockListInfoGroupEntity); logic.loadMainDataLogic(lockListInfoGroupEntity);
setState(() {});
} }
if (clearScanDevices) { if (clearScanDevices) {
BlueManage().scanDevices.clear(); BlueManage().scanDevices.clear();
} }
setState(() {});
} }
@override @override
void initState() { void initState() {
super.initState(); super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async { logic.pageNo = 1;
logic.pageNo = 1; getHttpData();
getHttpData(); _initLoadDataAction();
_initLoadDataAction();
setState(() {});
});
} }
@override @override

View File

@ -74,15 +74,13 @@ class MessageManagement {
case MessageConstant.lockSetChange: case MessageConstant.lockSetChange:
final int keyId = data['keyId']; final int keyId = data['keyId'];
final int lockId = data['lockId']; final int lockId = data['lockId'];
final Map<String, dynamic> extra = data['updateFieldList']; //
if (extra['appUnlockOnline'] != null) { // final Map<Object?, Object?> extra = data['updateFieldList'];
final String appUnlockOnline = extra['appUnlockOnline']; // if (extra['appUnlockOnline'] != null) {
eventBus.fire( // final String appUnlockOnline = extra['appUnlockOnline']!.toString();
LockSetChangeSetRefreshLockDetailWithType(1, appUnlockOnline)); // }
eventBus.fire(RefreshLockInfoDataEvent(keyId: keyId, lockId: lockId)); eventBus.fire(RefreshLockInfoDataEvent(keyId: keyId, lockId: lockId));
}
break; break;
default: default:
throw Exception('无法识别eventNo 参数:$eventNo'); throw Exception('无法识别eventNo 参数:$eventNo');
} }

View File

@ -73,8 +73,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# 1.0.62+2024061301xhj 线上环境,对外发布,提交测试:处理华为拒审 # 1.0.62+2024061301xhj 线上环境,对外发布,提交测试:处理华为拒审
# 1.0.63+2024061302xhj 线上环境,提交测试:回归 bug # 1.0.63+2024061302xhj 线上环境,提交测试:回归 bug
# 1.0.65+2024061801xhj 线上环境,提交测试:回归 bug # 1.0.65+2024061801xhj 线上环境,提交测试:回归 bug
# 1.0.66+2024061802xhj 线上环境,提交测试:回归 bug
version: 1.0.65+2024061801 version: 1.0.66+2024061802
environment: environment:
sdk: '>=2.12.0 <3.0.0' sdk: '>=2.12.0 <3.0.0'