Wi-Fi设置

## Wi-Fi设置 * 导入头文件`#import <H3CMagicKit/H3CGatewayObject+WiFiSet.h>` ### 一、获取Wi-Fi相关信息接口 ``` [H3CGatewayObject getWifiNormalInfoWithSuccess:^(H3CWiFiModel * _Nonnull wifiModel) { self.dualBandFlag = [wifiModel.dualBandFlag intValue]; //是否开启二合一 self.defaultName = wifiModel.defaultName; self.wifiNameOne = wifiModel.admin.wifiName; // 2.4G名称 self.wifiName5GOrigin = wifiModel.admin.wifiName5G; //5Gwifi名称 self.wifiNameTwo = wifiModel.admin.wifiName5G; //5Gwifi名称 self.wifiPwsOne = wifiModel.admin.wifiNewPassword; //2.4G密码 self.wifiPwsTwo = wifiModel.admin.wifiNewPassword5G; //5Gwifi密码 self.wifiHideStatus = [wifiModel.admin.wifiHideStatus intValue]; //2.4G是否隐藏 self.wifiHideStatus5G = [wifiModel.admin.wifiHideStatus5G intValue]; //5G是否隐藏 self.wifiName = wifiModel.guest.wifiName; self.wifiName5G = wifiModel.guest.wifiName5G; [H3CGatewayObject getWifiCtrlInfoWithSuccess:^(H3CWiFiModel * _Nonnull wifiModel) { self.WifiStatusOne = [wifiModel.wifiStatusCtrl intValue]; self.wifiStatusTwo = [wifiModel.wifi5GStatusCtrl intValue]; self.radioCtrlOne = [wifiModel.radioCtrl intValue]; self.radioCtrlTwo = [wifiModel.radioCtrl5G intValue]; self.channelCtrlOne = [wifiModel.channelCtrl intValue]; self.channelCtrlTwo = [wifiModel.channelCtrl5G intValue]; } failure:^(H3CError *error) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:error.errorDesc]; }]; } failure:^(H3CError *error) { [MHToast hiddenProgressHUD]; [MHToast showToastHUD:error.errorDesc]; }]; ``` >w 获取的数据,不展示在页面上也要缓存起来,用于传入设置接口 ### 二、设置Wi-Fi相关信息接口 #### 2.1 Wi-Fi基本信息设置 ``` [H3CGatewayObject setWifiInfoWithAttrs:attrModel success:^(id obj) { } failure:^(H3CError *error) { if (error.retCode == 73) { [MHToast showToastHUD:@"请勿输入生僻字符"]; return; } else if (error.retCode == -1 && isLocal) { // 超时,有可能配置成功断开Wi-Fi了需要提醒用户 return; } [MHToast showToastHUD:error.errorDesc]; }]; ``` >w 设置Wi-Fi信息,接口传入的`AttrsModel`的每个属性值,若不需要修改的值,把上次获取(Get)到的值一并传入(不能为空)。 #### 2.2 Wi-Fi基本控制 控制功率、信道、Wi-Fi是否隐藏。 ``` H3CWiFiPowerChannelHiddenAttrs *attrModel = [[H3CWiFiPowerChannelHiddenAttrs alloc] init]; attrModel.radioCtrl = @(self.radioCtrlOne); attrModel.radioCtrl5G = @(self.radioCtrlTwo); attrModel.channelCtrl = @(self.channelCtrlOne); attrModel.channelCtrl5G = @(self.channelCtrlTwo); attrModel.hideStatus = @(self.wifiHideStatus); attrModel.hideStatus5G = @(self.wifiHideStatus5G); [H3CGatewayObject setWifiPowerAndChannelAndHiddenWithAttrs:attrModel success:^(id obj) { } failure:^(H3CError *error) { }]; ``` >w 控制Wi-Fi,接口传入的`attrModel `的每个属性值,若不需要修改的值,把上次获取(Get)到的值一并传入(不能为空 #### 2.3 Wi-Fi开关 ``` [H3CGatewayObject setWifiOnOrOffWithState24G:wifiOnState24G state5G:wifiOnState5G success:^(id obj) { } failure:^(H3CError *error) { }]; ```