Przeglądaj źródła

更新添加设备提示

lijian 1 rok temu
rodzic
commit
b221cea421
31 zmienionych plików z 191 dodań i 60 usunięć
  1. BIN
      .DS_Store
  2. 1 1
      Podfile
  3. 2 2
      Podfile.lock
  4. 2 2
      Pods/Manifest.lock
  5. BIN
      Temperature/.DS_Store
  6. 5 5
      Temperature/AppConfig/RDSConfig.h
  7. BIN
      Temperature/Assets.xcassets/.DS_Store
  8. BIN
      Temperature/Assets.xcassets/AddRoom/.DS_Store
  9. BIN
      Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/1031705384000_.pic 1.jpg
  10. BIN
      Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/1031705384000_.pic.jpg
  11. 22 0
      Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/Contents.json
  12. 14 5
      Temperature/Base.lproj/Main.storyboard
  13. 12 10
      Temperature/ControlModule/Home/Controller/RDSAddRoomVC.m
  14. 4 3
      Temperature/ControlModule/Home/Controller/RDSAddRoomVC.xib
  15. 17 3
      Temperature/ControlModule/Home/Controller/RDSBindDeviceVC.m
  16. 1 1
      Temperature/ControlModule/Home/Controller/RDSBindSubDeviceVC.m
  17. 34 4
      Temperature/ControlModule/Home/Controller/RDSControlWebVC.m
  18. 4 5
      Temperature/ControlModule/Home/Controller/RDSHomeVC.m
  19. 10 2
      Temperature/ControlModule/Home/Controller/RDSResetDeviceVC.m
  20. 7 7
      Temperature/ControlModule/Home/Controller/RDSResetDeviceVC.xib
  21. 2 1
      Temperature/ControlModule/Home/Model/RDSDeviceHeader.h
  22. 2 0
      Temperature/ControlModule/Home/Model/RDSDeviceTypeModel.m
  23. 4 2
      Temperature/ControlModule/Home/View/RDSDeviceTypeCell.m
  24. 13 1
      Temperature/ControlModule/Home/View/RDSRoomCell.m
  25. 5 3
      Temperature/ControlModule/Room/Controller/RDSRoomVC.m
  26. 2 0
      Temperature/ControlModule/Room/Model/RDSRoomModel.m
  27. 2 2
      Temperature/Main/LoginRegister/RDSUserProtocolViewController.m
  28. 3 0
      Temperature/NetWork/RDSDemoApiHelper.h
  29. 21 0
      Temperature/NetWork/RDSDemoApiHelper.m
  30. 1 1
      Temperature/Tools/TheBabyBlueTools/RDSDeviceCmd.h
  31. 1 0
      Temperature/Tools/TheBabyBlueTools/RDSDeviceCmd.m

BIN
.DS_Store


+ 1 - 1
Podfile

@@ -17,7 +17,7 @@ target 'Temperature' do
 use_frameworks!
 
 pod 'AFNetworking'
-pod 'SDWebImage'
+pod 'SDWebImage', '~> 5.0'
 pod 'SVProgressHUD'
 pod 'FMDB'
 pod 'MJRefresh'

+ 2 - 2
Podfile.lock

@@ -40,7 +40,7 @@ DEPENDENCIES:
   - MJExtension
   - MJRefresh
   - MMKV
-  - SDWebImage
+  - SDWebImage (~> 5.0)
   - SVProgressHUD
   - TYPagerController
   - WebViewJavascriptBridge (~> 6.0)
@@ -77,6 +77,6 @@ SPEC CHECKSUMS:
   WebViewJavascriptBridge: 7f5bc4d3581e672e8f32bd0f812d54bc69bb8e29
   YBPopupMenu: ace6d58993c6013e44eea203fd5d1e00a039a0b6
 
-PODFILE CHECKSUM: a9f7f4d645e8cc7d13f24c22cb0a79ea4eb7b156
+PODFILE CHECKSUM: 532433921fa5b6744230926de1ab4dedc8183577
 
 COCOAPODS: 1.14.3

+ 2 - 2
Pods/Manifest.lock

@@ -40,7 +40,7 @@ DEPENDENCIES:
   - MJExtension
   - MJRefresh
   - MMKV
-  - SDWebImage
+  - SDWebImage (~> 5.0)
   - SVProgressHUD
   - TYPagerController
   - WebViewJavascriptBridge (~> 6.0)
@@ -77,6 +77,6 @@ SPEC CHECKSUMS:
   WebViewJavascriptBridge: 7f5bc4d3581e672e8f32bd0f812d54bc69bb8e29
   YBPopupMenu: ace6d58993c6013e44eea203fd5d1e00a039a0b6
 
-PODFILE CHECKSUM: a9f7f4d645e8cc7d13f24c22cb0a79ea4eb7b156
+PODFILE CHECKSUM: 532433921fa5b6744230926de1ab4dedc8183577
 
 COCOAPODS: 1.14.3

BIN
Temperature/.DS_Store


+ 5 - 5
Temperature/AppConfig/RDSConfig.h

@@ -14,7 +14,7 @@
 #define kPrivacyPolicy @"https://app.yongxulvjian.com/#/PrivacyPolicy"
 
 #define kHelpList @"https://app.yongxulvjian.com/HelpList"
-
+#define kDeviceH5Url @"https://app.yongxulvjian.com/#/deviceManage/"
 #define kAppIdOnAppStore @"1665374482" // 用于检测更新
 
 
@@ -25,10 +25,10 @@
 //#define kBaseUrlHost_test        @"http://114.115.251.196:8299/api/v1" // API地址
 
 // 生产环境
-//#define kBaseUrlHost        @"https://app.yongxulvjian.com/api/v1"
-//#define kBaseUrlHeadImg     @"https://app.yongxulvjian.com"
-#define kBaseUrlHost        @"http://114.115.251.196:8299/api/v1"
-#define kBaseUrlHeadImg     @"http://yongxu.yehaoji.cn:18199"
+#define kBaseUrlHost        @"https://app.yongxulvjian.com/api/v1"
+#define kBaseUrlHeadImg     @"https://app.yongxulvjian.com"
+//#define kBaseUrlHost        @"http://114.115.251.196:8299/api/v1"
+//#define kBaseUrlHeadImg     @"http://yongxu.yehaoji.cn:18199"
 
 
 

BIN
Temperature/Assets.xcassets/.DS_Store


BIN
Temperature/Assets.xcassets/AddRoom/.DS_Store


BIN
Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/1031705384000_.pic 1.jpg


BIN
Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/1031705384000_.pic.jpg


+ 22 - 0
Temperature/Assets.xcassets/AddRoom/image_reset_5.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "1031705384000_.pic.jpg",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "1031705384000_.pic 1.jpg",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 14 - 5
Temperature/Base.lproj/Main.storyboard

@@ -1,24 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <scenes>
         <!--View Controller-->
         <scene sceneID="tne-QT-ifu">
             <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController">
+                <viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
                     <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
-                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+                        <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
                         <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                     </view>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
             </objects>
+            <point key="canvasLocation" x="132" y="-34"/>
         </scene>
     </scenes>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
 </document>

+ 12 - 10
Temperature/ControlModule/Home/Controller/RDSAddRoomVC.m

@@ -16,6 +16,7 @@
 @property (weak, nonatomic) IBOutlet UILabel *homeNameLab;
 @property (weak, nonatomic) IBOutlet UITextField *roomNameTF;
 @property (weak, nonatomic) IBOutlet UITextField *deviceIDTF;// 设备名,用来连接设备
+@property (weak, nonatomic) IBOutlet UIView *scanDeviceName;
 
 @end
 
@@ -35,6 +36,11 @@
     _roomNameTF.delegate = self;
     _deviceIDTF.delegate = self;
     
+    // 如果是红外产品
+    if (self.deviceTypeModel.deviceType == RDSDeviceType_YongXuSpirit) {
+        _deviceIDTF.text = @"ESP_GATTS_DEMO";
+        _scanDeviceName.hidden = true;
+    }
 
 }
 
@@ -65,27 +71,23 @@
     
 //    if(TheDataManager.rooms.count == 0){
     switch (self.deviceTypeModel.deviceType) {
-        case RDSDeviceType_MasterController: {
-            RDSInputWiFiVC *vc = [[RDSInputWiFiVC alloc] init];
+
+        case RDSDeviceType_SubController: {
+            RDSBindSubDeviceVC *vc = [[RDSBindSubDeviceVC alloc] init];
             vc.roomName = _roomNameTF.text;
             vc.deviceID = _deviceIDTF.text;
             vc.deviceTypeModel = self.deviceTypeModel;
             [self pushViewController:vc animated:YES];
             break;
         }
-        case RDSDeviceType_SubController: {
-            RDSBindSubDeviceVC *vc = [[RDSBindSubDeviceVC alloc] init];
+        default:
+        {
+            RDSInputWiFiVC *vc = [[RDSInputWiFiVC alloc] init];
             vc.roomName = _roomNameTF.text;
             vc.deviceID = _deviceIDTF.text;
             vc.deviceTypeModel = self.deviceTypeModel;
             [self pushViewController:vc animated:YES];
-            break;
         }
-        case RDSDeviceType_IntelligentWaterCollector: {
-            break;
-        }
-        default:
-            break;
     }
     
     

+ 4 - 3
Temperature/ControlModule/Home/Controller/RDSAddRoomVC.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_0" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -14,6 +14,7 @@
                 <outlet property="deviceIDTF" destination="r96-Xm-Hnh" id="tXc-47-D4Q"/>
                 <outlet property="homeNameLab" destination="5qP-k7-oW7" id="usF-jt-KPD"/>
                 <outlet property="roomNameTF" destination="sDr-9O-ohW" id="LWp-fM-no3"/>
+                <outlet property="scanDeviceName" destination="nou-NF-lGc" id="sOh-Zc-2LT"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>
         </placeholder>
@@ -179,7 +180,7 @@
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>
         <systemColor name="systemGray3Color">
-            <color red="0.7803921568627451" green="0.7803921568627451" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <color red="0.78039215689999997" green="0.78039215689999997" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
         </systemColor>
     </resources>
 </document>

+ 17 - 3
Temperature/ControlModule/Home/Controller/RDSBindDeviceVC.m

@@ -95,7 +95,6 @@
     
     NSString *msg = [NSString stringWithFormat:@"Step %ld  ----  %d", reply.bindStep, reply.code];
     [RDSHudShower showCenterToast:msg];
-    
     dispatch_async(dispatch_get_main_queue(), ^{
         self.tipsLab.text = @"正在配网";
     });
@@ -108,8 +107,23 @@
             self.tipsLab.text = @"配网完成";
             
             [weakSelf p_cancelTimeout];
-            [weakSelf p_setupGif];
-            
+            [RDSDemoApiHelper rds_addRoomName:self->_roomName control_number:reply.deviceCode device_type_id:self.deviceTypeModel.record_id success:^(id responseObject) {
+                
+                if ([responseObject[@"code"] intValue] != 0) {
+                    [RDSHudShower showBottomToast:responseObject[@"message"]];
+                    [self.navigationController popViewControllerAnimated:YES];
+                }else{
+                    [weakSelf p_cancelTimeout];
+                    [RDSHudShower showCenterToast:@"绑定成功"];
+                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                        [weakSelf p_setupGif];
+                    });
+                }
+                
+            } failure:^(NSError *error) {
+                [RDSHudShower showBottomToast:@"连接服务器失败"];
+                [self.navigationController popViewControllerAnimated:YES];
+            }];
             [TheMapHelper rds_startLocationSevice:^(RDSUserLocation *userLocation) {
                 [weakSelf p_updateLocation];
             }];

+ 1 - 1
Temperature/ControlModule/Home/Controller/RDSBindSubDeviceVC.m

@@ -31,7 +31,7 @@
     
     
     RDS_WEAKSELF(weakSelf)
-    [RDSDemoApiHelper rds_addRoomName:_roomName control_number:_deviceID device_type_id:self.deviceTypeModel.record_id success:^(id responseObject) {
+    [RDSDemoApiHelper rds_createRoom:_roomName control_number:_deviceID device_type_id:self.deviceTypeModel.record_id success:^(id responseObject) {
         
         if ([responseObject[@"code"] intValue] != 0) {
             [RDSHudShower showBottomToast:responseObject[@"message"]];

+ 34 - 4
Temperature/ControlModule/Home/Controller/RDSControlWebVC.m

@@ -23,7 +23,7 @@
 - (instancetype)initWithRecordId:(NSString *)recordId code:(NSString *)code {
     self = [super init];
     if (self) {
-        self.requestURL = [NSString stringWithFormat:@"https://app.yongxulvjian.com/#/Room/%@/%@", recordId, code];
+        self.requestURL = [NSString stringWithFormat:@"https://app.yongxulvjian.com/#/deviceManage/%@/%@", recordId, code];
     }
     return self;
 }
@@ -33,12 +33,34 @@
     // Do any additional setup after loading the view.
     [self configSubviews];
     [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.requestURL]]];
+    [RDSHudShower showWithStatus:nil];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    [self.navigationController setNavigationBarHidden:YES];
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+    [super viewWillDisappear:animated];
+    [self.navigationController setNavigationBarHidden:NO];
 }
 
 - (void)configSubviews {
     [self.view addSubview:self.webView];
     [self.webView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.edges.mas_equalTo(UIEdgeInsetsZero);
+        make.left.right.equalTo(self.view);
+        if (@available(iOS 11, *)) {
+                make.top.equalTo(self.view.mas_safeAreaLayoutGuideTop);
+            } else {
+                make.top.equalTo(self.mas_topLayoutGuide);
+            }
+        if (@available(iOS 11.0, *)) {
+            make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
+        } else {
+            make.bottom.equalTo(self.view.mas_bottom);
+        }
+       //make.edges.mas_equalTo(UIEdgeInsetsZero);
     }];
 }
 
@@ -60,11 +82,19 @@
         config.allowsInlineMediaPlayback = YES;
         _webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
         _webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
-//        _webView.UIDelegate = self;
-//        _webView.navigationDelegate = self;
+        _webView.UIDelegate = self;
+        _webView.navigationDelegate = self;
         [self jsBridge];
     }
     return _webView;
 }
 
+- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
+    [RDSHudShower dismissHUD];
+}
+
+- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error {
+    [RDSHudShower dismissHUD];
+}
+
 @end

+ 4 - 5
Temperature/ControlModule/Home/Controller/RDSHomeVC.m

@@ -22,8 +22,8 @@
 #import "WeatherModel.h"
 #import "RDSMemberModel.h"
 #import "RDSRoomModel.h"
-
 #import "GCDTimer.h"// 轮询定时器
+#import "RDSControlWebVC.h"
 
 static NSString * const RDSRoomCellID = @"RDSRoomCellID";
 @interface RDSHomeVC ()<UICollectionViewDelegate, UICollectionViewDataSource>
@@ -333,11 +333,10 @@ static NSString * const RDSRoomCellID = @"RDSRoomCellID";
             [self pushViewController:vc animated:YES];
             break;
         }
-        case RDSDeviceType_IntelligentWaterCollector: {
-            break;
+        default:{
+            RDSControlWebVC *vc = [[RDSControlWebVC alloc] initWithRecordId:roomModel.record_id code:roomModel.code];
+            [self pushViewController:vc animated:YES];
         }
-        default:
-            break;
     }
     
     

+ 10 - 2
Temperature/ControlModule/Home/Controller/RDSResetDeviceVC.m

@@ -43,12 +43,20 @@
         }
         case RDSDeviceType_IntelligentWaterCollector: {
             // 添加集分水器
-            _lab1.text = @"1、集分水器开机状态下,长按『菜单键』3s直到界面出现配网二维码";
-            _lab2.text = @"2、使用APP扫码绑定";
+            _lab1.text = @"1、永续精灵通电状态下,长按5秒钟,语音提示:进入配网状态 ,蓝色灯为快闪状态";
+            _lab2.text = @"2、将手机靠近设备开始配网";
             _imgView1.image = [UIImage imageNamed:@"img_reset_1"];
             _imgView2.image = [UIImage imageNamed:@"img_reset_2"];
             break;
         }
+        case RDSDeviceType_YongXuSpirit: {
+            // 添加永续精灵
+            _lab1.text = @"1、永续精灵通电状态下,长按5秒钟,语音提示:开始蓝牙配网 ,蓝色灯为快闪状态";
+            _lab2.text = @"2、将手机靠近设备开始配网";
+            _imgView1.image = [UIImage imageNamed:@"image_reset_5"];
+            _imgView2.image = [UIImage imageNamed:@"image_reset_5"];
+            break;
+        }
         default:
             break;
     }

+ 7 - 7
Temperature/ControlModule/Home/Controller/RDSResetDeviceVC.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina4_7" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -24,25 +24,25 @@
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1、长按『▲』和『▼』5秒进入配网模式,直到界面出现配网二维码" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rcz-y8-onc">
-                    <rect key="frame" x="50" y="24.999999999999996" width="275" height="36.666666666666657"/>
+                    <rect key="frame" x="50" y="45" width="275" height="36.5"/>
                     <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="13"/>
                     <color key="textColor" red="0.23921570180000001" green="0.23921570180000001" blue="0.23921570180000001" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
                     <nil key="highlightedColor"/>
                 </label>
                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_reset_1" translatesAutoresizingMaskIntoConstraints="NO" id="kIs-jh-D8v">
-                    <rect key="frame" x="62.666666666666657" y="56.666666666666657" width="249.99999999999997" height="249.99999999999997"/>
+                    <rect key="frame" x="62.5" y="76.5" width="250" height="250"/>
                 </imageView>
                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2、使用APP扫码绑定" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mpd-nC-RDr">
-                    <rect key="frame" x="50" y="324.33333333333331" width="275" height="18.333333333333314"/>
+                    <rect key="frame" x="50" y="324.5" width="275" height="18.5"/>
                     <fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="13"/>
                     <color key="textColor" red="0.23921570180000001" green="0.23921570180000001" blue="0.23921570180000001" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
                     <nil key="highlightedColor"/>
                 </label>
                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_reset_2" translatesAutoresizingMaskIntoConstraints="NO" id="iBN-md-EPY">
-                    <rect key="frame" x="62.666666666666657" y="332.66666666666669" width="249.99999999999997" height="250.00000000000006"/>
+                    <rect key="frame" x="62.5" y="333" width="250" height="250"/>
                 </imageView>
                 <button opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uI6-S8-ZGx">
-                    <rect key="frame" x="40" y="586.33333333333337" width="295" height="48"/>
+                    <rect key="frame" x="40" y="586.5" width="295" height="48"/>
                     <color key="backgroundColor" red="0.027450980390000001" green="0.70196078429999997" blue="0.72549019609999998" alpha="1" colorSpace="calibratedRGB"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="48" id="ZLF-wB-kCm"/>

+ 2 - 1
Temperature/ControlModule/Home/Model/RDSDeviceHeader.h

@@ -13,7 +13,8 @@
 typedef NS_ENUM (NSInteger, RDSDeviceType) {
     RDSDeviceType_MasterController,             // 主控制器
     RDSDeviceType_SubController,                // 分控制器
-    RDSDeviceType_IntelligentWaterCollector     // 集分水器
+    RDSDeviceType_IntelligentWaterCollector ,    // 集分水器
+    RDSDeviceType_YongXuSpirit, // 永续精灵
 };
 
 #endif /* RDSDeviceHeader_h */

+ 2 - 0
Temperature/ControlModule/Home/Model/RDSDeviceTypeModel.m

@@ -17,6 +17,8 @@
         _deviceType = RDSDeviceType_SubController;
     } else if ([code isEqualToString:@"YXK-P/DN-JF-8"]) {
         _deviceType = RDSDeviceType_IntelligentWaterCollector;
+    } else if([code isEqualToString:@"INFRARED"]) {
+        _deviceType = RDSDeviceType_YongXuSpirit;
     }
 }
 

+ 4 - 2
Temperature/ControlModule/Home/View/RDSDeviceTypeCell.m

@@ -119,7 +119,8 @@
                                      @"YXK-F/86-FG-A": [self containerViewLayerWithColorStart:@"#FAE06A" colorEnd:@"#F0B756"],
                                      @"YXK-Z/86-FC-B": [self containerViewLayerWithColorStart:@"#8BFAE1" colorEnd:@"#21B191"],
                                      @"YXK-F/86-FC-B": [self containerViewLayerWithColorStart:@"#55DCDF" colorEnd:@"#4AB0E4"],
-                                     @"YXK-P/DN-JF-8": [self containerViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"]};
+                                     @"YXK-P/DN-JF-8": [self containerViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"],
+                                     @"INFRARED": [self containerViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"]};
     }
     return _codeToContainerColorDic;
 }
@@ -130,7 +131,8 @@
                                     @"YXK-F/86-FG-A": [self circularViewLayerWithColorStart:@"#FAE06A" colorEnd:@"#F0B756"],
                                     @"YXK-Z/86-FC-B": [self circularViewLayerWithColorStart:@"#8BFAE1" colorEnd:@"#21B191"],
                                     @"YXK-F/86-FC-B": [self circularViewLayerWithColorStart:@"#55DCDF" colorEnd:@"#4AB0E4"],
-                                    @"YXK-P/DN-JF-8": [self circularViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"]};
+                                    @"YXK-P/DN-JF-8": [self circularViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"],
+                                    @"INFRARED": [self circularViewLayerWithColorStart:@"#B1EB5C" colorEnd:@"#60A736"]};
     }
     return _codeToCircularColorDic;
 }

+ 13 - 1
Temperature/ControlModule/Home/View/RDSRoomCell.m

@@ -52,14 +52,26 @@
     } else {
         self.deviceTypeLabel.text = model.device_type_name;
     }
+    // 如果是永续精灵则隐藏相应的组件显示
+    if (model.deviceType == RDSDeviceType_YongXuSpirit) {
+        self.deviceSwitch.hidden = true;
+    } else {
+        self.deviceSwitch.hidden = false;
+        self.lineView.hidden = false;
+        self.statusLabel.hidden = false;
+        self.pointView.hidden = false;
+        self.deviceSwitch.on = model.power;
+    }
     
-    self.deviceSwitch.on = model.power;
     
 //    RDSHomeModel *currentHome = TheDataManager.detailHome;
     if (model.is_online) {
         self.statusLabel.text = [NSString stringWithFormat:@"温度%@°C 湿度%@%%", @(model.temperature), @(model.humidity)];
         self.statusLabel.textColor = [UIColor colorWithHexString:@"#14C9C8"];
         self.pointView.backgroundColor = [UIColor colorWithHexString:@"#14C9C8"];
+        if (model.deviceType == RDSDeviceType_YongXuSpirit) {
+            self.statusLabel.text = @"在线";
+        }
     } else {
         self.statusLabel.text = @"已离线";
         self.statusLabel.textColor = [UIColor colorWithHexString:@"#FAAD14"];

+ 5 - 3
Temperature/ControlModule/Room/Controller/RDSRoomVC.m

@@ -14,6 +14,7 @@
 #import <MJRefresh/MJRefresh.h>
 #import "GCDTimer.h"// 轮询定时器
 #import "RDSSelectDeviceMainVC.h"
+#import "RDSControlWebVC.h"
 
 static NSString * const RDSRoomCellID = @"RDSRoomCellID";
 @interface RDSRoomVC ()<UICollectionViewDelegate, UICollectionViewDataSource>
@@ -228,10 +229,11 @@ static NSString * const RDSRoomCellID = @"RDSRoomCellID";
             [self pushViewController:vc animated:YES];
             break;
         }
-        case RDSDeviceType_IntelligentWaterCollector: {
-            break;
+        
+        default:{
+            RDSControlWebVC *vc = [[RDSControlWebVC alloc] initWithRecordId:roomModel.record_id code:roomModel.code];
+            [self pushViewController:vc animated:YES];
         }
-        default:
             break;
     }
 

+ 2 - 0
Temperature/ControlModule/Room/Model/RDSRoomModel.m

@@ -17,6 +17,8 @@
         _deviceType = RDSDeviceType_SubController;
     } else if ([code isEqualToString:@"YXK-P/DN-JF-8"]) {
         _deviceType = RDSDeviceType_IntelligentWaterCollector;
+    } else if([code isEqualToString:@"INFRARED"]) {
+        _deviceType = RDSDeviceType_YongXuSpirit;
     }
 }
 

+ 2 - 2
Temperature/Main/LoginRegister/RDSUserProtocolViewController.m

@@ -32,12 +32,12 @@
 
 - (void)viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
-//    [self.navigationController setNavigationBarHidden:YES];
+    [self.navigationController setNavigationBarHidden:YES];
 }
 
 - (void)viewWillDisappear:(BOOL)animated {
     [super viewWillDisappear:animated];
-//    [self.navigationController setNavigationBarHidden:NO];
+    [self.navigationController setNavigationBarHidden:NO];
 }
 
 - (void)p_loadData {

+ 3 - 0
Temperature/NetWork/RDSDemoApiHelper.h

@@ -184,6 +184,9 @@ AS_SINGLETON(RDSDemoApiHelper)
 + (void)rds_addRoomName:(NSString *)name control_number:(NSString *)control_number device_type_id:(NSString *)device_type_id success:(void (^)(id responseObject))success
                    failure:(void (^)(NSError *error))failure;
 
++ (void)rds_createRoom:(NSString *)name control_number:(NSString *)control_number device_type_id:(NSString *)device_type_id success:(void (^)(id responseObject))success
+                   failure:(void (^)(NSError *error))failure;
+
 
 /// 删除房间
 /// - Parameters:

+ 21 - 0
Temperature/NetWork/RDSDemoApiHelper.m

@@ -625,6 +625,27 @@ DEF_SINGLETON(RDSDemoApiHelper)
                                progress:nil];
 }
 
++ (void) rds_createRoom:(NSString *)name control_number:(NSString *)control_number device_type_id:(NSString *)device_type_id success:(void (^)(id))success failure:(void (^)(NSError *))failure {
+    NSDictionary *param = @{
+        @"name" : name,
+        @"control_number" : control_number,
+        @"home_id" : TheDataManager.current_home_id,
+        @"device_type_id": device_type_id,
+        @"is_master" : @1
+    };
+    NSDictionary *hearder = @{
+        @"Authorization" : TheDataManager.token,
+        @"X-YX-APP": TheApiHelper.appHeader
+    };
+    
+    [RDSDemoApiHelper postWithUrlString:@"rooms"
+                              paraments:param
+                                headers:hearder
+                                success:success
+                                   fail:failure
+                               progress:nil];
+}
+
 
 + (void)rds_deleteRoomsRecord_ids:(NSArray *)record_ids success:(void (^)(id))success failure:(void (^)(NSError *))failure{
     

+ 1 - 1
Temperature/Tools/TheBabyBlueTools/RDSDeviceCmd.h

@@ -73,7 +73,7 @@ typedef void(^RDSCmdReceiveCmdFinish)(RDSDeviceReply *reply);
 @property (nonatomic, strong) NSString *msg;
 @property (nonatomic, assign) RDSMsgType msgType;
 @property (nonatomic, assign) RDSBindStep bindStep;
-
+@property (nonatomic, strong) NSString *deviceCode;
 @property (nonatomic, assign) int code;
 
 

+ 1 - 0
Temperature/Tools/TheBabyBlueTools/RDSDeviceCmd.m

@@ -32,6 +32,7 @@
     RDSDeviceReply *reply = [[RDSDeviceReply alloc] init];
     reply.bindStep = [dic[@"s"] integerValue];
     reply.code = [dic[@"c"] intValue];
+    reply.deviceCode = [dic objectForKey:@"id"];
     reply.msg = string;
     
     finish(reply);