New file |
| | |
| | | using System; |
| | | using Shared; |
| | | using HDL_ON; |
| | | using HDL_ON.UI.CSS; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.UI; |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ■ Alter弹窗提示_______________________ |
| | | /// <summary> |
| | | /// 弹窗提示 |
| | | /// </summary> |
| | | /// <param name="mes"></param> |
| | | public void ShowAlert(string mes) |
| | | { |
| | | new Alert("", mes, Language.StringByID(StringId.Close)).Show(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 弹窗提示 |
| | | /// </summary> |
| | | /// <param name="mes">弹窗提示信息</param> |
| | | /// <param name="okAction">确认按钮事件</param> |
| | | 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 检测更新 |
| | | /// <summary> |
| | | /// 检测更新线程 |
| | | /// </summary> |
| | | public void CheckIfNeedForceUpdate() |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var requestObj = new ForceUpdateObj() |
| | | { |
| | | LanguageType = Utlis.GetPostLanguageType() |
| | | }; |
| | | #if __IOS__ |
| | | requestObj.DeviceType = PhoneDeviceType.IOS.ToString(); |
| | | #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 |
| | | { |
| | | |
| | | } |
| | | |
| | | }); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 提示强制更新Dialog |
| | | /// 点击确认跳转浏览器 |
| | | /// </summary> |
| | | public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo) |
| | | { |
| | | // 1.1 没有更新 返回 |
| | | if (mForceUpdateInfo.UpdateType == 0) return; |
| | | // 1.2 有新版本但是忽略过 返回 |
| | | if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return; |
| | | // 2.1 有新版本没有忽略过 提示更新 |
| | | if (mForceUpdateInfo.UpdateType == 1) |
| | | { |
| | | Action okAction = () => |
| | | { |
| | | if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) return; |
| | | |
| | | HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); |
| | | }; |
| | | |
| | | Action cancelAction = () => |
| | | { |
| | | //UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion; |
| | | //UserInfo.Current.SaveUserInfo(); |
| | | }; |
| | | |
| | | //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) //2.2 需要强制更新 |
| | | { |
| | | //2强制更新 |
| | | //"1.发现新版本App,当前版本已停用,马上更新!\n2.请下载和安装新版本!....." |
| | | Action okAction = () => |
| | | { |
| | | if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) { |
| | | Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain)); |
| | | return; |
| | | }; |
| | | |
| | | HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); |
| | | }; |
| | | |
| | | //1提示更新 |
| | | var dialog = new UpdateTipDialog(); |
| | | var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion; |
| | | dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction); |
| | | } |
| | | else //3. 只需提示 |
| | | { |
| | | //3提示通知 |
| | | Action okAction = () => |
| | | { |
| | | |
| | | }; |
| | | var dialog = new UpdateTipDialog(); |
| | | dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mForceUpdateInfo.ReasonStr, okAction); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |