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