Wi-Fi高级设置
## Wi-Fi高级设置
* 导入头文件`#import <H3CMagicKit/H3CGatewayObject+WiFiSet.h>`
### 一、5G备用Wi-Fi开关
对于支持Wi-Fi6的产品默认开启Wi-Fi默认为6代,但是部分终端不支持Wi-Fi6,这种情况可以快开启路由器的5G备用Wi-Fi。
#### 1.1 获取备用Wi-Fi信息
```
[H3CGatewayObject get5GStandbyWifiInfoWithSuccess:^(H3C5GStandbyModel * _Nonnull standbyModel) {
} failure:^(H3CError *error) {
}];
```
#### 1.2 设置备用Wi-Fi开关
```
[H3CGatewayObject set5GStandbyWifiWithOpen:isOpen success:^(H3C5GStandbyModel * _Nonnull standbyModel) {
} failure:^(H3CError *error) {
}];
```
>w 功能需要能力集第63位支持
### 二、Wi-Fi 6模式
若终端无法扫描到无线信号,可尝试关闭此开关切换到Wi-Fi 5模式。
#### 2.1 获取Wi-Fi 6模式开关状态
```
[H3CGatewayObject getWifi6ModelInfoWithSuccess:^(H3CWifi6KeepModel *wifi6KeepModel) {
} failure:^(H3CError *error) {
}];
```
#### 2.2 设置Wi-Fi 6模式开关状态
```
[H3CGatewayObject setWifi6ModelWifiWithOpen:isOpen success:^(id obj) {
} failure:^(H3CError *error) {
}];
```
>w 功能需要能力集第72位支持
### 三、Wi-Fi频宽设置
Wi-Fi模式和信道频宽设置。
Wi-Fi模式和信道频宽2.4G和5G需要分开配置。
#### 3.1 Wi-Fi模式和信道频宽配置列表
路由器支持哪些Wi-Fi模式和频宽需要通过接口获取。
```
[H3CGatewayObject getWiFiWorkModeAndBandWidthCofigWithSuccess:^(H3CWiFiModeConfigModel * _Nonnull config) {
} failure:^(H3CError *error) {
}];
```
#### 3.2 获取当前模式和频宽
根据配置列表和频宽展示页面
```
[H3CGatewayObject getWiFiCurrentWorkModeAndBandWidthWithSuccess:^(H3CWiFiModeStateModel * _Nonnull stateModel) {
} failure:^(H3CError *error) {
}];
```
#### 3.3 设置当前模式和频宽
```
[H3CGatewayObject setWiFiWorkModeAndBandWidthWithType:type stateModel:stateModel success:^(id obj) {
} failure:^(H3CError *error) {
}];
```
>w 功能需要能力集第65位支持
### 四、Wi-Fi加密方式设置
#### 4.1 Wi-Fi加密方式和加密算法配置列表
路由器支持哪些加密方式和算法需要通过接口获取。
```
[H3CGatewayObject getWiFiEncryptModeAndAlgorithmCofigWithSuccess:^(H3CWiFiEncryptConfigModel * _Nonnull config) {
} failure:^(H3CError *error) {
}];
```
#### 4.2 获取当前Wi-Fi加密方式和加密算法
根据配置列表和当前前Wi-Fi加密方式和加密算法展示页面
```
[H3CGatewayObject getWiFiCurrentEncryptModeAndAlgorithmWithSuccess:^(H3CWiFiEncryptStateModel * _Nonnull stateModel) {
} failure:^(H3CError *error) {
}];
```
#### 4.3 设置当前Wi-Fi加密方式和加密算法
```
[H3CGatewayObject setWiFiEncryptModeAndAlgorithmWithStateModel:self.stateModel success:^(id obj) {
} failure:^(H3CError *error) {
[MHToast hiddenProgressHUD];
[MHToast showToastHUD:error.errorDesc];
}];
```
>w 1、功能需要能力集第66位支持;
2、不加密加密方式设置为`unset` 。
### 五、客人Wi-Fi
>w 客人Wi-Fi功能需要能力集67位支持
#### 5.1 获取客人Wi-Fi信息
```
[H3CGatewayObject getWiFiGuestInfoWithSuccess:^(H3CGuestWiFIInfoModel * _Nonnull guestModel) {
} failure:^(H3CError *error) {
}];
```
#### 5.2 设置客人Wi-Fi
```
[H3CGatewayObject setWiFiGuestInfoWithWiFiStates:self.isOpened wifiName:wifiName wifiIsOpen5G:self.isOpened wifiName5G:wifiName5G password:password activeDuaration:self.duration success:^(id obj) {
} failure:^(H3CError *error) {
}];
```
>w 功能需要能力集第67位支持
#### 六、 能力集
| 能力集序号|能力集属性|描述|
|-|-|-|
|63| isSupport5GStandby | 是否支持开启5G备用wifi|
|65| isSupport5GFrequencyBandWith | 是否支持wifi频宽设置|
|66| isSupport5GWiFiEncryptMode | 是否支持wifi加密方式设置|
|67| isSupportGuestWiFi | 是否支持访客Wi-Fi|
|72| isSupportWiFi6OrWifi5Switch |是否支持WiFi6和WiFi5切换|