| | |
| | | #import "EZAPWiFiConfigViewController.h" |
| | | #import "GlobalKit.h" |
| | | #import <SystemConfiguration/CaptiveNetwork.h> |
| | | #import "EZHCNetDeviceSDK.h" |
| | | #import <EZOpenSDKFramework/EZHCNetDeviceSDK.h> |
| | | #import "EZAPConfigResultViewController.h" |
| | | #import "Toast+UIView.h" |
| | | |
| | |
| | | @property (weak, nonatomic) IBOutlet UILabel *stepTwoLabel; |
| | | @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *processingIndicator; |
| | | @property (weak, nonatomic) IBOutlet UIButton *addBtn; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UILabel *stepThreeLable; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UILabel *tipLable; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UILabel *step1TipLable; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UILabel *passwordLable; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UILabel *nameL; |
| | | |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UIButton *toCopBtn; |
| | | @property (unsafe_unretained, nonatomic) IBOutlet UIButton *toSetBtn; |
| | | |
| | | @property (nonatomic,copy) NSString *devicWifiName; |
| | | @property (nonatomic,strong) NSTimer *timer; |
| | |
| | | - (void) initSubviews |
| | | { |
| | | self.processingIndicator.hidden = YES; |
| | | self.devicWifiName = [NSString stringWithFormat:@"EZVIZ_%@",[GlobalKit shareKit].deviceSerialNo]; |
| | | |
| | | // self.devicWifiName = [NSString stringWithFormat:@"EZVIZ_%@",[GlobalKit shareKit].deviceSerialNo]; |
| | | self.devicWifiName = [NSString stringWithFormat:@"%@_%@",[GlobalKit shareKit].WiFiConfigPrefix,[GlobalKit shareKit].deviceSerialNo]; |
| | | self.wifiNameLabel.text = self.devicWifiName; |
| | | self.wifiPwdLabel.text = [NSString stringWithFormat:@"EZVIZ_%@",[GlobalKit shareKit].deviceVerifyCode]; |
| | | // self.wifiPwdLabel.text = [NSString stringWithFormat:@"EZVIZ_%@",[GlobalKit shareKit].deviceVerifyCode]; |
| | | self.wifiPwdLabel.text = [NSString stringWithFormat:@"%@_%@",[GlobalKit shareKit].WiFiConfigPrefix,[GlobalKit shareKit].deviceVerifyCode]; |
| | | NSString *str = [NSString stringWithFormat:NSLocalizedString(@"wifi_step_two_msg",@"进入手机系统Wi-Fi设置界面,选择名称为%@的网络,用提示的密码进行连接"),self.devicWifiName]; |
| | | NSMutableAttributedString *aStr = [[NSMutableAttributedString alloc] initWithString:str]; |
| | | |
| | |
| | | [aStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [aStr length])]; |
| | | |
| | | self.stepTwoLabel.attributedText = aStr; |
| | | |
| | | //第三步 |
| | | NSString *stepThreeStr=HDLEZLocallizedString(@"wifi_config_step_three"); |
| | | NSString *tipStr=HDLEZLocallizedString(@"wifi_config_step_three_tip"); |
| | | NSString *step3FinalStr=[NSString stringWithFormat:@"%@ %@",stepThreeStr,tipStr]; |
| | | NSMutableAttributedString *aTipStr = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@ %@",stepThreeStr,tipStr]]; |
| | | //关键字符颜色调整 |
| | | [aTipStr addAttribute:NSForegroundColorAttributeName |
| | | value:[UIColor redColor] |
| | | range:[step3FinalStr rangeOfString:tipStr]]; |
| | | self.stepThreeLable.attributedText = aTipStr; |
| | | self.stepThreeLable.adjustsFontSizeToFitWidth=YES; |
| | | |
| | | |
| | | //设置国际化语言 |
| | | self.tipLable.text=HDLEZLocallizedString(@"wifi_config_tip"); |
| | | self.tipLable.adjustsFontSizeToFitWidth=YES; |
| | | self.step1TipLable.text=HDLEZLocallizedString(@"wifi_config_step_1_tips"); |
| | | self.nameL.text=HDLEZLocallizedString(@"wifi_config_name"); |
| | | self.passwordLable.text=HDLEZLocallizedString(@"wifi_config_step_2_password"); |
| | | [self.toCopBtn setTitle:HDLEZLocallizedString(@"wifi_config_copy_pwd") forState:UIControlStateNormal]; |
| | | [self.toSetBtn setTitle:HDLEZLocallizedString(@"wifi_config_to_setting") forState:UIControlStateNormal]; |
| | | [self.addBtn setTitle:HDLEZLocallizedString(@"wifi_ap_add_device_title") forState:UIControlStateNormal]; |
| | | |
| | | |
| | | } |
| | | |
| | | -(void) startAction |
| | |
| | | UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; |
| | | pasteboard.string = self.wifiPwdLabel.text; |
| | | |
| | | [self.view makeToast:@"done" duration:1.5 position:@"center"]; |
| | | [self.view makeToast:NSLocalizedString(@"done",@"确定") duration:1.5 position:@"center"]; |
| | | } |
| | | |
| | | - (IBAction)addBtnClick:(id)sender |
| | |
| | | password:self.password |
| | | deviceSerial:[GlobalKit shareKit].deviceSerialNo |
| | | verifyCode:[GlobalKit shareKit].deviceVerifyCode |
| | | result:^(BOOL ret) { |
| | | if (ret) |
| | | { |
| | | [self configSuccess]; |
| | | } |
| | | else |
| | | { |
| | | [self configFailed]; |
| | | NSLog(@"config failed"); |
| | | } |
| | | }]; |
| | | deviceStatus:^(EZWifiConfigStatus status, NSString * _Nonnull deviceSerial) { |
| | | // EZStrong(self); |
| | | switch (status) { |
| | | case DEVICE_WIFI_SENT_SUCCESS:// 向设备发送WiFi信息成功 |
| | | // 等待设备配网,如果wifi密码错误,最后会回调DEVICE_PLATFORM_REGIST_FAILED |
| | | NSLog(@"向设备发送WiFi信息成功"); |
| | | [self configSuccess]; |
| | | |
| | | // [EZToast show:@"向设备发送WiFi信息成功"]; |
| | | break; |
| | | case DEVICE_WIFI_SENT_FAILED:// 向设备发送WiFi信息失败 |
| | | // 配网失败,可以重试 |
| | | NSLog(@"配网失败,请稍后重试"); |
| | | // [EZToast show:@"配网失败,请稍后重试"]; |
| | | break; |
| | | case DEVICE_PLATFORM_REGISTED:// 设备注册平台成功 |
| | | // TODO 将设备添加到自己账号下 |
| | | NSLog(@"设备注册平台成功"); |
| | | // [EZToast show:@"设备注册平台成功"]; |
| | | |
| | | // [self stopAction]; |
| | | // self.addBtn.hidden = NO; |
| | | break; |
| | | case DEVICE_PLATFORM_REGIST_FAILED:// 设备注册平台失败 |
| | | // TODO 可以自行开启新一轮轮询 |
| | | NSLog(@"设备注册平台失败"); |
| | | // [EZToast show:@"设备注册平台失败"]; |
| | | [self stopAction]; |
| | | |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | }]; |
| | | // [EZOPENSDK startAPConfigWifiWithSsid:self.ssid |
| | | // password:self.password |
| | | // deviceSerial:[GlobalKit shareKit].deviceSerialNo |
| | | // verifyCode:[GlobalKit shareKit].deviceVerifyCode |
| | | // result:^(BOOL ret) { |
| | | // if (ret) |
| | | // { |
| | | // [self configSuccess]; |
| | | // } |
| | | // else |
| | | // { |
| | | // [self configFailed]; |
| | | // NSLog(@"config failed"); |
| | | // } |
| | | // }]; |
| | | } |
| | | |
| | | - (void) stopConfigWifi |
| | |
| | | { |
| | | NSString *ssid = [self currentSsid]; |
| | | |
| | | if (ssid && [ssid isEqualToString:self.devicWifiName]) |
| | | { |
| | | // if (ssid && [ssid isEqualToString:self.devicWifiName]) |
| | | // { |
| | | // return YES; |
| | | // } |
| | | |
| | | //2021-10-19 判断条件,改为只匹配后面序列号字段 |
| | | if(ssid && [ssid hasSuffix:[GlobalKit shareKit].deviceSerialNo]){//字符串末尾有序列号字符 |
| | | return YES; |
| | | } |
| | | |