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/Phone/UserCenter/Abount/AbountForm.cs | 161 +++++++++++++++++++++++++++++------------------------ 1 files changed, 89 insertions(+), 72 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs index 862f8f5..e4266a6 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Abount/AbountForm.cs @@ -72,20 +72,15 @@ frameLogo.Height = Application.GetRealHeight(484); frameLogo.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; bodyFrameLayout.AddChidren(frameLogo); - //鍥炬爣鐨勫鍣� - var frameLogoBackground = new FrameLayoutBase(); - frameLogoBackground.Y = Application.GetRealHeight(104); - frameLogoBackground.Width = this.GetPictrueRealSize(167); - frameLogoBackground.Height = this.GetPictrueRealSize(167); - frameLogoBackground.Gravity = Gravity.CenterHorizontal; - frameLogoBackground.BackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor; - frameLogoBackground.Radius = (uint)Application.GetRealHeight(37); - frameLogo.AddChidren(frameLogoBackground); //鍥炬爣 - var btnLogo = new IconViewControl(144); - btnLogo.UnSelectedImagePath = "Account/Logo_White.png"; - btnLogo.Gravity = Gravity.Center; - frameLogoBackground.AddChidren(btnLogo); + var btnLogo = new ImageView(); + btnLogo.Y = Application.GetRealHeight(104); + btnLogo.Width = this.GetPictrueRealSize(167); + btnLogo.Height = this.GetPictrueRealSize(167); + btnLogo.Radius = (uint)Application.GetRealHeight(37); + btnLogo.ImagePath = "Account/Logo_Evoyo.png"; + btnLogo.Gravity = Gravity.CenterHorizontal; + frameLogo.AddChidren(btnLogo); //Evoyo Home var btnName = new NormalViewControl(700, 60, true); btnName.Y = Application.GetRealHeight(294); @@ -111,11 +106,17 @@ listView.Height = Application.GetRealHeight(500); bodyFrameLayout.AddChidren(listView); //鏈嶅姟鍗忚 - //var rowService = new FrameRowControl(listView.rowSpace / 2); - //listView.AddChidren(rowService); - //rowService.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SLA), 400); - //rowService.AddRightArrow(); - //rowService.AddBottomLine(); + var rowService = new FrameRowControl(listView.rowSpace / 2); + listView.AddChidren(rowService); + rowService.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SLA), 400); + rowService.AddRightArrow(); + rowService.AddBottomLine(); + rowService.ButtonClickEvent += (sender, e) => + { + var form = new SLAForm(); + form.AddForm(); + }; + //鐗堟湰鏇存柊 this.rowUpdate = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(rowUpdate); @@ -224,7 +225,7 @@ { return false; } - if (int.Parse(versionResult.FirmwareVersion.Replace(".", "")) > int.Parse(CommonPage.CodeIDString.Replace(".", ""))) + if (versionResult.FirmwareVersion.CompareTo(CommonPage.CodeIDString) > 0) { distributedMark = versionResult.DistributedMark; return true; @@ -248,35 +249,36 @@ #elif Android try { - var requestObj = new SendDataToServer.DownLoadAndroidApk + var pra = new { RequestVersion = CommonPage.RequestVersion, DistributedMark = distributedMark }; + var result = HdlFirmwareUpdateLogic.Current.RequestZigbeeHttps("FirmwareMana/DownloadPlatformUploadFirmwarePreLength", pra, 8); + if (result == null || result.Length == 0) { - RequestVersion = CommonPage.RequestVersion, - DistributedMark = distributedMark - }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); - - var bytesTotalLengthResult = CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DownloadPlatformUploadFirmwarePreLength", Encoding.UTF8.GetBytes(requestJson)); - if (bytesTotalLengthResult == null || bytesTotalLengthResult.ResponseData == null) - { - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.UpdateAppFail)); return; } - var bytesTotalLength = Newtonsoft.Json.JsonConvert.DeserializeObject<long>(bytesTotalLengthResult.ResponseData.ToString()); + var jobject = Newtonsoft.Json.Linq.JObject.Parse(Encoding.UTF8.GetString(result)); + if (jobject.Property("StateCode") == null || jobject["StateCode"].ToString().ToUpper() != "SUCCESS") + { + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.UpdateAppFail)); + return; + } + + var bytesTotalLength = Newtonsoft.Json.JsonConvert.DeserializeObject<long>(jobject["ResponseData"].ToString()); if (bytesTotalLength == 0) { - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.UpdateAppFail)); return; } ApkBytesTotalLength = bytesTotalLength; - var bytes = await DownLoadApkAsync("FirmwareMana/DownloadPlatformUploadFirmware", Encoding.UTF8.GetBytes(requestJson)); + var bytes = await DownLoadApkAsync("FirmwareMana/DownloadPlatformUploadFirmware", Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(pra))); if (bytes == null) { - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.UpdateAppFail); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.UpdateAppFail)); return; } if (bytes.ToString().Contains("DownloadFail")) { - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain)); return; } var path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, "home.apk"); @@ -300,7 +302,7 @@ try { var webClient = new WebClient { }; - var result = await webClient.DownloadDataTaskAsync("https://itunes.apple.com/lookup?id=1461693569"); + var result = await webClient.DownloadDataTaskAsync("https://itunes.apple.com/lookup?id=1528702586"); if (result == null) { return null; @@ -317,7 +319,7 @@ /// </summary> public void OpenUrl() { - Uri url = new Uri("https://itunes.apple.com/cn/app/hdl-home/id1461693569?mt=8"); + Uri url = new Uri("https://itunes.apple.com/cn/app/hdl-home/id1528702586?mt=8"); UIKit.UIApplication.SharedApplication.OpenUrl(url); } #elif Android @@ -354,48 +356,39 @@ /// 鑾峰彇 Android-APP 鐗堟湰淇℃伅 /// </summary> /// <returns>The https app version async.</returns> - private Common.ResponseEntity.ApkInfoOBJ RequestHttpsAndroidAppVersionAsync() + private ApkInfoOBJ RequestHttpsAndroidAppVersionAsync() { try { - var requestOBJ = new SendDataToServer.GetAndroidApkInfoOBJ - { - Name = "ZigbeeApp", - RequestVersion = CommonPage.CodeIDString - }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestOBJ); - var result = CommonPage.Instance.RequestHttpsZigbeeAsync("FirmwareMana/DetectionPlatformUploadFirmware", System.Text.Encoding.UTF8.GetBytes(requestJson)); - if (result == null) + var pra = new { Name = "ZigbeeApp", RequestVersion = Common.CommonPage.RequestVersion }; + var result = HdlFirmwareUpdateLogic.Current.RequestZigbeeHttps("FirmwareMana/DetectionPlatformUploadFirmware", pra, 4); + if (result == null || result.Length == 0) { return null; } - if (result.StateCode.ToUpper() == "SUCCESS") + var jobject = Newtonsoft.Json.Linq.JObject.Parse(Encoding.UTF8.GetString(result)); + if (jobject.Property("StateCode") == null || jobject["StateCode"].ToString().ToUpper() != "SUCCESS") { - if (result.ResponseData == null) - { - return null; - } - - var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ApkInfoRes>(result.ResponseData.ToString()); - if (responeData == null || responeData.pageData == null || responeData.pageData.Count == 0) - { - return null; - } - int MaxIndex = 0; - int NewVersion = 0; - for (int i = 0; i < responeData.pageData.Count; i++) - { - var apkInfo = responeData.pageData[i]; - var version = int.Parse(apkInfo.FirmwareVersion.Replace(".", "")); - if (version > NewVersion) - { - NewVersion = version; - MaxIndex = i; - } - } - return responeData.pageData[MaxIndex]; + return null; } - return null; + string resultValue = jobject["ResponseData"].ToString(); + + var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<ApkInfoRes>(resultValue); + if (responeData == null || responeData.pageData == null || responeData.pageData.Count == 0) + { + return null; + } + + ApkInfoOBJ apkInfoOBJ = null; + for (int i = 0; i < responeData.pageData.Count; i++) + { + var apkInfo = responeData.pageData[i]; + if (apkInfoOBJ == null || apkInfo.FirmwareVersion.CompareTo(apkInfoOBJ.FirmwareVersion) > 0) + { + apkInfoOBJ = apkInfo; + } + } + return apkInfoOBJ; } catch (Exception ex) { @@ -414,10 +407,9 @@ try { webClient.Headers.Add(HttpRequestHeader.ContentType, "application/json"); - webClient.Headers.Add(HttpRequestHeader.Authorization, Config.Instance.Token); webClient.UploadProgressChanged += Client_DownloadProgressChanged; webClient.UploadDataCompleted += Client_UploadCompleted; - var result = webClient.UploadDataTaskAsync($"{CommonPage.RequestHttpsHost}/{requestUrl}", "POST", byteData); + var result = webClient.UploadDataTaskAsync($"{HdlFirmwareUpdateLogic.Current.RequestHttpsHost}/{requestUrl}", "POST", byteData); if (result == null) { return null; @@ -471,5 +463,30 @@ } #endif + //[Serializable] + public class ApkInfoRes + { + public int PageIndex; + public int PageSize; + public int TotalCount; + public int TotalPages; + public bool HasPreviousPage; + public bool HasNextPage; + public List<ApkInfoOBJ> pageData = new List<ApkInfoOBJ> { }; + } + + /// <summary> + /// 涓嬭浇apk + /// </summary> + [Serializable] + public class ApkInfoOBJ + { + public string Name { get; set; } + public string FirmwareVersion { get; set; } + public string Remarks { get; set; } + public string DistributedMark { get; set; } + public string Id { get; set; } + public string CreatedOnUtc { get; set; } + } } } -- Gitblit v1.8.0