//
|
// EZAPConfigResultViewController.m
|
// EZOpenSDKDemo
|
//
|
// Created by linyong on 2018/6/5.
|
// Copyright © 2018年 Ezviz. All rights reserved.
|
//
|
|
#import "EZAPConfigResultViewController.h"
|
#import "GlobalKit.h"
|
#import "EZOpenSDK.h"
|
#import "EZProbeDeviceInfo.h"
|
#import "Toast+UIView.h"
|
#import "EZDeviceTableViewController.h"
|
|
|
#define MAX_COUNT (20)
|
|
@interface EZAPConfigResultViewController ()
|
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *loadingIndicator;
|
@property (weak, nonatomic) IBOutlet UIImageView *successImageView;
|
@property (weak, nonatomic) IBOutlet UIButton *doneBtn;
|
@property (weak, nonatomic) IBOutlet UIButton *retryBtn;
|
@property (weak, nonatomic) IBOutlet UILabel *msgLabel;
|
@property (nonatomic,strong) NSTimer *timer;
|
@property (nonatomic,assign) NSInteger addCount;
|
@end
|
|
@implementation EZAPConfigResultViewController
|
|
- (void)viewDidLoad
|
{
|
[super viewDidLoad];
|
|
self.title = NSLocalizedString(@"wifi_ap_add_device_title", @"添加设备");
|
|
[self initSubviews];
|
|
[self startTimer];
|
}
|
|
- (void) viewWillDisappear:(BOOL)animated
|
{
|
[super viewWillDisappear:animated];
|
|
[self stopTimer];
|
}
|
|
|
#pragma mark - views
|
|
- (void) initSubviews
|
{
|
[self.loadingIndicator startAnimating];
|
}
|
|
#pragma mark - actions
|
|
- (IBAction)doneBtnClick:(id)sender
|
{
|
NSArray *viewControllers = self.navigationController.viewControllers;
|
for (UIViewController *vc in viewControllers)
|
{
|
if ([vc isKindOfClass:[EZDeviceTableViewController class]])
|
{
|
((EZDeviceTableViewController *)vc).needRefresh = YES;
|
[self.navigationController popToViewController:vc animated:YES];
|
break;
|
}
|
}
|
}
|
|
- (IBAction)retryBtnClick:(id)sender
|
{
|
self.msgLabel.hidden = NO;
|
self.loadingIndicator.hidden = NO;
|
[self.loadingIndicator startAnimating];
|
self.retryBtn.hidden = YES;
|
|
[self startTimer];
|
}
|
|
#pragma mark - callback
|
|
- (void) timerCallback
|
{
|
self.addCount ++;
|
|
if (self.addCount > MAX_COUNT)
|
{
|
[self timeoutProcess];
|
return;
|
}
|
|
[self addProcess];
|
}
|
|
#pragma mark - supoort
|
|
- (void) startTimer
|
{
|
[self stopTimer];
|
|
self.addCount = 0;
|
|
self.timer = [NSTimer scheduledTimerWithTimeInterval:5.0
|
target:self
|
selector:@selector(timerCallback)
|
userInfo:nil
|
repeats:YES];
|
}
|
|
- (void) stopTimer
|
{
|
if (!self.timer)
|
{
|
return;
|
}
|
|
if ([self.timer isValid])
|
{
|
[self.timer invalidate];
|
}
|
|
self.timer = nil;
|
}
|
|
- (void) addProcess
|
{
|
[EZOPENSDK probeDeviceInfo:[GlobalKit shareKit].deviceSerialNo
|
deviceType:[GlobalKit shareKit].deviceModel
|
completion:^(EZProbeDeviceInfo *deviceInfo, NSError *error) {
|
if (error)
|
{
|
[self probeErrorProcessWithError:error];
|
}
|
else
|
{
|
// [EZOpenSDK addDevice:[GlobalKit shareKit].deviceSerialNo
|
// verifyCode:[GlobalKit shareKit].deviceVerifyCode
|
// completion:^(NSError *error) {
|
// if (error)
|
// {
|
// [self addErrorProcessWithError:error];
|
// }
|
// else
|
// {
|
// [self successProcess];
|
// }
|
// }];
|
[EZHttpUtil.sharedManager addDeviceByHDL:[GlobalKit shareKit].deviceSerialNo
|
verifyCode:[GlobalKit shareKit].deviceVerifyCode
|
completion:^(ResponseData *responseData) {
|
|
if (!responseData.success)
|
{
|
[self addErrorProcessWithError:responseData];
|
}
|
else
|
{
|
[self successProcess];
|
}
|
|
}];
|
|
}
|
}];
|
}
|
|
- (void) probeErrorProcessWithError:(NSError *) error
|
{
|
NSString *msg = nil;
|
if (error.code == EZ_HTTPS_DEVICE_ADDED_MYSELF || error.code == EZ_HTTPS_DEVICE_ONLINE_ADDED)
|
{
|
msg = NSLocalizedString(@"ad_already_added",@"您已添加过此设备");
|
|
self.loadingIndicator.hidden = YES;
|
[self.loadingIndicator stopAnimating];
|
|
self.successImageView.hidden = NO;
|
self.doneBtn.hidden = NO;
|
}
|
else if (error.code == EZ_HTTPS_DEVICE_ONLINE_IS_ADDED ||
|
error.code == EZ_HTTPS_DEVICE_OFFLINE_IS_ADDED)
|
{
|
msg = NSLocalizedString(@"ad_added_by_others",@"此设备已被别人添加");
|
}
|
else
|
{
|
//continue
|
return;
|
}
|
|
self.msgLabel.hidden = YES;
|
[self stopTimer];
|
[self.view makeToast:msg duration:2.0 position:@"center"];
|
}
|
|
//- (void) addErrorProcessWithError:(NSError *) error
|
//{
|
// NSString *msg = nil;
|
// if (error.code == 120010)
|
// {
|
// msg = NSLocalizedString(@"device_verify_code_wrong", @"验证码错误");
|
// }
|
// else if (error.code == 120020)
|
// {
|
// msg = NSLocalizedString(@"ad_already_added", @"您已添加过此设备");
|
// }
|
// else if (error.code == 120022)
|
// {
|
// msg = NSLocalizedString(@"ad_added_by_others", @"此设备已被别人添加");
|
// }
|
// else
|
// {
|
// msg = NSLocalizedString(@"wifi_add_fail", @"添加失败");
|
// }
|
//
|
// [self.view makeToast:msg duration:2.0 position:@"center"];
|
// self.msgLabel.hidden = YES;
|
//}
|
|
- (void) addErrorProcessWithError:(ResponseData *)responseData
|
{
|
NSString *msg = nil;
|
if ([responseData.code isEqual: @"20010"])
|
{
|
msg = NSLocalizedString(@"device_verify_code_wrong", @"验证码错误");
|
}
|
else if ([responseData.code isEqual: @"20017"])
|
{
|
msg = NSLocalizedString(@"ad_already_added", @"您已添加过此设备");
|
}
|
else if ([responseData.code isEqual: @"20013"])
|
{
|
msg = NSLocalizedString(@"ad_added_by_others", @"此设备已被别人添加");
|
}
|
else
|
{
|
msg = NSLocalizedString(@"wifi_add_fail", @"添加失败");
|
}
|
|
[self.view makeToast:msg duration:2.0 position:@"center"];
|
self.msgLabel.hidden = YES;
|
}
|
|
- (void) timeoutProcess
|
{
|
[self stopTimer];
|
|
[self.view makeToast:@"timeout,add device fail." duration:2.0 position:@"center"];
|
self.retryBtn.hidden = NO;
|
self.msgLabel.hidden = YES;
|
}
|
|
- (void) successProcess
|
{
|
[self stopTimer];
|
self.loadingIndicator.hidden = YES;
|
[self.loadingIndicator stopAnimating];
|
|
self.successImageView.hidden = NO;
|
self.doneBtn.hidden = NO;
|
self.msgLabel.hidden = YES;
|
}
|
|
|
@end
|