From 9f47eb8beda408a0bcf616dcd0dddc0067782974 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 10 十二月 2020 17:53:01 +0800
Subject: [PATCH] 2020-12-10-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs |   85 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 69 insertions(+), 16 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
index ad9473e..34747d8 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs
@@ -9,23 +9,34 @@
 {
     public  class Send
     {
-        /// <summary>
-        /// 浣忓畢ID
-        /// </summary>
-        public static string homeId = Entity.DB_ResidenceData.residenceData.CurReginID;
-        /// <summary>
-        /// 缃戝叧ID
-        /// </summary>
-        public static string gatewayId = DriverLayer.Control.Ins.GatewayId;
-
-        ///// <summary>
-        ///// 缃戝叧ID
-        ///// </summary>
-        //public static string gatewayId =Entity.DB_ResidenceData.residenceData.HomeGateway.gatewayId;
         ///// <summary>
         ///// 浣忓畢ID
         ///// </summary>
-        //public static string homeId = Entity.DB_ResidenceData.residenceData.HomeGateway.homeId;
+        //public static string homeId = Entity.DB_ResidenceData.residenceData.CurReginID;
+        ///// <summary>
+        ///// 缃戝叧ID锛堢妗℃湁缃戝叧ID鍗磋繑鍥炴槸MAC锛�
+        ///// </summary>
+        //public static string gatewayId = DriverLayer.Control.Ins.GatewayId;
+
+        /// <summary>
+        /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
+        /// </summary>
+        public static string gatewayId
+        {
+            get
+            {
+                if (Entity.DB_ResidenceData.residenceData.HomeGateway == null)
+                {
+                    return "";
+                }
+                return Entity.DB_ResidenceData.residenceData.HomeGateway.gatewayId;
+            }
+        }
+        /// <summary>
+        /// 浣忓畢ID
+        /// </summary>
+        public static string homeId = Entity.DB_ResidenceData.residenceData.residecenInfo.RegionID;
+
 
         /// <summary>
         /// 鑾峰彇閫昏緫ID鍒楄〃
@@ -35,6 +46,12 @@
         {
             var jObject = new JObject { { "homeId", homeId } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                getLogicIdList();
+            }
             return responsePackNew;
         }
         /// <summary>
@@ -51,6 +68,12 @@
             }
             var jObject = new JObject { { "userLogicIds", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                getLogic(listIdList);
+            }
             return responsePackNew;
         }
         /// <summary>
@@ -124,6 +147,12 @@
                 logicjArray.Add(logicIfon);
                 var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add);
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    AddLogic(logic);
+                }
 
             }
             catch (Exception e)
@@ -206,7 +235,12 @@
                 logicjArray.Add(logicIfon);
                 var jObject = new JObject { { "homeId", homeId }, { "logics", logicjArray } };
                 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update);
-
+                //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+                if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+                {
+                    RefreshToken();
+                    updateLogic(logic);
+                }
             }
             catch (Exception e)
             {
@@ -226,6 +260,12 @@
             jArray.Add(logic.userLogicId);
             var jObject = new JObject { { "userLogicIds", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Delete);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                delLogic(logic);
+            }
             return responsePackNew;
         }
         /// <summary>
@@ -239,6 +279,12 @@
             jArray.Add(job);
             var jObject = new JObject { { "logics", jArray } };
             var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Enable);
+            //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken
+            if (responsePackNew.Code == StateCode.TOKEN_EXPIRED)
+            {
+                RefreshToken();
+                switchLogic(logic);
+            }
             return responsePackNew;
         }
         /// <summary>
@@ -261,6 +307,13 @@
             return HttpUtil.RequestHttpsPost(api_Url, requestJson);
 
         }
-      
+        /// <summary>
+        /// 鍒锋柊Token
+        /// </summary>
+        public static void RefreshToken()
+        {
+            IMessageCommon.Current.StartRefreshToken();
+        }
+
     }
 }

--
Gitblit v1.8.0