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:
commit
4cf9c99e5d
@ -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"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -943,5 +943,12 @@
|
|||||||
"选择时间段":"选择时间段",
|
"选择时间段":"选择时间段",
|
||||||
"导出":"导出",
|
"导出":"导出",
|
||||||
"批量导出":"批量导出",
|
"批量导出":"批量导出",
|
||||||
"读取记录":"读取记录"
|
"读取记录":"读取记录",
|
||||||
|
"手机需联网":"手机需联网",
|
||||||
|
"设备":"设备",
|
||||||
|
"消息":"消息",
|
||||||
|
"智能分析":"智能分析",
|
||||||
|
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
||||||
|
"系统设置":"系统设置",
|
||||||
|
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -908,5 +908,12 @@
|
|||||||
"选择时间段":"选择时间段",
|
"选择时间段":"选择时间段",
|
||||||
"导出":"导出",
|
"导出":"导出",
|
||||||
"批量导出":"批量导出",
|
"批量导出":"批量导出",
|
||||||
"读取记录":"读取记录"
|
"读取记录":"读取记录",
|
||||||
|
"手机需联网":"手机需联网",
|
||||||
|
"设备":"设备",
|
||||||
|
"消息":"消息",
|
||||||
|
"智能分析":"智能分析",
|
||||||
|
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
||||||
|
"系统设置":"系统设置",
|
||||||
|
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
ios/.DS_Store
vendored
BIN
ios/.DS_Store
vendored
Binary file not shown.
@ -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()),
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,8 +73,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# 1.0.62+2024061301:xhj 线上环境,对外发布,提交测试:处理华为拒审
|
# 1.0.62+2024061301:xhj 线上环境,对外发布,提交测试:处理华为拒审
|
||||||
# 1.0.63+2024061302:xhj 线上环境,提交测试:回归 bug
|
# 1.0.63+2024061302:xhj 线上环境,提交测试:回归 bug
|
||||||
# 1.0.65+2024061801:xhj 线上环境,提交测试:回归 bug
|
# 1.0.65+2024061801:xhj 线上环境,提交测试:回归 bug
|
||||||
|
# 1.0.66+2024061802:xhj 线上环境,提交测试:回归 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'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user