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