From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs |  331 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 331 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs
new file mode 100644
index 0000000..6ad72a9
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs
@@ -0,0 +1,331 @@
+锘縰sing System;
+using Shared;
+using HDL_ON.UI.CSS;
+using System.Net;
+using System.Text;
+using HDL_ON.DAL.Server;
+using System.Threading.Tasks;
+
+namespace HDL_ON.UI
+{
+    /// <summary>
+    /// 鍏充簬椤甸潰
+    /// </summary>
+    public class AboutOnPage : FrameLayout
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        FrameLayout bodyView;
+        /// <summary>
+        /// 鐗堟湰鏇存柊ListCellView
+        /// </summary>
+        ListCellView versionUpdateView;
+
+        /// <summary>
+        /// 鏂扮増鏈殑鐗堟湰鍙凤紝鏌ヨ鍒版柊鐗堟湰鎵嶈祴鍊�
+        /// </summary>
+        string newAppVersion;
+        /// <summary>
+        /// 鏂扮増鏈殑涓嬭浇鍦板潃
+        /// iOS 榛樿涓鸿嫻鏋滃晢搴楀湴鍧�
+        /// Android 浜戠杩斿洖鍦板潃
+        /// </summary>
+        string newAppVersionUrl = "";
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public AboutOnPage()
+        {
+            bodyView = this;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public void LoadPage()
+        {
+            new TopViewDiv(bodyView, Language.StringByID(StringId.About)).LoadTopView();
+
+            Button btnOnIcon = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(106),
+                Width = Application.GetRealWidth(58),
+                Height = Application.GetRealWidth(58),
+                UnSelectedImagePath = "OnIcon.png",
+            };
+            bodyView.AddChidren(btnOnIcon);
+
+            Button btnOnTitle = new Button()
+            {
+                //Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(184),
+                Height = Application.GetRealWidth(28),
+                TextAlignment = TextAlignment.Center,
+                Text = "ON+",
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+                IsBold = true,
+            };
+            bodyView.AddChidren(btnOnTitle);
+
+            Button btnOnVersion = new Button()
+            {
+                Y = btnOnTitle.Bottom,
+                Height = Application.GetRealWidth(25),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = Language.StringByID(StringId.VersionNumber) + " " + MainPage.VersionString,
+            };
+            bodyView.AddChidren(btnOnVersion);
+
+
+            var lineView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(281),
+                Height = Application.GetRealHeight(1),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            };
+            bodyView.AddChidren(lineView);
+
+            #region 鍔熻兘浠嬬粛
+            var functionView = new ListCellView()
+            {
+                Y = lineView.Bottom,
+            };
+            bodyView.AddChidren(functionView);
+            functionView.BtnTilte.TextID = StringId.FunctionIntroduced;
+            Action functionAction = () =>
+            {
+                var mPage = new FunctionIntroductionPage();
+                MainPage.BasePageView.AddChidren(mPage);
+                mPage.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            functionView.GoAction = functionAction;
+            #endregion
+
+            #region 鎶曡瘔
+            var complaintsView = new ListCellView()
+            {
+                Y = functionView.Bottom,
+            };
+            bodyView.AddChidren(complaintsView);
+            complaintsView.BtnTilte.TextID = StringId.Complaints;
+            Action complaintsAction = () =>
+            {
+                var mPage = new ComplaintsPage();
+                MainPage.BasePageView.AddChidren(mPage);
+                mPage.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+            complaintsView.GoAction = complaintsAction;
+            #endregion
+
+            #region 鐗堟湰鏇存柊
+            versionUpdateView = new ListCellView()
+            {
+                Y = complaintsView.Bottom,
+            };
+            bodyView.AddChidren(versionUpdateView);
+            versionUpdateView.BtnTilte.TextID = StringId.VersionUpdate;
+            Action versionUpdateAction = () =>
+            {
+                OpenUrl();
+                //TestDDDDD();
+            };
+            versionUpdateView.GoAction = versionUpdateAction;
+            #endregion
+
+            CheckIfNeedUpdateAsync();
+        }
+
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁闇�瑕佽皟鏁存柊鐗堟湰涓嬭浇鍦板潃
+        /// </summary>
+        void OpenUrl()
+        {
+            if (!string.IsNullOrEmpty(newAppVersion))
+            {
+                HDLUtils.OpenUrl(newAppVersionUrl);
+            }
+            else
+            {
+                Utlis.ShowTip(Language.StringByID(StringId.IsLatestVersion));
+            }
+        }
+
+        /// <summary>
+        /// 妫�娴嬫槸鍚﹂渶瑕佹洿鏂�
+        /// Android绛夋帴鍙e疄鐜�
+        /// </summary>
+        /// <returns></returns>
+        void CheckIfNeedUpdateAsync(bool isTip = false)
+        {
+            new System.Threading.Thread(() =>
+            {
+                newAppVersion = CanUpdateAsync();
+                Application.RunOnMainThread(() =>
+                {
+                    if (!string.IsNullOrEmpty(newAppVersion))
+                    {
+                        //鍙戠幇鏂扮増鏈�
+                        versionUpdateView.BtnSubtitle.TextColor = CSS_Color.MainColor;
+                        versionUpdateView.BtnSubtitle.Text = Language.StringByID(StringId.DiscoverNewVersion) + "(" + newAppVersion + ")";
+                    }
+                    else
+                    {
+                        //宸茬粡鏄渶鏂扮増鏈�
+                        versionUpdateView.BtnSubtitle.TextColor = CSS_Color.PromptingColor1;
+                        versionUpdateView.BtnSubtitle.Text = Language.StringByID(StringId.IsLatestVersion);
+                    }
+                });
+
+            })
+            { IsBackground = true }.Start();
+        }
+
+        /// <summary>
+        /// 妫�鏌ョ増鏈�
+        /// </summary>
+        /// <returns></returns>
+        string CanUpdateAsync()
+        {
+#if __IOS__
+            try
+            {
+                var versionResult = RequestHttpsiOSAppVersionAsync();
+                if (versionResult == null || versionResult.Results == null)
+                {
+                    return "";
+                }
+                var results = Newtonsoft.Json.Linq.JArray.Parse(versionResult.Results.ToString());
+                if (results[0] == null)
+                {
+                    return "";
+                }
+                var newVersion = results[0]["version"]?.ToString();
+                //var updateContent = results[0]["releaseNotes"]?.ToString();
+                if (newVersion.CompareTo(MainPage.VersionString) > 0)
+                {
+                    newAppVersionUrl = Constant.URL_APPSTORE;
+                    return newVersion;
+                }
+                return "";
+            }
+            catch
+            {
+                return "";
+            }
+
+#else
+            try
+            {
+                var versionResult = GetAndroidAppVersion();
+                if (versionResult == null)
+                {
+                    return "";
+                }
+                var newVersion = versionResult.NewVersion;
+                if (newVersion.CompareTo(MainPage.VersionString) > 0)
+                {
+                    newAppVersionUrl = versionResult.NewVersionUrl;
+                    return newVersion;
+                }
+                return "";
+            }
+            catch (Exception ex)
+            {
+                return "";
+            }
+#endif
+        }
+
+
+#if __IOS__
+        /// <summary>
+        /// 鑾峰彇iOS-APP鐗堟湰淇℃伅
+        /// </summary>
+        /// <returns>The https app version async.</returns>
+        ResultPack RequestHttpsiOSAppVersionAsync()
+        {
+            try
+            {
+                var webClient = new WebClient { };
+                var result = webClient.DownloadData("https://itunes.apple.com/cn/lookup?id=1532353432");
+                if (result == null)
+                {
+                    return null;
+                }
+                return Newtonsoft.Json.JsonConvert.DeserializeObject<ResultPack>(Encoding.UTF8.GetString(result));
+            }
+            catch
+            {
+                return null;
+            }
+        }
+
+#else
+
+        /// <summary>
+        /// 鑾峰彇 Android-APP 鐗堟湰淇℃伅
+        /// </summary>
+        /// <returns>The https app version async.</returns>
+        private APPVersion GetAndroidAppVersion()
+        {
+            try
+            {
+                var result = new HttpServerRequest().GetAppVersion();
+                if (result.Code == StateCode.SUCCESS)
+                {
+                    if (result.Data == null)
+                    {
+                        return null;
+                    }
+
+                    var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<APPVersion>(result.Data.ToString());
+                    return responeData;
+                }
+                return null;
+            }
+            catch (Exception ex)
+            {
+                return null;
+            }
+        }
+
+
+#endif
+
+        int updateType = 0;
+        void TestDDDDD()
+        {
+            updateType = 1;
+
+            ForceUpdateInfo forceUpdateInfo = new ForceUpdateInfo()
+            {
+                UpdateType = updateType,
+                NewVersionUrl = Constant.URL_APPSTORE,
+                NewVersion = "1.0.0925",
+                ReasonStr = "1銆侀椤靛叏鏂版敼鐗堣璁★紝UI鏇存竻鏅� \n2銆佷慨澶岯UG \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳� \n3銆佹柊澧為煶绠卞姛鑳�"
+            };
+
+            HDLCommon.Current.ShowForceUpdateDialog(forceUpdateInfo);
+        }
+
+    }
+
+    /// <summary>
+    /// 鑻规灉鍟嗗簵鏌ヨ鍝嶅簲鍖呮牸寮�
+    /// </summary>
+    [System.Serializable]
+    public class ResultPack
+    {
+        public int ResultCount { get; set; }
+        public object Results { get; set; }
+    }
+}

--
Gitblit v1.8.0