diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 7615c010..e61b1d3a 100755 --- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -68,7 +68,7 @@ class _LockDetailPageState extends State lockListInfoItemEntity: widget.lockListInfoItemEntity, isOnlyOneData: widget.isOnlyOneData); - _handleLockSettingInfoData(); + _handleLockMonitor2(); } @override @@ -1164,10 +1164,7 @@ class _LockDetailPageState extends State showWidgetArr.add( bottomItem('images/main/icon_catEyes.png', '监控'.tr, state.bottomBtnisEable.value, () async { - _handleLockSettingInfoData(); - // 发送监控id - StartChartManage().startCallRequestMessageTimer( - ToPeerId: StartChartManage().lockPeerId ?? ''); + await _handleLockMonitor(); }), ); } @@ -1575,7 +1572,7 @@ class _LockDetailPageState extends State BlueManage().disconnect(); } - void _handleLockSettingInfoData() async { + Future _handleLockMonitor2() async { final lockId = state.keyInfos.value.lockId; final LockSetInfoEntity entity = await ApiRepository.to.getLockSettingInfoData( @@ -1587,12 +1584,47 @@ class _LockDetailPageState extends State if (mac != null && mac.isNotEmpty) { final DeviceNetwork deviceNetworkInfo = await ApiRepository.to .getDeviceNetwork(deviceType: 2, deviceMac: mac); - final peerId = deviceNetworkInfo?.data?.peerId; - if (peerId == null || peerId.isEmpty) { - throw Exception('设备peerId为空'); + if (deviceNetworkInfo.data?.wifiName == null) { + return; + } else { + final peerId = deviceNetworkInfo?.data?.peerId; + if (peerId == null || peerId.isEmpty) { + throw Exception('设备peerId为空'); + } + // 设置锁的peerID + StartChartManage().lockPeerId = peerId; + } + } + } + } + + Future _handleLockMonitor() async { + final lockId = state.keyInfos.value.lockId; + final LockSetInfoEntity entity = + await ApiRepository.to.getLockSettingInfoData( + lockId: lockId.toString(), + ); + if (entity.errorCode!.codeIsSuccessful) { + final LockSetInfoData data = entity.data!; + final mac = data.lockBasicInfo?.mac; + if (mac != null && mac.isNotEmpty) { + final DeviceNetwork deviceNetworkInfo = await ApiRepository.to + .getDeviceNetwork(deviceType: 2, deviceMac: mac); + if (deviceNetworkInfo.data?.wifiName == null) { + // 未找到配网信息 + logic.showToast('请先进行配网'); + return; + } else { + final peerId = deviceNetworkInfo?.data?.peerId; + if (peerId == null || peerId.isEmpty) { + throw Exception('设备peerId为空'); + } + // 设置锁的peerID + StartChartManage().lockPeerId = peerId; + // 发送监控id + StartChartManage().startCallRequestMessageTimer( + ToPeerId: StartChartManage().lockPeerId ?? ''); } - // 设置锁的peerID - StartChartManage().lockPeerId = peerId; } } }