| | |
| | | using Shared; |
| | | using HDL_ON; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.DAL.Server; |
| | | |
| | | namespace HDL_ON |
| | | { |
| | | /// <summary> |
| | | /// HDLCommon |
| | | /// 暂时没用 |
| | | /// </summary> |
| | | public class HDLCommon |
| | | { |
| | | #region ■ 变量声明___________________________ |
| | | /// <summary> |
| | | /// 通用方法 |
| | | /// </summary> |
| | | private static HDLCommon m_Current = null; |
| | | /// <summary> |
| | | /// 通用方法 |
| | | /// </summary> |
| | | public static HDLCommon Current |
| | | { |
| | | get |
| | | { |
| | | if (m_Current == null) |
| | | { |
| | | m_Current = new HDLCommon(); |
| | | } |
| | | return m_Current; |
| | | } |
| | | } |
| | | #region ■ 变量声明___________________________ |
| | | /// <summary> |
| | | /// 通用方法 |
| | | /// </summary> |
| | | private static HDLCommon m_Current = null; |
| | | /// <summary> |
| | | /// 通用方法 |
| | | /// </summary> |
| | | public static HDLCommon Current |
| | | { |
| | | get |
| | | { |
| | | if (m_Current == null) |
| | | { |
| | | m_Current = new HDLCommon(); |
| | | } |
| | | return m_Current; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ■ Alter弹窗提示_______________________ |
| | |
| | | public void ShowActionAlert(string mes, Action okAction) |
| | | { |
| | | Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm)); |
| | | alert.ResultEventHandler += (sender2, e2) => { |
| | | alert.ResultEventHandler += (sender2, e2) => |
| | | { |
| | | if (e2) |
| | | { |
| | | okAction?.Invoke(); |
| | |
| | | #endregion |
| | | |
| | | #region ■ 通用Dialog_______________________ |
| | | /// <summary> |
| | | /// 加载提示Dialog |
| | | /// </summary> |
| | | /// <param name="titleId"></param> |
| | | /// <param name="msgId"></param> |
| | | /// <param name="callBackAction"></param> |
| | | void ShowConfirmDialogBase(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm) |
| | | { |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = CSS_Color.DialogTransparentColor1, |
| | | }; |
| | | |
| | | FrameLayout contentView = new FrameLayout() |
| | | #endregion |
| | | |
| | | #region 检测更新 |
| | | /// <summary> |
| | | /// 检测更新线程 |
| | | /// </summary> |
| | | 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<ForceUpdateInfo>(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); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 提示强制更新Dialog |
| | | /// 点击确认跳转浏览器 |
| | | /// </summary> |
| | | 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(270), |
| | | Height = Application.GetRealHeight(140), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | BorderColor = 0x00000000, |
| | | Width = Application.GetRealWidth(500), |
| | | Height = Application.GetRealHeight(500), |
| | | BackgroundColor = 0xFF000000, |
| | | Radius = (uint)Application.GetRealWidth(10), |
| | | //BorderColor = SkinStyle.Current.Transparent, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetMinRealAverage(10), |
| | | }; |
| | | dialog.AddChidren(contentView); |
| | | dialog.AddChidren(dialogBodyView); |
| | | |
| | | Button btnTitle = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(16), |
| | | Height = Application.GetRealHeight(30), |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | Height = Application.GetRealHeight(80), |
| | | BackgroundColor = 0x00000000, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsBold = true, |
| | | TextID = titleId, |
| | | TextID = StringId.Tip, |
| | | TextColor = 0xFFFFFFFF |
| | | }; |
| | | contentView.AddChidren(btnTitle); |
| | | dialogBodyView.AddChidren(btnTitle); |
| | | |
| | | Button btnMsg = new Button() |
| | | |
| | | FrameLayout centerView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(80), |
| | | Height = Application.GetRealHeight(340), |
| | | BackgroundColor = 0xFFFFFFFF, |
| | | }; |
| | | dialogBodyView.AddChidren(centerView); |
| | | |
| | | Button btnMessage = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Height = Application.GetRealHeight(25), |
| | | Y = btnTitle.Bottom, |
| | | Width = Application.GetRealHeight(200), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextID = msgId, |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetRealWidth(400), |
| | | //Height = Application.GetRealHeight (300), |
| | | //Text = mForceUpdateInfo.ReasonStr, |
| | | TextAlignment = TextAlignment.TopLeft, |
| | | //TextColor = SkinStyle.Current.TextColor, |
| | | IsMoreLines = true |
| | | }; |
| | | contentView.AddChidren(btnMsg); |
| | | centerView.AddChidren(btnMessage); |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(96), |
| | | Height = Application.GetRealHeight(1), |
| | | Width = Application.GetRealWidth(270 / 2), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }; |
| | | contentView.AddChidren(btnLine); |
| | | |
| | | Button btnCancel = new Button() |
| | | FrameLayout bottomView = new FrameLayout() |
| | | { |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(43), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextID = cancelID, |
| | | }; |
| | | contentView.AddChidren(btnCancel); |
| | | Y = Application.GetRealHeight(420), |
| | | Height = Application.GetRealHeight(80), |
| | | BackgroundColor = 0xFFFFFFFF, |
| | | |
| | | Button btnConfirm = new Button() |
| | | { |
| | | X = btnCancel.Right, |
| | | Y = btnLine.Y, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(45), |
| | | TextAlignment = TextAlignment.Center, |
| | | //TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | BackgroundColor = CSS_Color.MainColor, |
| | | TextID = confirmID, |
| | | }; |
| | | contentView.AddChidren(btnConfirm); |
| | | //例:右下圆角 大小为50 |
| | | int mRectCornerID = HDLUtils.RectCornerBottomRight; |
| | | btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); |
| | | 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(); |
| | | btnCancel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | cancelAction?.Invoke(); |
| | | }; |
| | | |
| | | btnConfirm.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | okAction?.Invoke(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载提示Dialog |
| | | /// </summary> |
| | | /// <param name="titleId"></param> |
| | | /// <param name="msgId"></param> |
| | | /// <param name="callBackAction"></param> |
| | | public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction = null) |
| | | { |
| | | ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载提示Dialog |
| | | /// 可以自定义按钮文字 |
| | | /// </summary> |
| | | /// <param name="titleId"></param> |
| | | /// <param name="msgId"></param> |
| | | /// <param name="okAction"></param> |
| | | /// <param name="cancelAction"></param> |
| | | /// <param name="cancelID"></param> |
| | | /// <param name="confirmID"></param> |
| | | public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID) |
| | | { |
| | | ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction, cancelID, confirmID); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | } |