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) {
}];
```