From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3
---
ZigbeeApp/Shared/Common/CommonPage.cs | 357 +----------------------------------------------------------
1 files changed, 9 insertions(+), 348 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs
index 5f5a967..b0eceaf 100755
--- a/ZigbeeApp/Shared/Common/CommonPage.cs
+++ b/ZigbeeApp/Shared/Common/CommonPage.cs
@@ -4,19 +4,19 @@
using System.Linq;
using System.Net;
using System.Text;
-using Shared.Phone.UserCenter.Abount;
+
namespace Shared.Common
{
public class CommonPage : UIDrawerLayout
{
- static CommonPage commonPage;
+ private static CommonPage commonPage;
public static CommonPage Instance
{
get
{
if (commonPage == null)
{
- commonPage = new CommonPage { };
+ commonPage = new CommonPage();
}
return commonPage;
}
@@ -28,368 +28,29 @@
public static Loading Loading = new Loading();
public void Show()
{
- //if (Application.IsPad)
- //{
- // Application.DesignWidth = 2048;
- // Application.DesignHeight = 1536;
- // Pad.MainPage.Instance .Show();
- // }
- //else
- //{
Application.DesignWidth = 1080;
Application.DesignHeight = 1920;
Application.MainPage.AddChidren(this);
AddChidren(Phone.UserView.HomePage.Instance);
Application.MainPage.AddChidren(Loading);
- //}
- Phone.UserView.HomePage.Instance.InitPage();
+
+ Phone.UserView.HomePage.Instance.InitPage();
+
+ //璁剧疆椤堕儴鐘舵�佹爮鏂囧瓧涓洪粦鑹�
+ Application.SetStatusBarTextBlack(true);
}
- //public static string RequestHttpsHost = "https://global.hdlcontrol.com/HangZhouHdlCloudApi";
- public static string RequestHttpsHost = "https://global.hdlcontrol.com/ProposedProductionApi";
/// <summary>
/// 鐗堟湰鍙�
/// </summary>
- public static string CodeIDString = "1.0.20051301";
- /// <summary>
- /// 娉ㄥ唽鏉ユ簮(0:HDL On 1:Zigbee)
- /// </summary>
- public static int RegisterSoruceFromZIGBEE = 0;
- public static string Source = "ZIGBEE";
- /// <summary>
- /// Company 鐢ㄦ埛鍏徃鐢ㄤ簬鍏徃App瀹氬埗鐗� 榛樿0
- /// </summary>
- public static int Company = 0;
- /// <summary>
- /// 娴峰 娉ㄥ唽鏃禔PI璋冪敤鍜屽浗鍐呭尯鍒�
- ///</summary>
- public static int CompanyForINTERNETION = 4;
+ public static string CodeIDString = "1.1.0120101501";
/// <summary>
/// 璇锋眰鐗堟湰鍙�
/// </summary>
public static string RequestVersion = "2.0";
/// <summary>
- /// 宸﹁竟璺濈灞忓箷鐨勫搴�--58
- /// </summary>
- public static int XLeft = 58;
- /// <summary>
- /// 浣跨敤鐨勮瑷�
- /// </summary>
- public static string ZigBeeLanguage
- {
- get
- {
- return Language.CurrentLanguage;
- }
- }
- /// <summary>
/// 榛樿鎵嬫満鍖哄彿涓�86涓浗澶ч檰
/// </summary>
public static string PhoneZoneStr = "86";
- /// <summary>
- /// 鎵嬫満鍖哄悕绉�
- /// </summary>
- public static string ZoneNameStr = "涓浗澶ч檰";
- /// <summary>
- /// APP瀹藉害 -- 1080
- /// </summary>
- public static int AppRealWidth = 1080;
- /// <summary>
- /// 璇诲彇澶氬皯椤�--999
- /// </summary>
- public static int PageSize = 999;
-
- /// <summary>
- /// 鐢ㄤ簬涓浗澶ч檰楠岃瘉鎵嬫満鍙锋鍒欒〃杈惧紡
- /// </summary>
- public static string PhoneRegexStr = "^[1][0-9]{10}$";
- /// <summary>
- /// 鐢ㄤ簬楠岃瘉闈炰腑鍥藉ぇ闄嗘墜鏈哄彿姝e垯琛ㄨ揪寮�
- /// </summary>
- public static string PhoneForForeignRegexStr = "^[0-9]*$";
- /// <summary>
- /// 鐢ㄤ簬楠岃瘉閭姝e垯琛ㄨ揪寮�
- /// </summary>
- public static string EmailRegexStr = "^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$";
- /// <summary>
- /// 褰撳墠缃戠粶杩炴帴鐨勬ā寮� 0:娌℃湁缃戠粶 1锛氳繙绋嬭繛鎺ワ紝涔熷彨3G,4G 2锛歐IFI
- /// </summary>
- public static int nowNetworkMode = 0;
- /// <summary>
- /// 瀹夊崜鐨勭郴缁熻繑鍥炴寜閿兘鍚︽寜涓�(姣斿鍦ㄥ浠借繕鍘熸椂,涓嶈兘鎸変笅杩斿洖閿�)
- /// </summary>
- public static bool BackKeyCanClick = true;
-
- /// <summary>
- /// 璇锋眰鏈嶅姟鍣ㄦ柟娉�
- /// 鎸囧畾涓�涓猆rl,鍜岃姹傛柟娉曪紝鏁版嵁锛孋ookie锛屽緱鍒板搷搴旂殑鏁版嵁
- /// </summary>
- /// <param name="requestUrl">璇锋眰Url</param>
- /// <param name="byteData">璇锋眰鐨勭殑鏁版嵁</param>
- /// <returns>寰楀埌鍝嶅簲鐨勬暟鎹�</returns>
- public async System.Threading.Tasks.Task<Shared.Common.ResponseEntity.ResponsePack> RequestHttpsZigbeeAsync(string requestUrl, byte[] byteData)
- {
- string result = await this.RequestHttpsZigbeeResultAsync(requestUrl, byteData);
- if (result != null)
- {
- try
- {
- var data = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.ResponsePack>(result);
- return data;
- }
- catch (Exception ex)
- {
- System.Console.WriteLine(ex.Message);
- }
- }
- return null;
- }
-
- /// <summary>
- /// 璇锋眰鏈嶅姟鍣ㄦ柟娉�
- /// 鎸囧畾涓�涓猆rl,鍜岃姹傛柟娉曪紝鏁版嵁锛孋ookie锛屽緱鍒板搷搴旂殑鏁版嵁
- /// </summary>
- /// <param name="requestUrl">璇锋眰Url</param>
- /// <param name="byteData">璇锋眰鐨勭殑鏁版嵁</param>
- /// <returns>寰楀埌鍝嶅簲鐨勬暟鎹�</returns>
- 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);
- }
- return null;
- }
-
- /// <summary>
- /// 璇锋眰鏈嶅姟鍣ㄦ柟娉�
- /// 鎸囧畾涓�涓猆rl,鍜岃姹傛柟娉曪紝鏁版嵁锛孋ookie锛屽緱鍒板搷搴旂殑鏁版嵁
- /// </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, 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>
- public async System.Threading.Tasks.Task<byte[]> DoRequestZigbeeHttpsInterface(string requestFullUrl, byte[] byteData, string token, string requestMethod = "POST")
- {
- try
- {
- //鍒濆鍖栨柊鐨剋ebRequst
- //1锛� 鍒涘缓httpWebRequest瀵硅薄
- HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(requestFullUrl));
-
- //2锛� 鍒濆鍖朒ttpWebRequest瀵硅薄
- webRequest.Method = requestMethod;
- webRequest.Timeout = 10 * 1000;
- if (token != null)
- {
- //瀵瑰簲寰俊缃戝潃
- 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)
- {
- return null;
- }
- var ms = new MemoryStream();
- var bytes = new byte[1024];
- var len = int.MaxValue;
- while (stream.CanRead && 0 < len)
- {
- len = stream.Read(bytes, 0, bytes.Length);
- ms.Write(bytes, 0, len);
- }
- return ms.ToArray();
- }
- }
- catch (Exception e)
- {
-#if DEBUG
- System.Console.WriteLine(e.Message);
-#endif
- return null;
- }
- }
-
- /// <summary>
- /// 鏈嶅姟鍣ㄨ幏鍙栨暟鎹け璐ユ彁绀�
- /// </summary>
- public void FailureToServer()
- {
- Application.RunOnMainThread(() =>
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.RequestServerFailed), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
- });
- }
- /// <summary>
- /// 鏄剧ず閿欒鎻愮ず
- /// </summary>
- /// <param name="errorStringID">Error string identifier.</param>
- public void ShowErrorInfoAlert(int errorStringID)
- {
- Application.RunOnMainThread(() =>
- {
- var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(errorStringID), Language.StringByID(R.MyInternationalizationString.Confrim));
- alert.Show();
- });
- }
- /// <summary>
- /// Get鏈嶅姟鍣ㄦ柟娉�1
- /// </summary>
- public string GetMethod(string requestUrl)
- {
- string requestMethod = "get";
- string urlHead = $"{RequestHttpsHost}/FeerView/";
- string url = urlHead + requestUrl;
- HttpWebRequest httpWebRequestObj = WebRequest.CreateHttp(url);
- httpWebRequestObj.Method = requestMethod;
- using (HttpWebResponse httpWebResponseObj = httpWebRequestObj.GetResponse() as HttpWebResponse)
- {
- if (httpWebResponseObj == null)
- {
- return null;
- }
- else
- {
- Stream ResponseStream = httpWebResponseObj.GetResponseStream();
- using (StreamReader Sr = new StreamReader(ResponseStream))
- {
- string responseString = Sr.ReadToEnd();
- return responseString;
- }
- }
- }
- }
-
- /// <summary>
- /// 鐧诲嚭
- /// </summary>
- public void SingOut()
- {
- try
- {
- Application.RunOnMainThread(() =>
- {
- //璁惧畾涓�涓椂闂�
- Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
- Config.Instance.Save();
- CommonPage.Instance.RemoveAll();
- CommonPage.Instance.Show();
- var login = new Phone.Login.AccountLoginForm();
- CommonPage.Instance.AddChidren(login);
- login.ShowForm();
- });
- }
- catch { }
- }
-
- /// <summary>
- /// 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
- /// </summary>
- public void SignOutClearData()
- {
- try
- {
- System.Threading.Tasks.Task.Run(() =>
- {
- using (var client = new System.Net.Http.HttpClient())
- {
- client.DefaultRequestHeaders.Add("ContentType", "application/json");
- client.DefaultRequestHeaders.Add("Authorization", Shared.Common.Config.Instance.Token);
- var responseString = client.GetStringAsync($"{CommonPage.RequestHttpsHost}/ZigbeeUsers/SignOut");
- }
- });
- }
- catch { }
- }
-
- /// <summary>
- /// 鐧诲綍鎴愬姛鍚庝笂鎶ヨ澶噄d绛夌浉鍏充俊鎭粰鍚庣
- /// </summary>
- /// <returns>杩斿洖鐘舵�佺爜</returns>
- public async System.Threading.Tasks.Task<string> PushRegID()
- {
- try
- {
- string deviceAlias;
- string deviceType;
-#if iOS
- deviceAlias = UIKit.UIDevice.CurrentDevice.Name;
- deviceType = "iphone";
-#elif Android
- deviceAlias = Android.OS.Build.Manufacturer;
- deviceType = "android";
-#endif
- var RegIDObj = new SendDataToServer.SignZigbeeNeedPushRegIDObj()
- {
- RegID = Shared.Common.Config.Instance.RegistrationID,
- DeviceAlias = deviceAlias,
- DeviceType = deviceType
- };
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(RegIDObj);
- var reverObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/SignZigbeeNeedPushRegID", System.Text.Encoding.UTF8.GetBytes(requestJson));
- if (reverObj == null)
- {
- return null;
- }
- return reverObj.StateCode;
- }
- catch
- {
- return null;
- }
- }
}
}
--
Gitblit v1.8.0