From 365eadb33ee86b05ac74d408025d102a758c2efd Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 一月 2020 15:27:17 +0800 Subject: [PATCH] 2020-01-10 2020-01-10 1.修改切换本地和远程问题。 2.修改判断住宅网关方案。 3.其它优化修改。 --- Crabtree/SmartHome/UI/SimpleControl/MainPage.cs | 191 ++++++++++++++++++++--------------------------- 1 files changed, 80 insertions(+), 111 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs b/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs index fdf907a..4b2a41d 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/MainPage.cs @@ -39,12 +39,20 @@ //public static Button LogoButton = new Button (); - public static string RequestVersion = "20200108"; + public static string RequestVersion = "20200110"; public static UserInfo LoginUser; /// <summary> /// 鏄惁鏄鐞嗗憳鏉冮檺(鍙樻洿浜�,鎴愬憳鐨勬椂鍊�,杩欎釜涔熶负ture銆備负浠�涔堜細澹版槑杩欐牱鍙橀噺,鍥犱负鏈変簺鎺ュ彛蹇呴』浣跨敤鍘熸潵鐨凾oken) /// </summary> - public static bool IsAdministrator = false; + public static bool IsAdministrator { + get { + if (UserConfig.Instance == null || UserConfig.Instance.CurrentRegion == null) { + return false; + } else { + return UserConfig.Instance.CurrentRegion.IsOthreShare; + } + } + } public static string SoftPadTitle = "Crabtree"; public static string SoftTitle = "Crabtree"; @@ -174,112 +182,78 @@ /// <param name="methodType">璇锋眰鏂规硶.</param> /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param> /// <param name="needHeaders">鏄惁闇�瑕佸寘澶�.</param> - public static ResponsePack RequestHttps (string methodType, string dataStringJson, bool needHeaders = false, bool needTip2 = true, string urlHead = "") + public static ResponsePack RequestHttps (string methodType, string dataStringJson, 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 (); + //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 (); - #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 (needHeaders && 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 (); - revertObj = new ResponsePack () { StateCode = ErrorCode.NetworkError }; - //new Alert ( "","Network abnormal, unable to connect to the Internet", Language.StringByID (R.MyInternationalizationString.Close)).Show (); - return; - }); - } - string responseString = null; - if (bytes != null) { - 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 (); - - if (responseString != null) { - try { - revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack> (responseString); - //if (revertObj.StateCode.ToUpper() != "SUCCESS") { - // if (methodType == API.IsExistingAccount) { - - // } else if (needTip) { - // Application.RunOnMainThread (() => { - // new Alert ("", revertObj.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show (); - // }); - // } - //} - } catch (Exception ex) { - Console.WriteLine (ex.ToString ()); - revertObj = new ResponsePack () { StateCode = "Data exception" }; - } - } - else { - revertObj = new ResponsePack () { StateCode = ErrorCode.NetworkError }; - //if (methodType == API.Login && needTip) { - // Application.RunOnMainThread (() => { - // new Alert ("", Language.StringByID (R.MyInternationalizationString.FailureToDataBase), - // Language.StringByID (R.MyInternationalizationString.Close)).Show (); - // }); - //} else { - // if (needTip) - // FailureToServer (); - //} - } - return revertObj; - #endregion - } catch (Exception ex) { - Console.WriteLine (ex.Message); - return revertObj; - } finally { - //requesTime = requesTime.AddDays(1); + #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) { + Console.WriteLine (ex.ToString ()); + return new ResponsePack () { StateCode = "Data exception" }; + } + #endregion + } /// <summary> @@ -289,16 +263,11 @@ /// <param name="methodType">璇锋眰鏂规硶.</param> /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param> /// <param name="needHeaders">鏄惁闇�瑕佸寘澶�.</param> - public static byte [] RequestHttpsReturnByte (string methodType, string dataStringJson, bool needHeaders = false, bool needTip2 = true, string urlHead = "") + 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 (); - }); - } + -- Gitblit v1.8.0