diff --git a/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart b/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart index 03ce7566..6a821205 100644 --- a/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart +++ b/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_logic.dart @@ -282,7 +282,7 @@ class DoorLockLogLogic extends BaseGetXController { // senderReferEventRecordTime(); // senderReferEventRecordNumber(); - testReadJsonData(); + // testReadJsonData(); mockNetworkDataRequest(); } } diff --git a/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart b/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart index f0601186..6a458a4e 100644 --- a/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart +++ b/star_lock/lib/main/lockDetail/doorLockLog/doorLockLog_page.dart @@ -6,6 +6,7 @@ import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_logic.dart'; import 'package:star_lock/tools/advancedCalendar/src/widget.dart'; import 'package:star_lock/tools/menuItem/xsDropDownWidget.dart'; +import 'package:star_lock/tools/noData.dart'; import 'package:timelines/timelines.dart'; import '../../../app_settings/app_colors.dart'; @@ -140,91 +141,93 @@ class _DoorLockLogPageState extends State { color: Colors.white, borderRadius: BorderRadius.circular(16.w), ), - child: Timeline.tileBuilder( - builder: TimelineTileBuilder.fromStyle( - contentsAlign: ContentsAlign.basic, - itemCount: timelineDataList.length, - contentsBuilder: (context, index) { - DoorLockLogDataItem timelineData = timelineDataList[index]; - DateTime dateTime = - DateTime.fromMillisecondsSinceEpoch(timelineData.operateDate!); - String formattedTime = - '${dateTime.hour.toString().padLeft(2, '0')}:${dateTime.minute.toString().padLeft(2, '0')}'; + child: timelineDataList.isNotEmpty + ? Timeline.tileBuilder( + builder: TimelineTileBuilder.fromStyle( + contentsAlign: ContentsAlign.basic, + itemCount: timelineDataList.length, + contentsBuilder: (context, index) { + DoorLockLogDataItem timelineData = timelineDataList[index]; + DateTime dateTime = DateTime.fromMillisecondsSinceEpoch( + timelineData.operateDate!); + String formattedTime = + '${dateTime.hour.toString().padLeft(2, '0')}:${dateTime.minute.toString().padLeft(2, '0')}'; - return Padding( - padding: EdgeInsets.only(left: 20.w, top: 20.h), - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '$formattedTime ${timelineData.recordTypeName}', - textAlign: TextAlign.left, - style: TextStyle( - color: Colors.black, - fontSize: 24.sp, - fontWeight: FontWeight.w600, - ), - ), - SizedBox( - height: 10.h, - ), - GestureDetector( - onTap: () { - Get.toNamed(Routers.videoLogDetailPage); - }, - child: Stack( + return Padding( + padding: EdgeInsets.only(left: 20.w, top: 20.h), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ - timelineData.imagesUrl != null - ? - // Image.network( - // timelineData.imagesUrl!, - // width: 260.w, - // height: 260.h, - // ) - Image( - image: const AssetImage( - 'images/main/icon_lockDetail_monitoringvoiceFrist.png'), - width: 240.w, - height: 180.h, - fit: BoxFit.contain, - ) - : Container(), - Positioned( - top: 150.h, - left: 10.w, - child: Image( - image: const AssetImage( - 'images/main/icon_lockLog_play.png'), - width: 24.w, - height: 20.w, + Text( + '$formattedTime ${timelineData.recordTypeName}', + textAlign: TextAlign.left, + style: TextStyle( + color: Colors.black, + fontSize: 24.sp, + fontWeight: FontWeight.w600, ), ), + SizedBox( + height: 10.h, + ), + GestureDetector( + onTap: () { + Get.toNamed(Routers.videoLogDetailPage); + }, + child: Stack( + children: [ + timelineData.imagesUrl != null + ? + // Image.network( + // timelineData.imagesUrl!, + // width: 260.w, + // height: 260.h, + // ) + Image( + image: const AssetImage( + 'images/main/icon_lockDetail_monitoringvoiceFrist.png'), + width: 240.w, + height: 180.h, + fit: BoxFit.contain, + ) + : Container(), + Positioned( + top: 150.h, + left: 10.w, + child: Image( + image: const AssetImage( + 'images/main/icon_lockLog_play.png'), + width: 24.w, + height: 20.w, + ), + ), + ], + ), + ), + SizedBox( + height: 20.h, + ), ], ), - ), - SizedBox( - height: 20.h, - ), - ], + ); + }, ), - ); - }, - ), - theme: TimelineThemeData( - nodePosition: 0.04, //居左侧距离 - connectorTheme: const ConnectorThemeData( - thickness: 1.0, - color: AppColors.greyLineColor, - indent: 0.5, - ), - indicatorTheme: const IndicatorThemeData( - size: 8.0, - color: AppColors.greyLineColor, - position: 0.4, - ), - ), - ), + theme: TimelineThemeData( + nodePosition: 0.04, //居左侧距离 + connectorTheme: const ConnectorThemeData( + thickness: 1.0, + color: AppColors.greyLineColor, + indent: 0.5, + ), + indicatorTheme: const IndicatorThemeData( + size: 8.0, + color: AppColors.greyLineColor, + position: 0.4, + ), + ), + ) + : NoData(), ); } } diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_page.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_page.dart index 4887adda..066086fb 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_page.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_page.dart @@ -39,7 +39,9 @@ class _CatEyeSetPageState extends State { isHaveDirection: true, action: () { Get.toNamed(Routers.catEyeWorkModePage, arguments: { - 'lockSetInfoData': state.lockSetInfoData.value + 'lockSetInfoData': state.lockSetInfoData.value, + 'catEyeConfigata': state + .lockSetInfoData.value.lockSettingInfo!.catEyeConfig![0] })?.then((value) { if (value != null) { state.selectCatEyeWorkMode.value = value; diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart index 8001f7cc..1ce793ac 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_logic.dart @@ -9,20 +9,28 @@ class CatEyeWorkModeLogic extends BaseGetXController { void updateCatEyeModeConfig() async { var entity = await ApiRepository.to.updateCatEyeModeConfig( lockId: state.lockSetInfoData.value.lockId!, - catEyeConfig: { - 'catEyeMode': state.selectCatEyeWorkMode.value, - 'catEyeModeConfig': { - 'recordMode': state.recordMode.value, - 'recordStartTime': state.recordStartTime.value, - 'recordEndTime': state.recordEndTime.value, - 'recordTime': state.recordTime.value, - 'detectionDistance': state.detectionDistance.value, - 'realTimeMode': state.realTimeMode.value, + catEyeConfig: [ + { + 'catEyeMode': state.selectCatEyeWorkMode.value, + 'catEyeModeConfig': { + 'recordMode': state.recordMode.value, + 'recordStartTime': state.recordStartTime.value, + 'recordEndTime': state.recordEndTime.value, + 'recordTime': state.recordTime.value, + 'detectionDistance': state.detectionDistance.value, + 'realTimeMode': state.realTimeMode.value, + } } - }, + ], ); if (entity.errorCode!.codeIsSuccessful) { showToast('设置成功'); } } + + @override + void onReady() { + // TODO: implement onReady + super.onReady(); + } } diff --git a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart index 74cbeb03..e838b3be 100644 --- a/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart +++ b/star_lock/lib/main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_state.dart @@ -1,20 +1,38 @@ import 'package:get/get.dart'; +import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart'; class CatEyeWorkModeState { var lockSetInfoData = LockSetInfoData().obs; var selectCatEyeWorkMode = 0.obs; //猫眼工作模式 - var boolList = [true, false, false, false].obs; + var boolList = [false, false, false, false].obs; var recordMode = 0.obs; //录像时段 0全天 1自定义时间 //自定义时间需要填:recordStartTime与recordEndTime参数 var recordStartTime = 0.obs; // 1709715049775, var recordEndTime = 0.obs; //1709715049775, - var recordTime = 0.obs; //有人出现时录像 + var recordTime = ''.obs; //有人出现时录像 var detectionDistance = 0.obs; //人体侦测距离 var realTimeMode = 0.obs; //实时画面 0发生事件事查看 1实时查看 + var catEyeConfigData = CatEyeConfig().obs; CatEyeWorkModeState() { Map map = Get.arguments; lockSetInfoData.value = map["lockSetInfoData"]; + catEyeConfigData.value = map['catEyeConfigata']; + selectCatEyeWorkMode.value = catEyeConfigData.value.catEyeMode!; + + if (catEyeConfigData.value.catEyeMode == + XSConstantMacro.catEyeWorkModePowerSaving) { + boolList[0] = true; + } else if (catEyeConfigData.value.catEyeMode == + XSConstantMacro.catEyeWorkModeStayCapture) { + boolList[1] = true; + } else if (catEyeConfigData.value.catEyeMode == + XSConstantMacro.catEyeWorkModeRealTimeMonitoring) { + boolList[2] = true; + } else if (catEyeConfigData.value.catEyeMode == + XSConstantMacro.catEyeWorkModeCustom) { + boolList[3] = true; + } } } diff --git a/star_lock/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart b/star_lock/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart index a341a000..4a7fe5ff 100644 --- a/star_lock/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart +++ b/star_lock/lib/main/lockDetail/lockSet/lockSet/lockSetInfo_entity.dart @@ -458,19 +458,27 @@ class LockSettingInfo { int? motorTorsion; int? stayWarn; int? abnormalWarn; - List? catEyeConfig; + List? catEyeConfig; int? faceSwitch; //人脸开关 0:关闭 1:开启 int? faceAutoLightScreen; //人脸自动亮屏开关 0:关闭 1:开启 int? faceInductionDistance; //人脸感应距离 int? faceAntiMistakeOpen; //人脸防误开门 0:关闭 1:开启 int? autoLightScreen; //猫眼-自动亮屏开关 0:关闭 1:开启 int? autoLightScreenTime; //猫眼-自动亮屏时间 - int? dayNotOpenDoorSwitch; //N天未开门开关 (启用/禁用) - int? dayNotOpenDoorValue; //N天未开门值 - int? doorNotCloseSwitch; //门未关闭开关 (启用/禁用) - int? lowElecNoticeSwitch; //低电量开关 (启用/禁用) - int? doorbellNoticeSwitch; //有人按门铃开关 (启用/禁用) - int? someoneAtDoorSwitch; //有人出现在门口开关 (启用/禁用)// + + // List? catEyeConfigList; + // int? faceSwitch; //人脸开关 0:关闭 1:开启 + // int? faceAutoLightScreen; //人脸自动亮屏开关 0:关闭 1:开启 + // int? faceInductionDistance; //人脸感应距离 + // int? faceAntiMistakeOpen; //人脸防误开门 0:关闭 1:开启 + // int? autoLightScreen; //猫眼-自动亮屏开关 0:关闭 1:开启 + // int? autoLightScreenTime; //猫眼-自动亮屏时间 + // int? dayNotOpenDoorSwitch; //N天未开门开关 (启用/禁用) + // int? dayNotOpenDoorValue; //N天未开门值 + // int? doorNotCloseSwitch; //门未关闭开关 (启用/禁用) + // int? lowElecNoticeSwitch; //低电量开关 (启用/禁用) + // int? doorbellNoticeSwitch; //有人按门铃开关 (启用/禁用) + // int? someoneAtDoorSwitch; //有人出现在门口开关 (启用/禁用)// LockSettingInfo({ this.remoteUnlock, @@ -505,12 +513,12 @@ class LockSettingInfo { this.faceAntiMistakeOpen, this.autoLightScreen, this.autoLightScreenTime, - this.dayNotOpenDoorSwitch, - this.dayNotOpenDoorValue, - this.doorNotCloseSwitch, - this.lowElecNoticeSwitch, - this.doorbellNoticeSwitch, - this.someoneAtDoorSwitch, + // this.dayNotOpenDoorSwitch, + // this.dayNotOpenDoorValue, + // this.doorNotCloseSwitch, + // this.lowElecNoticeSwitch, + // this.doorbellNoticeSwitch, + // this.someoneAtDoorSwitch, }); LockSettingInfo.fromJson(Map json) { @@ -545,9 +553,9 @@ class LockSettingInfo { stayWarn = json['stayWarn']; abnormalWarn = json['abnormalWarn']; if (json['catEyeConfig'] != null) { - catEyeConfig = []; + catEyeConfig = []; json['catEyeConfig'].forEach((v) { - catEyeConfig!.add(CatEyeModeConfig.fromJson(v)); + catEyeConfig!.add(CatEyeConfig.fromJson(v)); }); } faceSwitch = json['faceSwitch']; @@ -556,12 +564,12 @@ class LockSettingInfo { faceAntiMistakeOpen = json['faceAntiMistakeOpen']; autoLightScreen = json['autoLightScreen']; autoLightScreenTime = json['autoLightScreenTime']; - dayNotOpenDoorSwitch = json['dayNotOpenDoorSwitch']; - dayNotOpenDoorValue = json['dayNotOpenDoorValue']; - doorNotCloseSwitch = json['doorNotCloseSwitch']; - lowElecNoticeSwitch = json['lowElecNoticeSwitch']; - doorbellNoticeSwitch = json['doorbellNoticeSwitch']; - someoneAtDoorSwitch = json['someoneAtDoorSwitch']; + // dayNotOpenDoorSwitch = json['dayNotOpenDoorSwitch']; + // dayNotOpenDoorValue = json['dayNotOpenDoorValue']; + // doorNotCloseSwitch = json['doorNotCloseSwitch']; + // lowElecNoticeSwitch = json['lowElecNoticeSwitch']; + // doorbellNoticeSwitch = json['doorbellNoticeSwitch']; + // someoneAtDoorSwitch = json['someoneAtDoorSwitch']; } Map toJson() { @@ -603,12 +611,12 @@ class LockSettingInfo { data['faceAntiMistakeOpen'] = faceAntiMistakeOpen; data['autoLightScreen'] = autoLightScreen; data['autoLightScreenTime'] = autoLightScreenTime; - data['dayNotOpenDoorSwitch'] = dayNotOpenDoorSwitch; - data['dayNotOpenDoorValue'] = dayNotOpenDoorValue; - data['doorNotCloseSwitch'] = doorNotCloseSwitch; - data['lowElecNoticeSwitch'] = lowElecNoticeSwitch; - data['doorbellNoticeSwitch'] = doorbellNoticeSwitch; - data['someoneAtDoorSwitch'] = someoneAtDoorSwitch; + // data['dayNotOpenDoorSwitch'] = dayNotOpenDoorSwitch; + // data['dayNotOpenDoorValue'] = dayNotOpenDoorValue; + // data['doorNotCloseSwitch'] = doorNotCloseSwitch; + // data['lowElecNoticeSwitch'] = lowElecNoticeSwitch; + // data['doorbellNoticeSwitch'] = doorbellNoticeSwitch; + // data['someoneAtDoorSwitch'] = someoneAtDoorSwitch; return data; } @@ -641,7 +649,7 @@ class PassageModeConfig { } class CatEyeConfig { - int? catEyeMode; + int? catEyeMode; //1省电模式 2逗留抓拍模式 3实时监控模式 4自定义模式(自定义模式下存在其他设置参数) CatEyeModeConfig? catEyeModeConfig; CatEyeConfig({this.catEyeMode, this.catEyeModeConfig}); @@ -664,12 +672,12 @@ class CatEyeConfig { } class CatEyeModeConfig { - int? recordMode; - String? recordTime; - int? realTimeMode; - int? recordEndTime; - int? recordStartTime; - double? detectionDistance; + int? recordMode; //录像时段 0全天 1自定义时间 + String? recordTime; //有人出现时录像 + int? realTimeMode; //实时画面 0发生事件事查看 1实时查看 + int? recordEndTime; //录像时段自定义时间-结束时间 + int? recordStartTime; //录像时段自定义时间-开始时间 + int? detectionDistance; //人体侦测距离 CatEyeModeConfig( {this.recordMode, diff --git a/star_lock/lib/mine/mine/starLockMine_logic.dart b/star_lock/lib/mine/mine/starLockMine_logic.dart index 2c4a5fa2..00a24eda 100644 --- a/star_lock/lib/mine/mine/starLockMine_logic.dart +++ b/star_lock/lib/mine/mine/starLockMine_logic.dart @@ -10,7 +10,7 @@ class StarLockMineLogic extends BaseGetXController { //删除账号请求 Future userLogoutRequest() async { - LoginEntity entity = await ApiRepository.to.userLogout(); + LoginEntity entity = await ApiRepository.to.userLogout(deviceld: ''); if (entity.errorCode!.codeIsSuccessful) {} } diff --git a/star_lock/lib/mine/mineSet/mineSet/mineSet_logic.dart b/star_lock/lib/mine/mineSet/mineSet/mineSet_logic.dart index 4d2b412e..059b4483 100644 --- a/star_lock/lib/mine/mineSet/mineSet/mineSet_logic.dart +++ b/star_lock/lib/mine/mineSet/mineSet/mineSet_logic.dart @@ -51,7 +51,10 @@ class MineSetLogic extends BaseGetXController { //退出登录请求 Future userLogoutRequest() async { - LoginEntity entity = await ApiRepository.to.userLogout(); + var getPushDeviceID = await Storage.getString(pushDeviceID); + + LoginEntity entity = + await ApiRepository.to.userLogout(deviceld: getPushDeviceID!); if (entity.errorCode!.codeIsSuccessful) { UdpHelp().closeUDP(); logOut(); diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 3b09af3d..a4db7b27 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -600,12 +600,13 @@ class ApiProvider extends BaseProvider { 'pageSize': pageSize, })); - Future expireFingerprintList(String pageNo, String pageSize) => post( - expireFingerprintListURL.toUrl, - jsonEncode({ - 'pageNo': pageNo, - 'pageSize': pageSize, - })); + Future expireFingerprintList(String pageNo, String pageSize) => + post( + expireFingerprintListURL.toUrl, + jsonEncode({ + 'pageNo': pageNo, + 'pageSize': pageSize, + })); Future expireFaceList(String pageNo, String pageSize) => post( expireFaceListURL.toUrl, @@ -1500,7 +1501,8 @@ class ApiProvider extends BaseProvider { })); //退出登录 - Future userLogout() => get(userLogoutURL.toUrl); + Future userLogout(String deviceld) => + post(userLogoutURL.toUrl, jsonEncode({'deviceld': deviceld})); //删除账号 Future deleteAccount( @@ -1657,12 +1659,13 @@ class ApiProvider extends BaseProvider { })); // 设置猫眼工作模式 - Future updateCatEyeModeConfig(int lockId, Map catEyeConfig) => post( - updateCatEyeConfigURL.toUrl, - jsonEncode({ - 'lockId': lockId, - 'catEyeConfig': catEyeConfig, - })); + Future updateCatEyeModeConfig(int lockId, List catEyeConfig) => + post( + updateCatEyeConfigURL.toUrl, + jsonEncode({ + 'lockId': lockId, + 'catEyeConfig': catEyeConfig, + })); // 设置自动亮屏 Future updateAutoLightScreenConfig( diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index 19c3cc07..888f3f7b 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -336,20 +336,27 @@ class ApiRepository { //编辑电子钥匙有效期 Future updateKeyDate( - { - required String keyId, - required String lockId, - required String endDate, - required String startDate, - required List weekDays, - required int keyType, - required int startTime, - required int endTime, - required int isOnlyManageSelf, - required int remoteEnable - }) async { + {required String keyId, + required String lockId, + required String endDate, + required String startDate, + required List weekDays, + required int keyType, + required int startTime, + required int endTime, + required int isOnlyManageSelf, + required int remoteEnable}) async { final res = await apiProvider.updateKeyDate( - keyId, lockId, endDate, startDate, weekDays, keyType, startTime, endTime, isOnlyManageSelf, remoteEnable); + keyId, + lockId, + endDate, + startDate, + weekDays, + keyType, + startTime, + endTime, + isOnlyManageSelf, + remoteEnable); return KeyOperationRecordEntity.fromJson(res.body); } @@ -538,10 +545,7 @@ class ApiRepository { //删除电子钥匙 Future deleteElectronicKey( - { - required String keyId, - required int includeUnderlings - }) async { + {required String keyId, required int includeUnderlings}) async { final res = await apiProvider.deleteElectronicKey(keyId, includeUnderlings); return ElectronicKeyListEntity.fromJson(res.body); } @@ -566,13 +570,15 @@ class ApiRepository { } //设置授权管理员 - Future setAdministrator({required String keyId}) async { + Future setAdministrator( + {required String keyId}) async { final res = await apiProvider.setAdministrator(keyId); return ElectronicKeyListEntity.fromJson(res.body); } //取消授权管理员 - Future cancelAdministrator({required String keyId}) async { + Future cancelAdministrator( + {required String keyId}) async { final res = await apiProvider.cancelAdministrator(keyId); return ElectronicKeyListEntity.fromJson(res.body); } @@ -604,13 +610,15 @@ class ApiRepository { } //即将到期的卡列表 - Future expireCardList(String pageNo, String pageSize) async { + Future expireCardList( + String pageNo, String pageSize) async { final res = await apiProvider.expireCardList(pageNo, pageSize); return ExpireCardEntity.fromJson(res.body); } //即将到期的指纹列表 - Future expireFingerprintList(String pageNo, String pageSize) async { + Future expireFingerprintList( + String pageNo, String pageSize) async { final res = await apiProvider.expireFingerprintList(pageNo, pageSize); return ExpireFingerprintEntity.fromJson(res.body); } @@ -851,19 +859,17 @@ class ApiRepository { //群发电子钥匙 Future batchSendKey( - { - required String endDate, - required List keyGroupIdList, - required List lockIdList, - required String createUser, - required String isRemoteUnlock, - required String keyNameForAdmin, - required String receiverUsername, - required String startDate, - required String countryCode, - required String usernameType, - required List weekDays - }) async { + {required String endDate, + required List keyGroupIdList, + required List lockIdList, + required String createUser, + required String isRemoteUnlock, + required String keyNameForAdmin, + required String receiverUsername, + required String startDate, + required String countryCode, + required String usernameType, + required List weekDays}) async { final res = await apiProvider.batchSendKey( endDate, keyGroupIdList, @@ -1467,8 +1473,8 @@ class ApiRepository { } // 退出登录 - Future userLogout() async { - final res = await apiProvider.userLogout(); + Future userLogout({required String deviceld}) async { + final res = await apiProvider.userLogout(deviceld); return LoginEntity.fromJson(res.body); } @@ -1693,7 +1699,7 @@ class ApiRepository { // 设置猫眼工作模式 Future updateCatEyeModeConfig( - {required int lockId, required Map catEyeConfig}) async { + {required int lockId, required List catEyeConfig}) async { final res = await apiProvider.updateCatEyeModeConfig(lockId, catEyeConfig); return VersionUndateEntity.fromJson(res.body); } diff --git a/star_lock/lib/talk/udp/udp_reciverData.dart b/star_lock/lib/talk/udp/udp_reciverData.dart index 2270faa8..5fd182fc 100644 --- a/star_lock/lib/talk/udp/udp_reciverData.dart +++ b/star_lock/lib/talk/udp/udp_reciverData.dart @@ -3,6 +3,7 @@ import 'dart:typed_data'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:get/get.dart'; import 'package:star_lock/talk/udp/udp_manage.dart'; +import 'package:star_lock/tools/storage.dart'; import '../../blue/io_tool/io_tool.dart'; import '../../tools/eventBusEventManage.dart'; diff --git a/star_lock/lib/tools/storage.dart b/star_lock/lib/tools/storage.dart index 7238a460..df6026e9 100644 --- a/star_lock/lib/tools/storage.dart +++ b/star_lock/lib/tools/storage.dart @@ -20,6 +20,7 @@ const isAgreeCamera = "isAgreeCamera"; //是否同意获取相机/相册弹窗 const isShowUpdateVersion = "isShowUpdateVersion"; //是否更新弹窗 const saveLockAlias = "saveLockAlias"; //锁别名 +const pushDeviceID = 'pushDeviceID'; //推送设备ID const saveUserLoginData = "userLoginData"; diff --git a/star_lock/lib/tools/xs_jPhush.dart b/star_lock/lib/tools/xs_jPhush.dart index 8c6a05ec..a5bb0df3 100644 --- a/star_lock/lib/tools/xs_jPhush.dart +++ b/star_lock/lib/tools/xs_jPhush.dart @@ -43,6 +43,10 @@ class XSJPushProvider { // Platform messages may fail, so we use a try/catch PlatformException. jpush.getRegistrationID().then((rid) { print("flutter get registration id : $rid"); + Storage.setString( + pushDeviceID, + rid, + ); pushBindDeviceID(rid, Platform.isAndroid ? 10 : 20); }); }