优化连接过程

This commit is contained in:
xuemh
2018-08-26 23:39:52 +08:00
parent ff26073344
commit d0e290bea6
3 changed files with 67 additions and 101 deletions
@@ -37,6 +37,28 @@
}
[IFishHotpotUDPHelper sharedInstance].delegate = self;
[[IFishHotpotUDPHelper sharedInstance] broadCastRestCommand];
__weak typeof(self) weakSelf = self;
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
__strong typeof(weakSelf) strongSelf = weakSelf;
BOOL networkOk = NO;
if (status == AFNetworkReachabilityStatusReachableViaWiFi) {
if (![[strongSelf currentWifiSSID].lowercaseString hasPrefix:@"ifish"]) {
networkOk = YES;
}
} else if (status == AFNetworkReachabilityStatusReachableViaWWAN) {
networkOk = YES;
}
if (!networkOk) {
return;
}
if (strongSelf.isDeleteingDevice) {
return;
}
strongSelf.isDeleteingDevice = YES;
[strongSelf deletDevice];
}];
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
}
- (IBAction)tipBtnClicked:(id)sender {
ConnectHotspotTipViewController *vc = [[ConnectHotspotTipViewController alloc] initWithNibName:nil bundle:nil];
@@ -46,39 +68,14 @@
#pragma mark - IFishHotpotUDPHelperDelegate
- (void)udpHelperCommandExecutedSuccess:(IFishUDPHelperBackMsgModel *)backModel {
self.HUD.labelText = @"设备即将重";
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
NSArray*deviceArry=[[DataCenter defaultDtacenter]valueForKey:@"deviceInfo"];
[deviceArry enumerateObjectsUsingBlock:^(DeviceModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj.macAddress isEqualToString:backModel.senderMacAddress]) {
self.currentDevice = obj;
self.HUD.labelText = @"请切当前Ifish-xxxx到其他网络,以进行后续操作";
*stop = YES;
}
}];
[[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
BOOL networkOk = NO;
if (status == AFNetworkReachabilityStatusReachableViaWiFi) {
if (![[self currentWifiSSID].lowercaseString hasPrefix:@"ifish"]) {
networkOk = YES;
}
} else if (status == AFNetworkReachabilityStatusReachableViaWWAN) {
networkOk = YES;
}
if (!networkOk) {
return;
}
if (self.isDeleteingDevice) {
return;
}
self.isDeleteingDevice = YES;
[self deletDevice];
}];
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
});
self.HUD.labelText = @"设备正在恢复出厂设";
NSArray*deviceArry=[[DataCenter defaultDtacenter]valueForKey:@"deviceInfo"];
[deviceArry enumerateObjectsUsingBlock:^(DeviceModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj.macAddress isEqualToString:backModel.senderMacAddress]) {
self.currentDevice = obj;
*stop = YES;
}
}];
}
- (void)udpHelperMessage:(NSString *)msg {
@@ -103,7 +100,7 @@
}
-(void)deletDevice{
self.HUD.labelText = @"开始删除设备";
self.HUD.labelText = @"正在删除设备";
//先判断此设备是否有关联 摄像头
//DeviceModel*deviceModel=[_deviceArr objectAtIndex:indexpath.row];
//要删除的设设备id
@@ -132,7 +129,7 @@
NSDictionary*resultDic=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
NSLog(@"result:%@",resultDic[@"result"]);
if ([resultDic[@"result"] isEqualToString:@"100"]) {
self.HUD.labelText = @"删除成功";
self.HUD.labelText = @"设备删除成功";
//重置数据库
NSArray*deviceArry=[[DataCenter defaultDtacenter]valueForKey:@"deviceInfo"];
NSMutableArray *newArr = [NSMutableArray arrayWithArray:deviceArry];
@@ -143,8 +140,9 @@
}
}
[[DataCenter defaultDtacenter] setValue: newArr forKey:@"deviceInfo"];
[self.navigationController popViewControllerAnimated:YES];
}else if ([resultDic[@"result"] isEqualToString:@"101"]){
self.HUD.labelText = @"删除失败";
self.HUD.labelText = @"设备删除失败";
}else if ([resultDic[@"result"] isEqualToString:@"301"]){
self.HUD.labelText = @"请求验证失败,请重新登陆";
}else if ([resultDic[@"result"] isEqualToString:@"302"]){