QuickConfigurationViewController.mm 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //
  2. // QuickConfigurationViewController.m
  3. // FunSDKDemo
  4. //
  5. // Created by wujiangbo on 2018/11/15.
  6. // Copyright © 2018年 wujiangbo. All rights reserved.
  7. //
  8. #import "QuickConfigurationViewController.h"
  9. #import "QuickConfigurationView.h"
  10. #import "DeviceManager.h"
  11. #import <Masonry/Masonry.h>
  12. #import "Header.h"
  13. @interface QuickConfigurationViewController ()<DeviceManagerDelegate>
  14. {
  15. DeviceManager *deviceManager; //设备管理器
  16. QuickConfigurationView *configView; //快速配置界面
  17. }
  18. @end
  19. @implementation QuickConfigurationViewController
  20. - (void)viewDidLoad {
  21. [super viewDidLoad];
  22. self.view.backgroundColor = [UIColor whiteColor];
  23. //设备管理器
  24. deviceManager = [[DeviceManager alloc] init];
  25. deviceManager.delegate = self;
  26. configView = [[QuickConfigurationView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)];
  27. self.view = configView;
  28. __weak typeof(self) weakSelf = self;
  29. //开始快速配置
  30. configView.startConfig = ^(NSString * _Nonnull ssid, NSString * _Nonnull password) {
  31. [weakSelf startQuickConfiguration:ssid psw:password];
  32. };
  33. //停止快速配置
  34. configView.stopConfig = ^{
  35. [weakSelf stopQuickConfiguration];
  36. };
  37. //添加设备
  38. configView.addDevice = ^{
  39. [weakSelf addDevice];
  40. };
  41. //设置导航栏
  42. [self setNaviStyle];
  43. }
  44. - (void)viewWillAppear:(BOOL)animated{
  45. configView.wifiTF.text = [NSString getCurrent_SSID];
  46. }
  47. - (void)setNaviStyle {
  48. self.navigationItem.title = TS("quick_configuration");
  49. UIBarButtonItem *leftBtn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"new_back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(popViewController)];
  50. self.navigationItem.leftBarButtonItem = leftBtn;
  51. }
  52. #pragma mark - button event
  53. -(void)popViewController{
  54. if([SVProgressHUD isVisible]){
  55. [SVProgressHUD dismiss];
  56. }
  57. [self.navigationController popViewControllerAnimated:YES];
  58. }
  59. #pragma mark 开始快速配置
  60. -(void)startQuickConfiguration:(NSString *)ssid psw:(NSString *)password{
  61. [deviceManager startConfigWithSSID:ssid password:password];
  62. }
  63. #pragma mark 结束快速配置
  64. -(void)stopQuickConfiguration{
  65. [deviceManager stopConfig];
  66. }
  67. #pragma mark 添加设备
  68. -(void)addDevice{
  69. DeviceObject *object = [configView.deviceArray objectAtIndex:0];
  70. [SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];
  71. //通过序列号添加
  72. [deviceManager addDeviceByDeviseSerialnumber:object.deviceMac deviceName:object.deviceMac devType:object.nType];
  73. }
  74. #pragma mark - funsdk回调处理
  75. -(void)quickConfiguration:(id)device result:(int)resurt{
  76. if (resurt >= 0) {
  77. //快速配置成功,刷新界面
  78. [configView stopTiming];
  79. [configView.deviceArray removeAllObjects];
  80. [configView.deviceArray addObject:device];
  81. [configView createPlayView];
  82. }
  83. }
  84. @end