萤石云 iOSSDK,移植跨平台相关工程
Davin
2024-12-18 b4e1288a9b63eb820e9c9489c56aac4bf6b31067
EZSDK/EZSDK/EZ/UIViewControllers/EZAPWiFiConfigViewController.m
@@ -9,7 +9,7 @@
#import "EZAPWiFiConfigViewController.h"
#import "GlobalKit.h"
#import <SystemConfiguration/CaptiveNetwork.h>
#import "EZHCNetDeviceSDK.h"
#import <EZOpenSDKFramework/EZHCNetDeviceSDK.h>
#import "EZAPConfigResultViewController.h"
#import "Toast+UIView.h"
@@ -23,6 +23,14 @@
@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;
@@ -61,9 +69,12 @@
- (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];
    
@@ -78,6 +89,31 @@
    [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
@@ -139,17 +175,55 @@
                                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