From 404cdc88627f942df7944af04ee05b9d527752d6 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 九月 2019 13:22:40 +0800
Subject: [PATCH] 合并了徐梅的按键面板绑定

---
 ZigbeeApp/Shared/Common/CommonPage.cs |   88 ++++++++++++++++++++++++++++++--------------
 1 files changed, 60 insertions(+), 28 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs
old mode 100644
new mode 100755
index 06afe41..bf1c822
--- a/ZigbeeApp/Shared/Common/CommonPage.cs
+++ b/ZigbeeApp/Shared/Common/CommonPage.cs
@@ -57,7 +57,7 @@
         /// <summary>
         /// 鐗堟湰鍙�
         /// </summary>
-        public static string CodeIDString = "1.0.19071001";
+        public static string CodeIDString = "1.0.19071501";
         /// <summary>
         /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee)
         /// </summary>
@@ -215,9 +215,9 @@
         public async System.Threading.Tasks.Task<string> RequestHttpsZigbeeResultAsync(string requestUrl, byte[] byteData)
         {
             var result = await RequestHttpsZigbeeBytesResultAsync(requestUrl, byteData);
-            if (result != null)
-            {
-                return Encoding.UTF8.GetString(result);
+            if (result != null)
+            {
+                return Encoding.UTF8.GetString(result);
             }
             return null;
         }
@@ -228,39 +228,73 @@
         /// </summary>
         /// <param name="requestUrl">璇锋眰Url</param>
         /// <param name="byteData">璇锋眰鐨勭殑鏁版嵁</param>
+        /// <param name="requestMethod">POST 鎴栬�� GET 绛夌瓑</param>
         /// <returns>寰楀埌鍝嶅簲鐨勬暟鎹�</returns>
-        public async System.Threading.Tasks.Task<byte[]> RequestHttpsZigbeeBytesResultAsync(string requestUrl, byte[] byteData)
+        public async System.Threading.Tasks.Task<byte[]> RequestHttpsZigbeeBytesResultAsync(string requestUrl, byte[] byteData, string requestMethod = "POST")
         {
+            //璇锋眰Url鐨勫畬鎴愯矾寰�
+            var fullUrl = $"{RequestHttpsHost}/{requestUrl}";
+            return await this.DoRequestZigbeeHttpsInterface(fullUrl, byteData, Config.Instance.Token, requestMethod);
+        }
+
+        /// <summary>
+        /// <pra>璇锋眰鏈嶅姟鍣ㄦ柟娉�,鎸囧畾涓�涓猆rl,鍜岃姹傛柟娉曪紝鏁版嵁锛孋ookie锛屽緱鍒板搷搴旂殑鏁版嵁</pra>
+        /// <pra>娉ㄦ剰!!姝ゆ柟娉曚粎闄愩�愭嫢鏈夌鐞嗗憳鏉冮檺鐨勬垚鍛樸�戣皟鐢�</pra>
+        /// </summary>
+        /// <param name="requestUrl">璇锋眰Url</param>
+        /// <param name="byteData">璇锋眰鐨勭殑鏁版嵁</param>
+        /// <param name="requestMethod">POST 鎴栬�� GET 绛夌瓑</param>
+        /// <returns>寰楀埌鍝嶅簲鐨勬暟鎹�</returns>
+        public async System.Threading.Tasks.Task<byte[]> RequestZigbeeHttpsByAdmin(string requestUrl, byte[] byteData, string requestMethod = "POST")
+        {
+            //璇锋眰Url鐨勫畬鎴愯矾寰�
+            var fullUrl = $"{Config.Instance.AdminRequestBaseUrl}/{requestUrl}";
+            return await this.DoRequestZigbeeHttpsInterface(fullUrl, byteData, Config.Instance.AdminRequestToken, requestMethod);
+        }
+
+        /// <summary>
+        /// 璇锋眰鏈嶅姟鍣ㄦ柟娉�
+        /// 鎸囧畾涓�涓猆rl,鍜岃姹傛柟娉曪紝鏁版嵁锛孋ookie锛屽緱鍒板搷搴旂殑鏁版嵁
+        /// </summary>
+        /// <param name="requestFullUrl">璇锋眰Url鐨勫畬鎴愯矾寰�</param>
+        /// <param name="byteData">璇锋眰鐨勭殑鏁版嵁</param>
+        /// <param name="token">token</param>
+        /// <param name="requestMethod">POST 鎴栬�� GET 绛夌瓑</param>
+        /// <returns>寰楀埌鍝嶅簲鐨勬暟鎹�</returns>
+        private async System.Threading.Tasks.Task<byte[]> DoRequestZigbeeHttpsInterface(string requestFullUrl, byte[] byteData, string token, string requestMethod = "POST")
+        {
             try
             {
                 //鍒濆鍖栨柊鐨剋ebRequst
                 //1锛� 鍒涘缓httpWebRequest瀵硅薄
-                HttpWebRequest webRequest = null;
-                if (Config.Instance.isAdministrator == true)
-                {
-                    webRequest = (HttpWebRequest)WebRequest.Create(new Uri($"{Config.Instance.AdminRequestBaseUrl}/{requestUrl}"));
-                }
-                else
-                {
-                    webRequest = (HttpWebRequest)WebRequest.Create(new Uri($"{RequestHttpsHost}/{requestUrl}"));
-                }
+                HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(requestFullUrl));
+
                 //2锛� 鍒濆鍖朒ttpWebRequest瀵硅薄
-                webRequest.Method = "POST";
-                webRequest.ContentType = "application/json";
-                webRequest.Timeout = 10*1000;
-                webRequest.ContentLength = byteData.Length;
-                webRequest.Timeout = 10*1000;
-                webRequest.Headers.Add(HttpRequestHeader.Authorization, Config.Instance.Token);
-                //3锛� 闄勫姞瑕丳OST缁欐湇鍔″櫒鐨勬暟鎹埌HttpWebRequest瀵硅薄(闄勫姞POST鏁版嵁鐨勮繃绋嬫瘮杈冪壒娈婏紝瀹冨苟娌℃湁鎻愪緵涓�涓睘鎬х粰鐢ㄦ埛瀛樺彇锛岄渶瑕佸啓鍏ttpWebRequest瀵硅薄鎻愪緵鐨勪竴涓猻tream閲岄潰銆�)
-                var newStream = webRequest.GetRequestStream();//鍒涘缓涓�涓猄tream,璧嬪�兼槸鍐欏叆HttpWebRequest瀵硅薄鎻愪緵鐨勪竴涓猻tream閲岄潰
-                newStream.Write(byteData, 0, byteData.Length);
-                newStream.Flush();
-                newStream.Close();
+                webRequest.Method = requestMethod;
+                webRequest.Timeout = 10 * 1000;
+                webRequest.Headers.Add(HttpRequestHeader.Authorization, token);
+                if (requestMethod == "GET")
+                {
+                    //webRequest.ContentType = "text/html";
+                    webRequest.ContentType = "application/json";
+                }
+                else
+                {
+                    webRequest.ContentType = "application/json";
+                    webRequest.ContentLength = byteData.Length;
+
+                    //3锛� 闄勫姞瑕丳OST缁欐湇鍔″櫒鐨勬暟鎹埌HttpWebRequest瀵硅薄(闄勫姞POST鏁版嵁鐨勮繃绋嬫瘮杈冪壒娈婏紝瀹冨苟娌℃湁鎻愪緵涓�涓睘鎬х粰鐢ㄦ埛瀛樺彇锛岄渶瑕佸啓鍏ttpWebRequest瀵硅薄鎻愪緵鐨勪竴涓猻tream閲岄潰銆�)
+                    var newStream = webRequest.GetRequestStream();//鍒涘缓涓�涓猄tream,璧嬪�兼槸鍐欏叆HttpWebRequest瀵硅薄鎻愪緵鐨勪竴涓猻tream閲岄潰
+                    newStream.Write(byteData, 0, byteData.Length);
+                    newStream.Flush();
+                    newStream.Close();
+                }
+
                 //4锛� 璇诲彇鏈嶅姟鍣ㄧ殑杩斿洖淇℃伅
                 var response = (HttpWebResponse)webRequest.GetResponse();
                 using (var stream = response.GetResponseStream())
                 {
-                    if(stream==null)
+                    if (stream == null)
                     {
                         return null;
                     }
@@ -281,8 +315,6 @@
                 return null;
             }
         }
-
-
 #if iOS
         /// <summary>
         /// 鑾峰彇iOS-APP鐗堟湰淇℃伅

--
Gitblit v1.8.0