From d72ca686a3e262693f8a6e45e747e8e8da43335b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 06 七月 2021 09:39:03 +0800
Subject: [PATCH] 2021-07-06 1.更新

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs |  275 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 235 insertions(+), 40 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
index 17262bf..7b58122 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -5,12 +5,27 @@
 using Newtonsoft.Json.Linq;
 using System.Collections.Generic;
 using Shared;
+using HDL_ON.Entity;
 
 namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice
 {
 
     public class PirSend
     {
+        /// <summary>
+        /// 缃戝叧ID(鑾峰彇鍢変箰缃戝叧ID)
+        /// </summary>
+        public static string GatewayId
+        {
+            get
+            {
+                if (Entity.DB_ResidenceData.Instance.HomeGateway == null)
+                {
+                    return DriverLayer.Control.Ins.GatewayId;
+                }
+                return Entity.DB_ResidenceData.Instance.HomeGateway.gatewayId;
+            }
+        }
         /// <summary>
         /// 浣忓畢ID
         /// </summary>
@@ -21,6 +36,12 @@
                 return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID;
             }
         }
+
+        /// <summary>
+        /// 涔愭subAccessToken
+        /// </summary>
+        public static string LcSubAccessToken = "";
+
         /// <summary>
         /// 鏄惁涓哄叾浠栦富鐢ㄦ埛鍒嗕韩杩囨潵鐨勪綇瀹�
         /// </summary>
@@ -32,63 +53,237 @@
             }
         }
         /// <summary>
-        /// 閬ユ帶鍣ㄧ孩澶栫爜瀛︿範
+        /// 鑾峰彇璁惧鍒楄〃
         /// </summary>
         /// <returns></returns>
-        public static ResponsePackNew CodeStudy(ButtonObj buttonObj)
+        public static ResponsePackNew GetDeviceList(string spk)
         {
-            var jArray = new JArray { };
-            var job = new JObject { };
-            job.Add("key", buttonObj.Key);
-            job.Add("value", buttonObj.value);
-            jArray.Add(job);
-            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "status", jArray } };
-            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy);
+            var jObject = new JObject { };
+            jObject.Add("homeId", HomeId);
+            jObject.Add("spk", spk);
+            //d.Add("gatewayId", DB_ResidenceData.residenceData.HomeGateway.gatewayId);
+            //d.Add("roomId", DB_ResidenceData.residenceData.residecenInfo.RegionID);//鍙帶鍙傛暟锛屽綋闇�瑕佸垎椤佃幏鍙栵紝鎬庝箞鐭ラ亾鍒嗛〉鎬绘暟
+            //d.Add("searchType", DB_ResidenceData.residenceData.residecenInfo.RegionID);
+            //d.Add("pageSize", DB_ResidenceData.residenceData.residecenInfo.RegionID);
+            //d.Add("pageNo", DB_ResidenceData.residenceData.residecenInfo.RegionID);
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetDevcieList);
             return responsePackNew;
         }
         /// <summary>
-        /// 鑾峰彇閫昏緫
+        /// 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid)
         /// </summary>
-        /// <param name="listIdList">閫昏緫ID鍒楄〃</param>
         /// <returns></returns>
-        public static ResponsePackNew GetLogic(List<string> listIdList)
+        public static ResponsePackNew GetinfoBySid(Control control)
         {
-            var jArray = new JArray { };
-            for (int i = 0; i < listIdList.Count; i++)
-            {
-                jArray.Add(listIdList[i]);
-            }
-            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);
-            }
+            var jObject = new JObject { };
+            jObject.Add("homeId", HomeId);
+            jObject.Add("spk", control.spk);
+            jObject.Add("sid", control.sid);
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetinfoBySid);
             return responsePackNew;
         }
+        /// <summary>
+        /// 鑾峰彇閬ユ帶鍣ㄥ垪琛�
+        /// </summary>
+        public static ResponsePackNew ControlList(string deviceId)
+        {
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId} };
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_List);
+            return responsePackNew;
+        }
+        /// <summary>
+        /// 閬ユ帶鍣ㄦ坊鍔�
+        /// </summary>
+        /// <returns></returns>
+        /// <param name="control"></param>
+        /// <returns></returns>
+        public static ResponsePackNew Add(Control control)
+        {
+            var jObject = new JObject { }; 
+            jObject.Add("homeId", HomeId);
+            jObject.Add("deviceId", control.deviceId);
+            jObject.Add("name", control.name);
+            jObject.Add("spk", control.spk);
+            jObject.Add("type", control.type);
+            if (control.type=="library")
+            {
+                jObject.Add("groupId", control.groupId);
+                var libraryjay = new JArray { };
+                for (int i = 0; i < control.library.Count; i++)
+                {
+                    libraryjay.Add(control.library[i]);
+                }
+                jObject.Add("library", libraryjay);
+            }
+          
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_Add);
+            return responsePackNew;
+        }
+        /// <summary>
+        ///绾㈠鐮佸簱璇曠爜
+        /// </summary>
+        /// <returns></returns>
+        public static ResponsePackNew CodeTest(Control control)
+        {
+            var jObject = new JObject { }; 
+            jObject.Add("homeId", HomeId);
+            jObject.Add("deviceId", control.deviceId);
+            jObject.Add("spk", control.spk);
+            if (control.spk== SPK.AcIr) {
+                jObject.Add("groupId", control.groupId);
+            }
+            var libraryJay = new JArray { }; 
+            for (int i = 0; i < control.library.Count; i++)
+            {
+                libraryJay.Add(control.library[i]);
+            }
+            var statusJay = new JArray { };
+            for (int i = 0; i < control.status.Count; i++)
+            {
+                var statusJob = new JObject { };
+                var job = control.status[i];
+                statusJob.Add("key", job.key);
+                statusJob.Add("value", job.value);
+                statusJay.Add(statusJob);
+            }
+            jObject.Add("library", libraryJay);
+            jObject.Add("status", statusJay);
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeTest);
+            return responsePackNew;
+        }
+        /// <summary>
+        /// <summary>
+        /// 绾㈠鐮佸涔�
+        /// </summary>
+        /// <returns></returns>
+        public static void CodeStudy(Control control, AttributesStatus buttonObj, Action<Cloud> action)
+        {
+            var job = new JObject { };
+            job.Add("key", buttonObj.key);
+            job.Add("data_type", "string");
+            var valuejArray = new JArray { };
+            valuejArray.Add(buttonObj.value);
+            job.Add("value", valuejArray);
+            var jArray = new JArray { };
+            jArray.Add(job);
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", control.deviceId }, { "attributes", jArray } };
+            Cloud cloud = null;
+            new System.Threading.Thread(() =>
+            {
 
+                try
+                {
+                    //鍙戦�佺孩澶栫爜瀛︿範鍛戒护
+                    var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy);
+                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                    {
+                        Method method = new Method();
+                        Method.buttondata = "";
+                        cloud = method.MqttDate("鎸夐敭", control.sid, 25);
+                    }
+                    else
+                    {
+                        Method method = new Method();
+                        method.ErrorShow(responsePackNew, "");
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        action(cloud);
+                    });
+                }
 
-        public static bool Error(ResponsePackNew responsePackNew)
+            })
+            { IsBackground = true }.Start();
+        }
+        /// <summary>
+        /// 鑷鎸夐敭鍒犻櫎
+        /// </summary>
+        /// <returns></returns>
+        public static ResponsePackNew CodeRemove(AttributesStatus buttonObj,string deviceId)
+        {
+            var job = new JObject { };
+            job.Add("key", buttonObj.key);
+            job.Add("data_type", "string");
+            var valuejArray = new JArray { };
+            valuejArray.Add(buttonObj.value);
+            job.Add("value", valuejArray);
+            var jArray = new JArray { };
+            jArray.Add(job);
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "attributes", jArray } };
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeRemove);
+            return responsePackNew;
+        }
+        /// <summary>
+        /// 绾㈠瀹�/閬ユ帶鍣ㄥ垹闄�
+        /// </summary>
+        /// <returns></returns>
+        public static ResponsePackNew DeleteDevice(string deviceId)
+        {
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId } };
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceDel);
+            return responsePackNew;
+        }
+        /// <summary>
+        /// 淇敼绾㈠瀹�/璁惧鍚嶇О
+        /// </summary>
+        /// <returns></returns>
+        public static ResponsePackNew DeviceRename(string deviceId,string name)
+        {
+            var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "name", name} };
+            var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_DeviceRename);
+            return responsePackNew;
+        }
+        /// <summary>
+        /// 鏌ヨ绾㈠璁惧绫诲瀷鍒楄〃/鍝佺墝鍒楄〃/鍝佺墝绾㈠鐮佸簱鍒楄〃
+        /// </summary>
+        /// <param name="frameLayout">鍔犺浇log鐨勭埗鎺т欢</param>
+        /// <param name="action">鍥炶皟鍑芥暟</param>
+        public static void GetDeviceTypesList(FrameLayout frameLayout, Action<ResponsePackNew> action, string id, string if_str)
         {
 
-            if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+            DAL.Server.ResponsePackNew responsePackNew = null;
+            Loading loading = new Loading();
+            frameLayout.AddChidren(loading);
+            loading.Start();
+            new System.Threading.Thread(() =>
             {
-                return true;
-            }
-            else if (responsePackNew != null && responsePackNew.Code == "14005")
-            {
-                // new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline));
-                return false;
-            }
-            else
-            {
-                // new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
-                return false;
-            }
-        }
+                try
+                {
+                    string url = "";
+                    var jObject = new JObject { };
+                    if (if_str == "璁惧绫诲瀷鍒楄〃")
+                    {
+                        url = "/smart-footstone/app/ir/device-type/list";
+                    }
+                    else if (if_str == "鍝佺墝鍒楄〃")
+                    {
+                        url = "/smart-footstone/app/ir/brand/list";
+                        jObject.Add("deviceTypeId", id);
+                    }
+                    else if (if_str == "鍝佺墝绾㈠鐮佸簱鍒楄〃")
+                    {
+                        url = "/smart-footstone/app/ir/code/list";
+                        jObject.Add("brandId", id);
+                    }
+                    responsePackNew = RequestServerhomeId(jObject, url,5);
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        loading.Hide();
+                        action(responsePackNew);
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
 
+        }
         /// <summary>
         ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� 
         /// </summary>

--
Gitblit v1.8.0