From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/DAL/Server/HttpServerRequest.cs |  536 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 497 insertions(+), 39 deletions(-)

diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 6054436..731c865 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -80,6 +80,30 @@
             return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_ArmSensorHistoricalData, requestJson);
         }
         /// <summary>
+        /// 鑾峰彇闂ㄩ攣鍘嗗彶璁板綍
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="pageSize"></param>
+        /// <param name="pageNo"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetVideoDoorlockHistory(string deviceId, string pageSize, string pageNo)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("pageSize", pageSize);
+            d.Add("pageNo", pageNo);
+
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPost(NewAPI.Api_Post_ArmSensorHistoricalData, requestJson);
+        }
+
+
+
+
+
+
+        /// <summary>
         /// 璇诲彇鏈�杩戜竴涓湀鐨勬暟鎹�
         /// </summary>
         /// <returns></returns>
@@ -137,7 +161,7 @@
         /// 鍒锋柊Token
         /// </summary>
         /// <returns></returns>
-        public string RefreshToken()
+        public string RefreshToken(bool canRefresh = true)
         {
             var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj()
             {
@@ -163,6 +187,17 @@
             {
                 UserInfo.Current.LastTime = DateTime.MinValue;
             }
+#if __IOS__
+            else if (revertObj.Code == "10001")
+            {
+                if (canRefresh)
+                {
+                    UserInfo.Current.RefreshToken = SiriKit.NSUserDefaultsHelper.DataSuite.StringForKey(SiriKit.NSUserDefaultsHelper.StorageKeys.GLOBAL_GRefreshToken);
+                    //UserInfo.Current.AccessToken = SiriKit.NSUserDefaultsHelper.DataSuite.StringForKey(SiriKit.NSUserDefaultsHelper.StorageKeys.GLOBAL_GAccessToken);
+                    RefreshToken(false);
+                }
+            }
+#endif
             return revertObj.Code;
         }
 
@@ -544,7 +579,7 @@
                 var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>>(resultObj.Data.ToString());
                 if (homeList == null || homeList.Count == 0)
                 {
-                    if (DB_ResidenceData.Instance.CurrentRegion.id != "")
+                    if (DB_ResidenceData.Instance.CurrentRegion!=null && DB_ResidenceData.Instance.CurrentRegion.id != "")
                     {
                         Shared.Application.RunOnMainThread(() =>
                         {
@@ -674,8 +709,8 @@
                         {
                             if (mHomeGatewayRes.Count > 0)
                             {
-                                DB_ResidenceData.Instance.HomeGateway = mHomeGatewayRes[0];
-                                DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes[0].gatewayStatus;
+                                DB_ResidenceData.Instance.HomeGateway = mHomeGatewayRes[0];//缃戝叧鐘舵��
+                                HDL_ON.DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes[0].gatewayStatus;
                                 DB_ResidenceData.Instance.SaveResidenceData();
                                 return revertObj.Code;
                             }
@@ -697,6 +732,34 @@
             }
         }
         /// <summary>
+        /// 鑾峰彇浣忓畢浜や粯閾炬帴
+        /// </summary>
+        /// <returns></returns>
+        public ResponsePackNew GetHouseDeliveryUrl()
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            var jsonString = HttpUtil.GetSignRequestJson(d);
+            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.APi_Post_GetHoserDeliverUrl, jsonString);
+            return revertObj;
+        }
+        /// <summary>
+        /// 浣忓畢浜や粯鍥炴粴
+        /// </summary>
+        /// <returns></returns>
+        public ResponsePackNew RollBack()
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("houseId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("communityId", DB_ResidenceData.Instance.CurrentRegion.communityId);
+            d.Add("flowRecordContent", "onPro浜や粯鍥炴粴");
+            d.Add("projectFlowRecordActionEnum", "DELIVERY_ROLLBACK");
+            var jsonString = HttpUtil.GetSignRequestJson(d);
+            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.APi_Post_UpdateProjectDebugStatus, jsonString);
+            return revertObj;
+        }
+
+        /// <summary>
         /// 鑾峰彇缃戝叧淇℃伅
         /// </summary>
         public string GetGatewayInfo()
@@ -713,7 +776,7 @@
                 var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<HomeGatewayInfo>(revertObj.Data.ToString());
                 if (mHomeGatewayRes != null)
                 {
-                    DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes.gatewayStatus;
+                    HDL_ON.DriverLayer.Control.Ins.GatewayOnline_Cloud = mHomeGatewayRes.gatewayStatus;
                 }
             }
             return revertObj.Code;
@@ -1042,6 +1105,22 @@
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_UpdateFace, requestJson);
         }
+        /// <summary>
+        /// 瀹跺涵鎴愬憳缁戝畾璐﹀彿
+        /// </summary>
+        /// <param name="childId"></param>
+        /// <param name="faceUrl"></param>
+        /// <returns></returns>
+        public ResponsePackNew SubChildBindAccount(string childId, string account)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("childId", childId);
+            d.Add("account", account);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_BindAccount, requestJson);
+        }
+        
 
         /// <summary>
         /// 淇敼浣忓畢璋冭瘯鏉冮檺
@@ -1459,12 +1538,14 @@
         }
 #endregion
 
-#region 鑾峰彇澶╂皵閮ㄥ垎
+        #region 鑾峰彇澶╂皵閮ㄥ垎
         /// <summary>
         /// 鑾峰彇鎸囧畾缁忕含搴︾殑鍩庡競淇℃伅澶╂皵淇℃伅
         /// </summary>
         public void GetCityWeatherInfo(string lon, string lat)
         {
+            if (lon == "0" || lat == "0")
+                return;
             MainPage.cityInfo.lon = lon;
             MainPage.cityInfo.lat = lat;
 
@@ -1510,6 +1591,7 @@
                             MainPage.cityInfo.lowestTemperature = jt.GetValue("lowestTemperature").ToString();
                             MainPage.cityInfo.highestTemperature = jt.GetValue("highestTemperature").ToString();
                             MainPage.CityWeatherAction?.Invoke();
+                            HDL_ON.UI.HomePage.LoadEvent_RefreshAir();
                             break;
                         }
                         catch (Exception ex)
@@ -1517,16 +1599,8 @@
                             MainPage.Log($"get weather error : {ex.Message}");
                         }
                     }
-                    System.Threading.Thread.Sleep(1000);
+                    System.Threading.Thread.Sleep(5000);
                 }
-                Shared.Application.RunOnMainThread(() =>
-                {
-                    try
-                    {
-                        HDL_ON.UI.HomePage.LoadEvent_RefreshAir();
-                    }
-                    catch { }
-                });
             });
         }
         ///// <summary>
@@ -2225,7 +2299,7 @@
             d.Add("actions", actionObjs);
 
             var requestJson = HttpUtil.GetSignRequestJson(d);
-            MainPage.Log($"api鍔熻兘鎺у埗锛歿requestJson}");
+            MainPage.Log($"api鍙戦�佹帶鍒讹細{requestJson}");
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ControlDevice, requestJson);
         }
         /// <summary>
@@ -2245,6 +2319,23 @@
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDevice, requestJson);
         }
+
+        /// <summary>
+        /// 缂栬緫璁惧淇℃伅
+        /// 缁戝畾鍏崇郴銆佸悕绉般�佹敹钘�
+        /// </summary>
+        /// <returns></returns>
+        public ResponsePackNew UpdataDevcieName(string deviceId,string name)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("name", name);
+
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDevice, requestJson);
+        }
+
         /// <summary>
         /// 缂栬緫璁惧淇℃伅
         /// 缁戝畾鍏崇郴銆佸悕绉般�佹敹钘�
@@ -2387,7 +2478,7 @@
 
 #endregion
 
-#region Kaede --鍦烘櫙鍔熻兘--------------------------
+        #region Kaede --鍦烘櫙鍔熻兘--------------------------
         /// <summary>
         /// 鑾峰彇鍦烘櫙鍒楄〃
         /// 鎴块棿ID鍙┖锛岄粯璁ゆ煡璇綇瀹呬笅鎵�鏈夋埧闂�
@@ -2519,9 +2610,9 @@
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code;
         }
-#endregion
+        #endregion
 
-#region Kaede --鎴块棿鍔熻兘--------------------------
+        #region Kaede --鎴块棿鍔熻兘--------------------------
         /// <summary>
         /// 鑾峰彇鎴块棿鍒楄〃
         /// </summary>
@@ -2596,10 +2687,10 @@
             return pack;
         }
 
-#endregion
+        #endregion
 
 
-#region Kaede -- 瀹夐槻鎺ュ彛____________________________
+        #region Kaede -- 瀹夐槻鎺ュ彛____________________________
         /// <summary>
         /// 鑾峰彇瀹夐槻鍒楄〃
         /// </summary>
@@ -2763,10 +2854,10 @@
             return pack;
         }
 
-#endregion
+        #endregion
 
 
-#region Kaede --绗笁鏂瑰搧鐗屽姛鑳�--------------------------
+        #region Kaede --绗笁鏂瑰搧鐗屽姛鑳�--------------------------
         /// <summary>
         /// 鑾峰彇绗笁鏂瑰搧鐗屽垪琛�
         /// </summary>
@@ -2796,13 +2887,11 @@
         /// <returns></returns>
         public ResponsePackNew Search3tyIotDevice(string companyId)
         {
-
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("companyId", companyId);
             var requestJson = HttpUtil.GetSignRequestJson(d);
 
             var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Search3tyIotDevice, requestJson);
-
             return pack;
         }
 
@@ -2878,9 +2967,9 @@
             return pack;
         }
 
-#endregion
+        #endregion
 
-#region 鈻� 钀ょ煶浜慡DK鐩稿叧鎺ュ彛_________________________
+        #region 鈻� 钀ょ煶浜慡DK鐩稿叧鎺ュ彛_________________________
         /// <summary>
         /// 娌充笢鑾峰彇钀ょ煶浜戝瓙璐﹀彿token鐨勬帴鍙�
         /// 2021-07-07 鏂版柟妗堟帴鍙h皟鏁村鎺�
@@ -2893,10 +2982,10 @@
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_EZ_GetChildToken, requestJson);
         }
-#endregion
+        #endregion
 
 
-#region 鈻� 鍙瀵硅_________________________
+        #region 鈻� 鍙瀵硅_________________________
         /// <summary>
         /// 妫�鏌ヤ綇瀹呮槸鍚︾粦瀹氫赴鏋�
         /// </summary>
@@ -3014,9 +3103,383 @@
             //IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code);
             return listSortLog;
         }
+        /// <summary>
+        /// 鑾峰彇闂ㄩ攣涓存椂瀵嗙爜
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDoorTempPassword(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetTempPasswrod, requestJson);
+        }
+        /// <summary>
+        /// 鍒涘缓闂ㄩ攣涓存椂瀵嗙爜
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew CreateDoorTempPassword(string deviceId,string beginTime,string endTime)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("beginTime", beginTime);
+            d.Add("endTime", endTime);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CreateTempPasswrod, requestJson);
+        }
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣涓存椂瀵嗙爜
+        /// </summary>
+        /// <returns></returns>
+        public ResponsePackNew DelDoorTempPassword(string deviceId, string pwdId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("pwdId", pwdId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DelTempPasswrod, requestJson);
+        }
 
-#endregion
-#region 鈻� 闊崇璇█鎺у埗鐩稿叧_________________________
+
+        #region 瑙嗛闂ㄩ攣  2023-07-07 16:47:20
+        /// <summary>
+        /// 鑾峰彇钀ょ煶闂ㄩ攣鐢ㄦ埛鍒楄〃
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDoorlockUserList(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDoorlockUserList, requestJson);
+        }
+
+        /// <summary>
+        /// 淇敼闂ㄩ攣鐢ㄦ埛澶囨敞
+        /// </summary>
+        /// <returns></returns>
+        public ResponsePackNew EditDoorlockUserName(string deviceId,string lockUserIndex,string remarkName)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            d.Add("remarkName", remarkName);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_setDoorUserRemark, requestJson);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣鐢ㄦ埛鏁板瓧瀵嗙爜
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="lockUserIndex"></param>
+        /// <returns></returns>
+        public ResponsePackNew DeleteDoorlockUserNumberPassword(string deviceId, string lockUserIndex)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteDoorlockUser_NumberPassword, requestJson);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣鐢ㄦ埛鍗″瘑鐮�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="lockUserIndex"></param>
+        /// <returns></returns>
+        public ResponsePackNew DeleteDoorlockUserCardPassword(string deviceId, string lockUserIndex)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteDoorlockUser_DeleteCardPassword, requestJson);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣鐢ㄦ埛鎸囩汗瀵嗙爜
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="lockUserIndex"></param>
+        /// <returns></returns>
+        public ResponsePackNew DeleteDoorlockUserFingerPassword(string deviceId, string lockUserIndex)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteDoorlockUser_DeleteFingerPassword, requestJson);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣鐢ㄦ埛浜鸿劯瀵嗙爜
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="lockUserIndex"></param>
+        /// <returns></returns>
+        public ResponsePackNew DeleteDoorlockUserFacePassword(string deviceId, string lockUserIndex)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteDoorlockUser_DeleteFacePassword, requestJson);
+        }
+
+
+        /// <summary>
+        /// 鍒犻櫎闂ㄩ攣鐢ㄦ埛
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="lockUserIndex"></param>
+        /// <returns></returns>
+        public ResponsePackNew DeleteDoorlockUser(string deviceId, string lockUserIndex)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("lockUserIndex", lockUserIndex);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteDoorlockUser_DeleteUser, requestJson);
+        }
+
+        /// <summary>
+        /// 鏌ヨ鎸夐敭涓ゆ寮�闂�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDoubleClickOpenDoorSwitch(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDoubleClickOpenDoorSwitch, requestJson);
+        }
+        /// <summary>
+        /// 璁剧疆鎸夐敭涓ゆ寮�闂�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="enabled">鎸夐敭涓ゆ寮�闂ㄥ紑鍏� 0-鍏抽棴,1娆℃寜閿紑闂� 1-寮�鍚紝2娆℃寜閿紑闂�</param>
+        /// <returns></returns>
+        public ResponsePackNew SetDoubleClickOpenDoorSwitch(string deviceId,int enabled)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("enabled", enabled);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetDoubleClickOpenDoorSwitch, requestJson);
+        }
+
+        /// <summary>
+        /// 鏌ヨ绔ラ攣寮�鍏�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetChildLockSwitch(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetChildLockSwitch, requestJson);
+        }
+        /// <summary>
+        /// 璁剧疆绔ラ攣寮�鍏�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="enabled">绔ラ攣寮�鍏� 0-鍏抽棴 1-寮�鍚�</param>
+        /// <returns></returns>
+        public ResponsePackNew SetChildLockSwitch(string deviceId, int enabled)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("enabled", enabled);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetChildLockSwitch, requestJson);
+        }
+
+
+        /// <summary>
+        /// 鏌ヨ鍙嶉攣閰嶇疆
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetAntiLockCfg(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetAntiLockCfg, requestJson);
+        }
+        /// <summary>
+        /// 璁剧疆鍙嶉攣閰嶇疆
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="enabled"></param>
+        /// <returns></returns>
+        public ResponsePackNew SetAntiLockCfg(string deviceId, bool enabled)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("enabled", enabled);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetAntiLockCfg, requestJson);
+        }
+
+
+        /// <summary>
+        /// 鏌ヨ甯冩挙闃茬姸鎬�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDefenceStatus(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDefenceStatus, requestJson);
+        }
+        /// <summary>
+        /// 璁剧疆甯冩挙闃茬姸鎬�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="armStatus">甯冮槻鐘舵�� disarmed-鎾ら槻 armed-宸插竷闃�</param>
+        /// <param name="defenceMode">甯冮槻妯″紡 global-鍏ㄥ眬 atHome-鍦ㄥ outDoor-澶栧嚭 sleep-鐫$湢</param>
+        /// <returns></returns>
+        public ResponsePackNew SetDefenceStatus(string deviceId, bool defance)//,string defenceMode)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            if(defance)
+                d.Add("armStatus", "armed");
+            else
+                d.Add("armStatus", "disarmed");
+            d.Add("defenceMode", "global");
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetDefenceStatus, requestJson);
+        }
+
+        /// <summary>
+        /// 鏌ヨ浜鸿劯寮�閿侀厤缃�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetFaceUnlockCfg(string deviceId)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetFaceRecognitionUnlockCfg, requestJson);
+        }
+        /// <summary>
+        /// 璁剧疆浜鸿劯寮�閿侀厤缃�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="enabled"></param>
+        /// <param name="mode">瑙i攣鏂瑰紡 0-鑷姩 1-鎵嬪姩</param>
+        /// <returns></returns>
+        public ResponsePackNew SetFaceUnlockCfg(string deviceId, bool enabled,int mode)
+        {
+            Dictionary<string, object> d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("enabled", enabled);
+            d.Add("mode", mode);//瑙i攣鏂瑰紡 0-鑷姩 1-鎵嬪姩
+            d.Add("sensitivity", 0);//鐏垫晱搴� 0-楂� 1-浣�
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetFaceRecognitionUnlockCfg, requestJson);
+        }
+
+        /// <summary>
+        /// 鏌ヨ闂ㄩ攣绯荤粺澹伴煶
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDoorLockSystemSound(string deviceId)
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDoorLockSystemSound, requestJson);
+        }
+
+        /// <summary>
+        /// 璁剧疆闂ㄩ攣绯荤粺澹伴煶
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="sound"></param>
+        /// <returns></returns>
+        public ResponsePackNew SetDoorLockSystemSound(string deviceId,int sound)
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("sound", sound);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetDoorLockSystemSound, requestJson);
+        }
+
+        /// <summary>
+        /// 鏌ヨ闂ㄩ搩鎻愮ず闊�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <returns></returns>
+        public ResponsePackNew GetDoorBellTone(string deviceId)
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDoorBellTone, requestJson);
+        }
+
+        /// <summary>
+        /// 璁剧疆闂ㄩ搩鎻愮ず闊�
+        /// </summary>
+        /// <param name="deviceId"></param>
+        /// <param name="volume"></param>
+        /// <returns></returns>
+        public ResponsePackNew SetDoorBellTone(string deviceId, int volume)
+        {
+            var d = new Dictionary<string, object>();
+            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            d.Add("deviceId", deviceId);
+            d.Add("volume", volume);
+            var requestJson = HttpUtil.GetSignRequestJson(d);
+            return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_SetDoorBellTone, requestJson);
+        }
+
+
+
+
+        #endregion
+
+        #endregion
+
+        #region 鈻� 闊崇璇█鎺у埗鐩稿叧_________________________
         /// <summary>
         /// 鑾峰彇宸叉巿鏉冪殑闊崇鍒楄〃
         /// </summary>
@@ -3080,7 +3543,7 @@
             var requestJson = HttpUtil.GetSignRequestJson(updateSpeakerDeviceListObj);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Speaker_DeviceList_Update, requestJson);
         }
-#endregion
+        #endregion
 
         /// <summary>
         /// 缁戝畾source闈㈡澘
@@ -3141,11 +3604,6 @@
             var requestJson = HttpUtil.GetSignRequestJson(d);
             return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetCustomerInfo, requestJson);
         }
-
-
-
-
-
 
 
         #region 鍏変紡鍌ㄨ兘
@@ -3219,7 +3677,6 @@
             var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetGroupControlInfos, requestJson);
             return pack;
         }
-
         /// <summary>
         /// 鑾峰彇缇ゆ帶璇︽儏
         /// </summary>
@@ -3270,9 +3727,10 @@
         {
             Dictionary<string, object> d = new Dictionary<string, object>();
             d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+            //d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId);
             d.Add("infos", groupControls);
             var requestJson = HttpUtil.GetSignRequestJson(d);
-            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddGroupControl, requestJson);
+            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateGroupControl, requestJson);
             return pack;
         }
 

--
Gitblit v1.8.0