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