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

This commit is contained in:
魏少阳 2024-08-08 11:00:11 +08:00
commit 7092b552ab
11 changed files with 178 additions and 155 deletions

View File

@ -65,7 +65,7 @@
"accountNumber": "账号",
"volumeAuthorizationLock": "批量授权锁",
"authorizedAdminTip": "授权管理员拥有操作这把锁的重要权限,请确保只发给我你信任的人",
"lockOperatingRecordTip": "只能保留一定时间内的记录,如果您需要保留历史记录,可以在右上角导出",
"lockOperatingRecordTip": "如果您需要保留历史记录,可以在右上角导出",
"rankingList": "排列榜",
"earlyArrivalList": "早到榜",
"lateList": "迟到榜",

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -79,7 +78,8 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
onTap: (int index) {
state.isIphoneType.value = index == 0;
},
overlayColor: MaterialStateProperty.resolveWith((Set<MaterialState> states) {
overlayColor: MaterialStateProperty.resolveWith(
(Set<MaterialState> states) {
return Colors.transparent;
}),
dividerHeight: 0,
@ -113,24 +113,26 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
child: Obx(() => Container(
color: Colors.white,
height: 70.h,
child: Row(
children: <Widget>[
SizedBox(width: 5.w),
Text(TranslationLoader.lanKeys!.countryAndRegion!.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor)),
SizedBox(width: 50.w),
Text(
state.isIphoneType.value
? '${state.countryName.value} +${state.countryCode.value}'
: state.countryName.value,
style: TextStyle(
fontSize: 26.sp, color: AppColors.mainColor),
),
],
),
child: Visibility(
visible: state.isIphoneType.value,
child: Row(
children: <Widget>[
SizedBox(width: 5.w),
Text(TranslationLoader.lanKeys!.countryAndRegion!.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor)),
SizedBox(width: 50.w),
Text(
state.isIphoneType.value
? '${state.countryName.value} +${state.countryCode.value}'
: state.countryName.value,
style: TextStyle(
fontSize: 26.sp, color: AppColors.mainColor),
),
],
)),
)),
),
)
],
);
}
@ -270,10 +272,11 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {
Get.toNamed(Routers.webviewShowPage, arguments: <String, String>{
'url': XSConstantMacro.userAgreementURL,
'title': '用户协议'.tr
});
Get.toNamed(Routers.webviewShowPage,
arguments: <String, String>{
'url': XSConstantMacro.userAgreementURL,
'title': '用户协议'.tr
});
},
)),
WidgetSpan(
@ -284,10 +287,11 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {
Get.toNamed(Routers.webviewShowPage, arguments: <String, String>{
'url': XSConstantMacro.privacyPolicyURL,
'title': '隐私政策'.tr
});
Get.toNamed(Routers.webviewShowPage,
arguments: <String, String>{
'url': XSConstantMacro.privacyPolicyURL,
'title': '隐私政策'.tr
});
},
)),
],

View File

@ -53,7 +53,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
),
onTap: () {
ShowTipView().showSureAlertDialog(
'1.锁没有联网密码、IC卡、指纹等开门记录无法实时上传可以点击右上角按钮然后读取记录。\n2.只能保留一定时间内的记录,如果您需要保留历史记录,可以点击右上角按钮,然后导出记录',
'1.锁没有联网密码、IC卡、指纹等开门记录无法实时上传可以点击右上角按钮然后读取记录。\n2.如果您需要保留历史记录,可以点击右上角按钮,然后导出记录',
tipTitle: '看不到操作记录,可能原因有',
sureStr: '我知道了'.tr);
},
@ -276,9 +276,8 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
return GestureDetector(
onTap: () {
Get.toNamed(Routers.doorLockLogDetailPage, arguments: {
'doorLockLogDataItem': timelineData
});
Get.toNamed(Routers.doorLockLogDetailPage,
arguments: {'doorLockLogDataItem': timelineData});
},
child: Padding(
padding: EdgeInsets.only(left: 20.w, top: 20.h),

View File

@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../../../../../app_settings/app_colors.dart';
import '../../../../../../tools/titleAppBar.dart';
import '../../../../../../translations/trans_lib.dart';
import 'massSendElectronicKeyManage_tabbar.dart';
class MassSendElectronicKeyManagePage extends StatefulWidget {

View File

@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart';
import 'package:star_lock/tools/regexp_tool.dart';
import 'package:star_lock/translations/trans_lib.dart';
import '../../../../../../app_settings/app_colors.dart';
class MassSendReceiverCell extends StatefulWidget {
@ -207,6 +207,10 @@ class _MassSendReceiverCellState extends State<MassSendReceiverCell> {
border: InputBorder.none,
),
onSubmitted: onSubmitted,
//
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(50),
],
),
),
if (isContactPickerEnabled)

View File

@ -145,10 +145,11 @@ class _LockDetailPageState extends State<LockDetailPage>
'isOnlyOneData': state.isOnlyOneData
});
}),
labelText(
img: 'images/icon_puzzlepiece_extension.png',
text: '配件'.tr,
child: attachmentWidget()),
if (!F.isProductionEnv)
labelText(
img: 'images/icon_puzzlepiece_extension.png',
text: '配件'.tr,
child: attachmentWidget()),
],
),
),
@ -994,19 +995,15 @@ class _LockDetailPageState extends State<LockDetailPage>
final List<Widget> showWidgetArr = <Widget>[];
//
if (state.isAttendance.value == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_clockingIn.png',
'考勤'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_clockingIn.png',
'考勤'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.checkingInListPage,
arguments: state.keyInfos.value);
}));
}
//
showWidgetArr.add(bottomItem(
'images/main/icon_main_operatingRecord.png',
'操作记录'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_operatingRecord.png',
'操作记录'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.doorLockLogPage,
arguments: <String, LockListInfoItemEntity>{
'keyInfo': state.keyInfos.value
@ -1032,27 +1029,21 @@ class _LockDetailPageState extends State<LockDetailPage>
final List<Widget> showWidgetArr = <Widget>[];
//
if (state.isAttendance.value == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_clockingIn.png',
'考勤'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_clockingIn.png',
'考勤'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.checkingInListPage,
arguments: state.keyInfos.value);
}));
}
//
showWidgetArr.add(bottomItem(
'images/main/icon_main_electronicKey.png',
'电子钥匙'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_electronicKey.png',
'电子钥匙'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.electronicKeyListPage);
}));
//
showWidgetArr.add(bottomItem(
'images/main/icon_main_password.png',
'密码'.tr,
showWidgetArr.add(bottomItem('images/main/icon_main_password.png', '密码'.tr,
state.bottomBtnisEable.value, () {
Get.toNamed(Routers.passwordKeyListPage,
arguments: <String, LockListInfoItemEntity>{
@ -1062,9 +1053,7 @@ class _LockDetailPageState extends State<LockDetailPage>
// ic卡
if (state.keyInfos.value.lockFeature!.icCard == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_icCard.png',
''.tr,
showWidgetArr.add(bottomItem('images/main/icon_main_icCard.png', ''.tr,
state.bottomBtnisEable.value, () {
Get.toNamed(Routers.cardListPage, arguments: <String, int?>{
'lockId': state.keyInfos.value.lockId,
@ -1074,10 +1063,8 @@ class _LockDetailPageState extends State<LockDetailPage>
//
if (state.keyInfos.value.lockFeature!.fingerprint == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_fingerprint.png',
'指纹'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_fingerprint.png',
'指纹'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.fingerprintListPage, arguments: <String, int?>{
'lockId': state.keyInfos.value.lockId,
});
@ -1086,10 +1073,8 @@ class _LockDetailPageState extends State<LockDetailPage>
//
if (state.keyInfos.value.lockFeature!.bluetoothRemoteControl == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_remoteControl.png',
'遥控'.tr,
state.bottomBtnisEable.value, () {
showWidgetArr.add(bottomItem('images/main/icon_main_remoteControl.png',
'遥控'.tr, state.bottomBtnisEable.value, () {
Get.toNamed(Routers.remoteControlListPage, arguments: <String, int?>{
'lockId': state.keyInfos.value.lockId,
});
@ -1165,9 +1150,7 @@ class _LockDetailPageState extends State<LockDetailPage>
final List<Widget> endWiddget = <Widget>[];
endWiddget.add(
//
bottomItem(
'images/main/icon_main_operatingRecord.png',
'操作记录'.tr,
bottomItem('images/main/icon_main_operatingRecord.png', '操作记录'.tr,
state.bottomBtnisEable.value, () {
// Get.toNamed(Routers.lockOperatingRecordPage,
// arguments: {"keyInfo": state.keyInfos.value});
@ -1189,18 +1172,21 @@ class _LockDetailPageState extends State<LockDetailPage>
});
}));
}
endWiddget.add(
//
bottomItem(
'images/main/icon_lockDetail_messageReminding.png',
TranslationLoader.lanKeys!.messageReminding!.tr,
state.bottomBtnisEable.value, () {
Get.toNamed(Routers.msgNotificationPage, arguments: <String, int?>{
'lockId': state.keyInfos.value.lockId,
'isSupportCatEye': state.keyInfos.value.lockFeature!.isSupportCatEye,
});
}),
);
if (!F.isProductionEnv) {
endWiddget.add(
//
bottomItem(
'images/main/icon_lockDetail_messageReminding.png',
TranslationLoader.lanKeys!.messageReminding!.tr,
state.bottomBtnisEable.value, () {
Get.toNamed(Routers.msgNotificationPage, arguments: <String, int?>{
'lockId': state.keyInfos.value.lockId,
'isSupportCatEye':
state.keyInfos.value.lockFeature!.isSupportCatEye,
});
}),
);
}
if (F.isSKY) {
endWiddget.add(

View File

@ -133,13 +133,13 @@ class _MsgNotificationPageState extends State<MsgNotificationPage> {
SizedBox(
height: 10.h,
),
Obx(() => CommonItem(
leftTitel: '有人按门铃'.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget:
SizedBox(width: 60.w, height: 50.h, child: _switch(3)))),
// Obx(() => CommonItem(
// leftTitel: '有人按门铃'.tr,
// rightTitle: "",
// isHaveLine: true,
// isHaveRightWidget: true,
// rightWidget:
// SizedBox(width: 60.w, height: 50.h, child: _switch(3)))),
SizedBox(
height: 10.h,
),

View File

@ -221,15 +221,16 @@ class _MineSetPageState extends State<MineSetPage>
Get.toNamed(Routers.authorizedAdministratorListPage);
}),
//by DaisyWu --
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.authorityManagementPage);
// Toast.show(msg: "功能暂未开放");
}),
if (!F.isProductionEnv)
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.authorityManagementPage);
// Toast.show(msg: "功能暂未开放");
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
rightTitle: '',
@ -246,14 +247,15 @@ class _MineSetPageState extends State<MineSetPage>
action: () {
Get.toNamed(Routers.transferSmartLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.selectGetewayListPage);
}),
//
// CommonItem(
// leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
// rightTitle: '',
// isHaveLine: true,
// isHaveDirection: true,
// action: () {
// Get.toNamed(Routers.selectGetewayListPage);
// }),
SizedBox(
height: 10.h,
),
@ -326,7 +328,7 @@ class _MineSetPageState extends State<MineSetPage>
height: 10.h,
),
//
if (!F.isLite)
if (!F.isProductionEnv)
CommonItem(
leftTitel: 'Amazon Alexa',
rightTitle: '',
@ -335,7 +337,7 @@ class _MineSetPageState extends State<MineSetPage>
action: () {
logic.showToast('功能暂未开放'.tr);
}),
if (!F.isLite)
if (!F.isProductionEnv)
CommonItem(
leftTitel: 'Google Home',
rightTitle: '',
@ -344,7 +346,7 @@ class _MineSetPageState extends State<MineSetPage>
action: () {
logic.showToast('功能暂未开放'.tr);
}),
if (!F.isLite)
if (!F.isProductionEnv)
CommonItem(
leftTitel: TranslationLoader.lanKeys!.xiaomiIOTPlatform!.tr,
rightTitle: '',

View File

@ -236,12 +236,18 @@ class _ValueAddedServicesHighFunctionPageState
'群发钥匙'.tr),
// _buildItem("images/mine/icon_mine_highFunctionContent_bjft.png",
// TranslationLoader.lanKeys!.markedHouseState!.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_fkgj.png',
TranslationLoader.lanKeys!.cardIssuingtool!.tr),
_buildItem(
'images/mine/icon_mine_highFunctionContent_fkgj.png', '推送'),
_buildItem(
'images/mine/icon_mine_highFunctionContent_fkgj.png', '考勤'),
// _buildItem('images/mine/icon_mine_highFunctionContent_fkgj.png',
// TranslationLoader.lanKeys!.cardIssuingtool!.tr),
// _buildItem(
// 'images/mine/icon_mine_highFunctionContent_fkgj.png', '推送'),
// _buildItem(
// 'images/mine/icon_mine_highFunctionContent_fkgj.png', '考勤'),
_buildItem('images/mine/icon_mine_highFunctionContent_bjft.png',
'导出锁数据'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_bjft.png',
'常开模式'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_bjft.png',
'一键开锁'.tr),
],
),
),

View File

@ -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/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_state.dart';
import 'package:star_lock/tools/commonDataManage.dart';
@ -57,7 +58,10 @@ class _ValueAddedServicesPageListState
Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage,
arguments: <String, int>{'type': 2});
}),
_valueAddedServicesItem(Image.asset('images/mine/icon_mine_valueAddedServices_realName.png'), '实名认证'.tr, () {
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_realName.png'),
'实名认证'.tr, () {
Get.toNamed(Routers.valueAddedServicesRealNamePage);
}),
_valueAddedServicesItem(
@ -89,39 +93,55 @@ class _ValueAddedServicesPageListState
// TranslationLoader.lanKeys!.checkingIn!.tr, () {
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
// }),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_storage.png'),
TranslationLoader.lanKeys!.recordsRetention!.tr, () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
'可视对讲', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Text(
'A',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
'Amazon Alexa', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Text(
'G',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
'Google Home', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
//
// _valueAddedServicesItem(
// Image.asset(
// 'images/mine/icon_mine_valueAddedServices_storage.png'),
// TranslationLoader.lanKeys!.recordsRetention!.tr, () {
// EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
// }),
if (!F.isProductionEnv)
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
'可视对讲', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
if (!F.isProductionEnv)
_valueAddedServicesItem(
Text(
'A',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
'Amazon Alexa', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
if (!F.isProductionEnv)
_valueAddedServicesItem(
Text(
'G',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
'Google Home', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
if (!F.isProductionEnv)
_valueAddedServicesItem(
Text(
'M',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
'小米IOT平台', () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
],
),
);

View File

@ -30,11 +30,14 @@ class ShowCupertinoAlertView {
SizedBox(
height: 60.h,
),
Image.network(
qrCodeUrl,
width: 400.w,
height: 400.w,
),
if (qrCodeUrl.isNotEmpty)
Image.network(
qrCodeUrl,
width: 400.w,
height: 400.w,
)
else
Container(),
SizedBox(
height: 20.h,
),