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 | 423 +--------------------------------------------------- 1 files changed, 8 insertions(+), 415 deletions(-) diff --git a/ZigbeeApp/Shared/Common/CommonPage.cs b/ZigbeeApp/Shared/Common/CommonPage.cs index 948b2a1..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,436 +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(); - var roomList = new Shared.Phone.Device.Room.RoomManagement(); - - Instance.AddLeftView(roomList); - roomList.Show(); + Phone.UserView.HomePage.Instance.InitPage(); + + //璁剧疆椤堕儴鐘舵�佹爮鏂囧瓧涓洪粦鑹� + Application.SetStatusBarTextBlack(true); } - public static string SoftTitle = "ZigBee"; - /// <summary> - /// 鐭俊妯℃澘缂栧彿 - /// </summary> - public static int SoftSmsType = 0; - public static string LogoString = @"Logo/Logo.png"; - public static string RegisterLogoString = @"Logo/Register_logo.png"; - public static string RequestHttpsHost = "https://global.hdlcontrol.com/HangZhouHdlCloudApi"; - //public static string RequestHttpsHost = "http://172.16.2.192:13061"; /// <summary> /// 鐗堟湰鍙� /// </summary> - public static string CodeIDString = "1.0.20010701"; - /// <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> - /// button楂樺害--110 - /// </summary> - public static int ButtonHeight = 110; - /// <summary> - /// 浣跨敤鐨勮瑷� - /// </summary> - public static string ZigBeeLanguage - { - get - { - return Language.CurrentLanguage; - } - } - /// <summary> - /// 澶ф帶浠跺渾瑙� --- 10銆備笉鏄笉鍗婂渾閭g銆� - /// </summary> - public static uint BigFormRadius = 10; - /// <summary> /// 榛樿鎵嬫満鍖哄彿涓�86涓浗澶ч檰 /// </summary> public static string PhoneZoneStr = "86"; - /// <summary> - /// 鎵嬫満鍖哄悕绉� - /// </summary> - public static string ZoneNameStr = "涓浗澶ч檰"; - /// <summary> - /// 璺濈椤剁楂樺害--80 鐘舵�佹爮楂樺害 - /// </summary> - public static int NavigationTitle_Y = 80; - /// <summary> - /// 琛岄珮--180 - /// </summary> - public static int RowHeight = 180; - /// <summary> - /// APP瀹藉害 -- 1080 - /// </summary> - public static int AppRealWidth = 1080; - /// <summary> - /// APP楂樺害 -- 1920 - /// </summary> - public static int AppRealHeight = 1920; - /// <summary> - /// 杩斿洖閿窛绂诲乏杈圭殑璺濈 30 - /// </summary> - public static int Navigation_X = 30; - /// <summary> - /// 瀵艰埅鏍忛珮搴�-220 - /// </summary> - public static int Navigation_Height = 220; - /// <summary> - /// 搴曡竟鏍忛珮搴� - /// </summary> - public const int TabbarHeight = 141; - /// <summary> - /// 绾挎潯鐨勯珮搴�--瀹為檯鍍忕礌3 - /// </summary> - public static int LineHeight = 3; - /// <summary> - /// 鏁翠釜鍦烘櫙寤舵椂鏃堕棿--60绉� - /// </summary> - public static int SceneDelayTime = 60; - - /// <summary> - /// 闂撮殧澶氶暱鏃堕棿璇诲彇璁惧鐘舵�� 鍗曚綅 绉� --榛樿30 - /// </summary> - public static int ReadDeviceStatuSpan = 30; - /// <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*$"; - - - //public static Encoding EncodingUTF8 = Encoding.UTF8; - //public static Encoding EncodingGB2312 = Encoding.GetEncoding("gb2312"); - public static bool IsRemote = false; - public static bool FindGateway = false; - /// <summary> - /// 褰撳墠缃戠粶杩炴帴鐨勬ā寮� 0:娌℃湁缃戠粶 1锛氳繙绋嬭繛鎺ワ紝涔熷彨3G,4G 2锛歐IFI - /// </summary> - public static int nowNetworkMode = 0; - /// <summary> - /// 鍗犱綅瀛椾綋澶у皬 - /// 11 - /// </summary> - public static int PlaceHolderTextSize = 11; - /// <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.Device.Account.AccountLogin(); - CommonPage.Instance.AddChidren(login); - login.Show(); - }); - } - 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