| | |
| | | using HDL_ON; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.UI; |
| | | |
| | | namespace HDL_ON |
| | | { |
| | |
| | | /// </summary> |
| | | public void CheckIfNeedForceUpdate() |
| | | { |
| | | // //return; |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var requestObj = new ForceUpdateObj() |
| | | { |
| | | |
| | | |
| | | LanguageType = Utlis.GetPostLanguageType() |
| | | }; |
| | | #if Android |
| | | requestObj.DeviceType = 1; |
| | | #if __IOS__ |
| | | requestObj.DeviceType = PhoneDeviceType.IOS.ToString(); |
| | | #endif |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); |
| | | var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson); |
| | |
| | | |
| | | }); |
| | | |
| | | |
| | | //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); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo) |
| | | { |
| | | |
| | | //if (!mForceUpdateInfo.IsNeedForceUpdate) return; |
| | | |
| | | // 1.1 没有更新 返回 |
| | | if (mForceUpdateInfo.UpdateType == 0) return; |
| | | |
| | | // 1.2 有新版本但是忽略过 返回 |
| | | 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; |
| | | } |
| | | |
| | | |
| | | // 2.1 有新版本没有忽略过 提示更新 |
| | | if (mForceUpdateInfo.UpdateType == 1) |
| | | { |
| | | #region 提示更新 |
| | | Button btnNext = new Button() |
| | | Action okAction = () => |
| | | { |
| | | 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(); |
| | | if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) return; |
| | | |
| | | HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); |
| | | }; |
| | | |
| | | Button btnSave = new Button() |
| | | Action cancelAction = () => |
| | | { |
| | | 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"); |
| | | } |
| | | //UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion; |
| | | //UserInfo.Current.SaveUserInfo(); |
| | | }; |
| | | |
| | | #endregion |
| | | //1提示更新 |
| | | var dialog = new UpdateTipDialog(); |
| | | var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion; |
| | | dialog.ShowUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction, cancelAction); |
| | | |
| | | } |
| | | else if (mForceUpdateInfo.UpdateType == 2) |
| | | else if (mForceUpdateInfo.UpdateType == 2) //2.2 需要强制更新 |
| | | { |
| | | #region 强制更新 |
| | | Button btnSave = new Button() |
| | | //2强制更新 |
| | | //"1.发现新版本App,当前版本已停用,马上更新!\n2.请下载和安装新版本!....." |
| | | Action okAction = () => |
| | | { |
| | | Width = Application.GetRealWidth(500), |
| | | TextID = StringId.Confirm, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = 0xFFFFFFFF, |
| | | BackgroundColor = 0xFF000000, |
| | | if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) { |
| | | Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain)); |
| | | return; |
| | | }; |
| | | |
| | | HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); |
| | | }; |
| | | 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 |
| | | |
| | | //1提示更新 |
| | | var dialog = new UpdateTipDialog(); |
| | | var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion; |
| | | dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction); |
| | | } |
| | | else |
| | | else //3. 只需提示 |
| | | { |
| | | #region 提示通知 |
| | | Button btnSave = new Button() |
| | | //3提示通知 |
| | | Action okAction = () => |
| | | { |
| | | Width = Application.GetRealWidth(500), |
| | | TextID = StringId.Close, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = 0xFFFFFFFF, |
| | | BackgroundColor = 0xFF000000, |
| | | |
| | | }; |
| | | bottomView.AddChidren(btnSave); |
| | | |
| | | btnSave.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | #endregion |
| | | var dialog = new UpdateTipDialog(); |
| | | dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mForceUpdateInfo.ReasonStr, okAction); |
| | | } |
| | | dialog.Show(); |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |