From be95e839f40eb3ddf64706b60cba6dfcf4fad5e5 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期五, 03 四月 2020 14:31:44 +0800 Subject: [PATCH] 2020-04-03 1.去掉登录前ping百度域名的网络监测。 --- Crabtree/SmartHome/UI/SimpleControl/MainPage.cs | 252 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 163 insertions(+), 89 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs b/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs index f4fd122..1c03c83 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs @@ -1,16 +1,14 @@ using System; -using Shared.IO; -using Shared.Net; using System.Text; using System.Collections.Generic; +using System.Net; +using System.IO; +using Shared.SimpleControl.Phone; // <summary> // 绋嬪簭涓诲叆鍙� // </summary> //using SystemConfiguration; -using System.Net; -using System.IO; -using Shared.SimpleControl.Phone; namespace Shared.SimpleControl { /// <summary> @@ -39,18 +37,48 @@ //public static Button LogoButton = new Button (); - public static string CodeIDString = "20191223"; + public static string RequestVersion = "20200402"; public static UserInfo LoginUser; + /// <summary> + /// 鏄惁鏄鐞嗗憳鏉冮檺(鍙樻洿浜�,鎴愬憳鐨勬椂鍊�,杩欎釜涔熶负ture銆備负浠�涔堜細澹版槑杩欐牱鍙橀噺,鍥犱负鏈変簺鎺ュ彛蹇呴』浣跨敤鍘熸潵鐨凾oken) + /// </summary> + public static bool IsAdministrator { + get { + if (UserConfig.Instance == null || UserConfig.Instance.CurrentRegion == null) { + return false; + } else { + return UserConfig.Instance.CurrentRegion.IsOthreShare; + } + } + } + ///// <summary> + ///// 鏄惁璐﹀彿鍦ㄥ叾瀹冭澶囩櫥褰曚簡 + ///// </summary> + //public static bool IsOtherDevicesLogin = false; + +//#if __IOS__ +// public static readonly string PhoneType = "iOS"; +//#else +// public static readonly string PhoneType = "Android"; +//#endif public static string SoftPadTitle = "Crabtree"; public static string SoftTitle = "Crabtree"; public static int SoftSmsType = 0; + public static string RequestSource = "1"; //0:Zigbee銆�1:HdlOn銆�2:GraphicsMonitor銆�3:BusproSoft銆�4:AgentWeb + public static string LogoString = "";//"Logo/Logo.png"; public static string WiFiStatus = "CrabtreeAdd/WiFi.png";//"CrabtreeAdd/WiFi.png"; public static string RegisterLogoString = "Logo/Register_logo.png"; public static string SeviceIP = "52.172.25.151"; - public static string RequestHttpsHost = "https://homeautomation.havells.com"; + public static string RequestHttpsHost = "https://smarth-api.havells.com/HangZhouHdlCloudApi"; + //public static string RequestHttpsHost = "https://global.hdlcontrol.com/HangZhouHdlCloudApi"; + + public static string RequestHttpsHostMqtt = "https://smarth-api.havells.com"; + + //public static string RequestHttpsHost = "https://developer.hdlcontrol.com"; + public static double PixelScale { get { @@ -109,10 +137,13 @@ } else { Phone.UserHomePage.Init (); #if __IOS__ - //Loading.LodingBackgroundColor = 0x10777777; + //Loading.LodingBackgroundColor = 0x10777777; + #else - Loading.LodingBackgroundColor = SkinStyle.Current.MainColor; + //Loading.LodingBackgroundColor = SkinStyle.Current.MainColor; #endif + Loading.TextColor = 0xFFA9A9A9; + Loading.LodingBackgroundColor = SkinStyle.Current.MainColor; } } catch (Exception ex) { //new Alert ("Eorr", ex.Message, "Close").Show(); @@ -163,37 +194,110 @@ /// <param name="methodType">璇锋眰鏂规硶.</param> /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param> /// <param name="needHeaders">鏄惁闇�瑕佸寘澶�.</param> - public static ResponsePack RequestHttps (string methodType, string dataStringJson, bool needHeaders = true, bool needTip = true) + public static ResponsePack RequestHttps (string methodType, string dataStringJson, string urlHead = "") + { + //2020-01-08 灞忚斀 + //if (!SystemRemote.checeInternet ()) { + // Application.RunOnMainThread (() => { + // MainPage.WiFiStatus = "CrabtreeAdd/WiFiUnlink.png"; + // MainPage.Loading.Hide (); + // }); + //} + //new System.Threading.Thread (() => { + // requesTime = DateTime.Now; + // isShowLoading = true; + // while (isShowLoading) { + // System.Threading.Thread.Sleep (1000); + // if (requesTime == DateTime.MinValue) { + // break; + // } + // if (requesTime.AddSeconds (30) < DateTime.Now) { + // Application.RunOnMainThread (Loading.Hide); + // isShowLoading = false; + // } + // } + //}) { IsBackground = true }.Start (); + + ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, error) => { + return true; + }; + + #region + var webClient = new WebClient (); + if (urlHead == "") { + urlHead = RequestHttpsHost; + } + //else { + // webClient.Headers.Add ("CONTENT-TYPE", "application/json"); + //} + webClient.Headers.Add ("CONTENT-TYPE", "application/json"); + string url = urlHead + methodType; + if (LoginUser != null) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ + webClient.Headers.Add ("Authorization", LoginUser.LoginTokenString); + } + byte [] bytes = null; + try { + bytes = webClient.UploadData (url, Encoding.UTF8.GetBytes (dataStringJson)); + } catch (System.Net.WebException webEx) { + Application.RunOnMainThread (() => { + MainPage.Loading.Hide (); + //new Alert ( "","Network abnormal, unable to connect to the Internet", Language.StringByID (R.MyInternationalizationString.Close)).Show (); + }); + return new ResponsePack () { StateCode = ErrorCode.NetworkError }; + } + string responseString = Encoding.UTF8.GetString (bytes); + //var DD = Newtonsoft.Json.Linq.JObject .Parse("GFGFDG");DD["ResponseData"]["PageData"] + + //var request = (HttpWebRequest)WebRequest.Create (url); + //var data = Encoding.UTF8.GetBytes (dataStringJson); + //request.Method = "POST"; + //request.ContentLength = data.Length; + //if (needHeaders) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ + // request.Headers.Set (HttpRequestHeader.Authorization, LoginUser.LoginTokenString); + //} + //using (var stream = request.GetRequestStream ()) { + // stream.Write (data, 0, data.Length); + //} + //var response = (HttpWebResponse)request.GetResponse (); + //var responseString = new StreamReader (response.GetResponseStream ()).ReadToEnd (); + + try { + return Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack> (responseString); + } catch (Exception ex) { + Utlis.WriteLine (ex.ToString ()); + return new ResponsePack () { StateCode = "Data exception" }; + } + #endregion + + } + + /// <summary> + /// 璇锋眰鏈嶅姟鍣ㄦ柟娉� + /// </summary> + /// <returns>The https.</returns> + /// <param name="methodType">璇锋眰鏂规硶.</param> + /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param> + /// <param name="needHeaders">鏄惁闇�瑕佸寘澶�.</param> + public static byte [] RequestHttpsReturnByte (string methodType, string dataStringJson, bool needHeaders = false, string urlHead = "") { ResponsePack revertObj = null; try { - if (!SystemRemote.checeInternet ()) { - Application.RunOnMainThread (() => { - MainPage.WiFiStatus = "CrabtreeAdd/WiFiUnlink.png"; - MainPage.Loading.Hide (); - }); - } - new System.Threading.Thread (() => { - requesTime = DateTime.Now; - isShowLoading = true; - while (isShowLoading) { - System.Threading.Thread.Sleep (1000); - if (requesTime == DateTime.MinValue) { - break; - } - if (requesTime.AddSeconds (30) < DateTime.Now) { - Application.RunOnMainThread (Loading.Hide); - isShowLoading = false; - } - } - }) { IsBackground = true }.Start (); + + ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, error) => { + return true; + }; #region - string urlHead = $"{"https://homeautomation.havells.com"}/WebApi/"; - string url = urlHead + methodType; - var webClient = new WebClient (); + if (urlHead == "") { + urlHead = RequestHttpsHost; + } + //else { + // webClient.Headers.Add ("CONTENT-TYPE", "application/json"); + //} + webClient.Headers.Add ("CONTENT-TYPE", "application/json"); + string url = urlHead + methodType; if (needHeaders && LoginUser != null) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ webClient.Headers.Add ("Authorization", LoginUser.LoginTokenString); } @@ -201,76 +305,44 @@ try { bytes = webClient.UploadData (url, Encoding.UTF8.GetBytes (dataStringJson)); } catch (System.Net.WebException webEx) { - Application.RunOnMainThread (() => { - MainPage.Loading.Hide (); - revertObj = new ResponsePack () { StateCode = "Network_Error" }; - //new Alert ( "","Network abnormal, unable to connect to the Internet", Language.StringByID (R.MyInternationalizationString.Close)).Show (); - return; - }); + return bytes; } - string responseString = null; - if (bytes != null) { - responseString = Encoding.UTF8.GetString (bytes); - } - - //var request = (HttpWebRequest)WebRequest.Create (url); - //var data = Encoding.UTF8.GetBytes (dataStringJson); - //request.Method = "POST"; - //request.ContentLength = data.Length; - //if (needHeaders) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ - // request.Headers.Set (HttpRequestHeader.Authorization, LoginUser.LoginTokenString); - //} - //using (var stream = request.GetRequestStream ()) { - // stream.Write (data, 0, data.Length); - //} - //var response = (HttpWebResponse)request.GetResponse (); - //var responseString = new StreamReader (response.GetResponseStream ()).ReadToEnd (); - - if (responseString != null) { - try { - revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack> (responseString); - if (revertObj.StateCode != "SUCCESS") { - if (methodType == "IsExistingAccount") { - - } else if (needTip) { - Application.RunOnMainThread (() => { - new Alert ("", revertObj.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show (); - }); - } - } - } catch (Exception ex) { - Console.WriteLine (ex.ToString ()); - } - } else { - if (methodType == "Login" && needTip) { - Application.RunOnMainThread (() => { - new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToDataBase), - Language.StringByID (R.MyInternationalizationString.Close)).Show (); - }); - } else { - if (needTip) - FailureToServer (); - } - } - return revertObj; + + + return bytes; #endregion } catch (Exception ex) { - Console.WriteLine (ex.Message); - return revertObj; + Utlis.WriteLine (ex.Message); + return null; } finally { //requesTime = requesTime.AddDays(1); } } + + /// <summary> /// 杩炴帴鏈嶅姟鍣ㄥけ璐� /// </summary> public static void FailureToServer () { + //Application.RunOnMainThread (() => { + // new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToServer), + // Language.StringByID (R.MyInternationalizationString.Close)).Show (); + //}); + ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.FailureToServer)); + } + + /// <summary> + /// 2020-01-11 寮圭獥鎻愮ず + /// </summary> + /// <param name="mes"></param> + public static void ShowAlertOnMainThread (string mes) + { Application.RunOnMainThread (() => { - new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToServer), - Language.StringByID (R.MyInternationalizationString.Close)).Show (); + new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } + /// <summary> /// 璁惧涓嶅湪绾匡紝鏃犲搷搴� @@ -296,5 +368,7 @@ MainPage.Loading.Hide (); }); } + + } -} \ No newline at end of file +} -- Gitblit v1.8.0