From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 14:16:20 +0800
Subject: [PATCH] 增加本地发送的重发机制
---
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 334 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..f0747c8
--- /dev/null
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs
@@ -0,0 +1,334 @@
+锘縰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();
+ //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