From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 347 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..fa1831f --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs @@ -0,0 +1,347 @@ +锘縰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); + +#if DEBUG + //btnOnIcon.MouseUpEventHandler += (sender, e) => + //{ + // ESOnVideo.Current.Test(); + //}; + + //btnOnTitle.MouseUpEventHandler += (sender, e) => + //{ + // ESOnVideo.Current.Test(false); + //}; + +#endif + + 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(); + //HDLCommon.Current.CheckIfNeedForceUpdate(); + }; + 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 = CheckAppVersion(); + if (versionResult == null) + { + return ""; + } + var newVersion = versionResult.version; + if (newVersion.CompareTo(MainPage.VersionString) > 0) + { + newAppVersionUrl = versionResult.androidUrl; + 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 + + + + +#endif + + /// <summary> + /// 妫�娴嬫柊鐗堟湰 + /// </summary> + /// <returns>The https app version async.</returns> + private AppVersionRes CheckAppVersion() + { + try + { + var result = new HttpServerRequest().CheckAppVersion(); + if (result.Code == StateCode.SUCCESS) + { + if (result.Data == null) + { + return null; + } + + var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(result.Data.ToString()); + return responeData; + } + return null; + } + catch (Exception ex) + { + return null; + } + } + + int updateType = 0; + void TestDDDDD() + { + updateType = 1; + + UpdateDialogInfo forceUpdateInfo = new UpdateDialogInfo() + { + 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