using System; using Shared; using HDL_ON; using HDL_ON.UI.CSS; using HDL_ON.DAL.Server; namespace HDL_ON { /// /// HDLCommon /// 暂时没用 /// public class HDLCommon { #region ■ 变量声明___________________________ /// /// 通用方法 /// private static HDLCommon m_Current = null; /// /// 通用方法 /// public static HDLCommon Current { get { if (m_Current == null) { m_Current = new HDLCommon(); } return m_Current; } } #endregion #region ■ Alter弹窗提示_______________________ /// /// 弹窗提示 /// /// public void ShowAlert(string mes) { new Alert("", mes, Language.StringByID(StringId.Close)).Show(); } /// /// 弹窗提示 /// /// 弹窗提示信息 /// 确认按钮事件 public void ShowActionAlert(string mes, Action okAction) { Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm)); alert.ResultEventHandler += (sender2, e2) => { if (e2) { okAction?.Invoke(); } }; alert.Show(); } #endregion #region ■ 通用Dialog_______________________ #endregion #region 检测更新 /// /// 检测更新线程 /// public void CheckIfNeedForceUpdate() { // //return; System.Threading.Tasks.Task.Run(() => { try { var requestObj = new ForceUpdateObj() { }; #if Android requestObj.DeviceType = 1; #endif var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson); if (revertObj.Code == StateCode.SUCCESS) { var mForceUpdateInfo = Newtonsoft.Json.JsonConvert.DeserializeObject(revertObj.Data.ToString()); if (mForceUpdateInfo != null) { Application.RunOnMainThread(() => { ShowForceUpdateDialog(mForceUpdateInfo); }); } } else { Utlis.WriteLine("请求失败"); } } catch (Exception ex) { //Shared.Utlis.WriteLine (ex.ToString ()); } finally { } }); //ForceUpdateInfo mForceUpdateInfo = new ForceUpdateInfo () { // IsNeedForceUpdate = true, // AndroidUrl = "https://shouji.baidu.com/software/26667787.html", // AndroidUrl_En = "https://shouji.baidu.com/software/26667787.html", // IosUrl = "https://apps.apple.com/cn/app/hdl-on/id1029839624", // ReasonStr = "1.发现新版本App,当前版本已停用,马上更新!\n2.请下载和安装新版本!", // ReasonStr_En = "1. Discover the new version of the App, the current version is disabled, update now! \n2. Please download and install the new version!" //}; //ShowForceUpdateDialog (mForceUpdateInfo); } /// /// 提示强制更新Dialog /// 点击确认跳转浏览器 /// public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo) { //if (!mForceUpdateInfo.IsNeedForceUpdate) return; if (mForceUpdateInfo.UpdateType == 0) return; if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return; Dialog dialog = new Dialog(); FrameLayout dialogBodyView = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(500), Height = Application.GetRealHeight(500), BackgroundColor = 0xFF000000, Radius = (uint)Application.GetRealWidth(10), //BorderColor = SkinStyle.Current.Transparent, BorderWidth = 0, }; dialog.AddChidren(dialogBodyView); Button btnTitle = new Button() { Height = Application.GetRealHeight(80), BackgroundColor = 0x00000000, TextAlignment = TextAlignment.Center, TextID = StringId.Tip, TextColor = 0xFFFFFFFF }; dialogBodyView.AddChidren(btnTitle); FrameLayout centerView = new FrameLayout() { Y = Application.GetRealHeight(80), Height = Application.GetRealHeight(340), BackgroundColor = 0xFFFFFFFF, }; dialogBodyView.AddChidren(centerView); Button btnMessage = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(20), Width = Application.GetRealWidth(400), //Height = Application.GetRealHeight (300), //Text = mForceUpdateInfo.ReasonStr, TextAlignment = TextAlignment.TopLeft, //TextColor = SkinStyle.Current.TextColor, IsMoreLines = true }; centerView.AddChidren(btnMessage); FrameLayout bottomView = new FrameLayout() { Y = Application.GetRealHeight(420), Height = Application.GetRealHeight(80), BackgroundColor = 0xFFFFFFFF, }; dialogBodyView.AddChidren(bottomView); var mAndroidUrl = mForceUpdateInfo.AndroidUrl; if (Language.CurrentLanguage == "Chinese") { btnMessage.Text = mForceUpdateInfo.ReasonStr; } else { btnMessage.Text = mForceUpdateInfo.ReasonStr_En; mAndroidUrl = mForceUpdateInfo.AndroidUrl_En; } if (mForceUpdateInfo.UpdateType == 1) { #region 提示更新 Button btnNext = new Button() { Width = Application.GetRealWidth(249), TextID = StringId.Ignore, TextAlignment = TextAlignment.Center, TextColor = 0xFFFFFFFF, BackgroundColor = 0xFF000000, //Text = "忽略" }; bottomView.AddChidren(btnNext); btnNext.MouseUpEventHandler += (sender2, e2) => { //UserConfig.Instance.IfIgnoreUpdate = true; UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion; UserInfo.Current.SaveUserInfo(); dialog.Close(); }; Button btnSave = new Button() { X = btnNext.Right + 1, Width = Application.GetRealWidth(250), TextID = StringId.Update, TextAlignment = TextAlignment.Center, TextColor = 0xFFFFFFFF, BackgroundColor = 0xFF000000, //Text = "更新" }; bottomView.AddChidren(btnSave); btnSave.MouseUpEventHandler += (sender2, e2) => { dialog.Close(); try { #if __IOS__ HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl); //UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624")); #elif Android HDLUtils.OpenUrl(mAndroidUrl); SharedMethod.SharedMethod.OpenUrl (mAndroidUrl); //SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html"); #endif } catch { //跳转下载地址失败 Utlis.WriteLine("open url error"); } }; #endregion } else if (mForceUpdateInfo.UpdateType == 2) { #region 强制更新 Button btnSave = new Button() { Width = Application.GetRealWidth(500), TextID = StringId.Confirm, TextAlignment = TextAlignment.Center, TextColor = 0xFFFFFFFF, BackgroundColor = 0xFF000000, }; bottomView.AddChidren(btnSave); //var mAndroidUrl = mForceUpdateInfo.AndroidUrl; //if (Language.CurrentLanguage == "Chinese") { // btnMessage.Text = mForceUpdateInfo.ReasonStr; //} else { // btnMessage.Text = mForceUpdateInfo.ReasonStr_En; // mAndroidUrl = mForceUpdateInfo.AndroidUrl_En; //} btnSave.MouseUpEventHandler += (sender2, e2) => { try { #if __IOS__ HDLUtils.OpenUrl(mForceUpdateInfo.IosUrl); //UIApplication.SharedApplication.OpenUrl (new Foundation.NSUrl ("https://apps.apple.com/cn/app/hdl-on/id1029839624")); #elif Android HDLUtils.OpenUrl(mAndroidUrl); //SharedMethod.SharedMethod.OpenUrl ("https://shouji.baidu.com/software/26667787.html"); #endif } catch { //跳转下载地址失败 Utlis.WriteLine("open url error"); } }; #endregion } else { #region 提示通知 Button btnSave = new Button() { Width = Application.GetRealWidth(500), TextID = StringId.Close, TextAlignment = TextAlignment.Center, TextColor = 0xFFFFFFFF, BackgroundColor = 0xFF000000, }; bottomView.AddChidren(btnSave); btnSave.MouseUpEventHandler += (sender2, e2) => { dialog.Close(); }; #endregion } dialog.Show(); } #endregion } }