From 62d77d3bb8e7215d9da9ecf6f5aeda0b69f805f8 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 08 十二月 2020 18:57:15 +0800 Subject: [PATCH] 20201208 --- HDL_ON/Common/HDLCommon.cs | 223 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 190 insertions(+), 33 deletions(-) diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs index df996d7..7b335c1 100644 --- a/HDL_ON/Common/HDLCommon.cs +++ b/HDL_ON/Common/HDLCommon.cs @@ -4,6 +4,7 @@ using HDL_ON.UI.CSS; using HDL_ON.DAL.Server; using HDL_ON.UI; +using HDL_ON.Entity; namespace HDL_ON { @@ -78,24 +79,43 @@ { try { - var requestObj = new ForceUpdateObj() - { - LanguageType = Utlis.GetPostLanguageType() - }; -#if __IOS__ - requestObj.DeviceType = PhoneDeviceType.IOS.ToString(); -#endif - var requestJson = HttpUtil.GetSignRequestJson(requestObj); - var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson); + var revertObj = new HttpServerRequest().CheckAppVersion(); if (revertObj.Code == StateCode.SUCCESS) { - var mForceUpdateInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<ForceUpdateInfo>(revertObj.Data.ToString()); - if (mForceUpdateInfo != null) + if (revertObj.Data != null) { - Application.RunOnMainThread(() => + var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(revertObj.Data.ToString()); + if (appVersionRes != null) { - ShowForceUpdateDialog(mForceUpdateInfo); - }); + + var mForceUpdateInfo = new UpdateDialogInfo() + { + UpdateType = appVersionRes.isEnforce ? 2 : 1, + NewVersion = appVersionRes.version, + NewVersionUrl = appVersionRes.androidUrl + }; +#if __IOS__ + mForceUpdateInfo.NewVersionUrl = appVersionRes.iosUrl; +#endif + //瑙f瀽鏇存柊鍐呭璇︽儏 + var reasonStrJson = GetReasonStrJson(appVersionRes.updateDescription); + if (reasonStrJson != null) + { + if (Language.CurrentLanguage == "Chinese") + { + mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese; + } + else + { + mForceUpdateInfo.ReasonStr = reasonStrJson.English; + } + } + + Application.RunOnMainThread(() => + { + ShowForceUpdateDialog(mForceUpdateInfo); + }); + } } } else @@ -117,68 +137,205 @@ } /// <summary> + /// + /// </summary> + /// <param name="jsonStr"></param> + /// <returns></returns> + public ReasonStrJson GetReasonStrJson(string jsonStr) + { + try + { + if (!string.IsNullOrEmpty(jsonStr)) + { + return Newtonsoft.Json.JsonConvert.DeserializeObject<ReasonStrJson>(jsonStr); + } + return null; + } + catch + { + return null; + } + } + + /// <summary> /// 鎻愮ず寮哄埗鏇存柊Dialog /// 鐐瑰嚮纭璺宠浆娴忚鍣� /// </summary> - public void ShowForceUpdateDialog(ForceUpdateInfo mForceUpdateInfo) + public void ShowForceUpdateDialog(UpdateDialogInfo mUpdateDialogInfo) { // 1.1 娌℃湁鏇存柊 杩斿洖 - if (mForceUpdateInfo.UpdateType == 0) return; + if (mUpdateDialogInfo.UpdateType == 0) return; // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖 - if (mForceUpdateInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mForceUpdateInfo.NewVersion)) return; + if (mUpdateDialogInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return; // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊 - if (mForceUpdateInfo.UpdateType == 1) + if (mUpdateDialogInfo.UpdateType == 1) { Action okAction = () => { - if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) return; + if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) return; - HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); + HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl); }; Action cancelAction = () => { - //UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion; - //UserInfo.Current.SaveUserInfo(); + UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.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); + var dialog = new UpdateTipDialog(); + var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion; + dialog.ShowUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction, cancelAction); } - else if (mForceUpdateInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂� + else if (mUpdateDialogInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂� { //2寮哄埗鏇存柊 //"1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!....." Action okAction = () => { - if (string.IsNullOrEmpty(mForceUpdateInfo.NewVersionUrl)) { + if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) + { Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain)); return; }; - HDLUtils.OpenUrl(mForceUpdateInfo.NewVersionUrl); + HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl); }; - + //1鎻愮ず鏇存柊 var dialog = new UpdateTipDialog(); - var tipStr = Language.StringByID(StringId.VersionNumber) + mForceUpdateInfo.NewVersion; - dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mForceUpdateInfo.ReasonStr, okAction); + var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion; + dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.ReasonStr, okAction); } else //3. 鍙渶鎻愮ず { //3鎻愮ず閫氱煡 Action okAction = () => { - + }; var dialog = new UpdateTipDialog(); - dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mForceUpdateInfo.ReasonStr, okAction); + dialog.ShowTipDialog(Language.StringByID(StringId.Tip), mUpdateDialogInfo.ReasonStr, okAction); } } #endregion + + /// <summary> + /// 鎭㈠浣忓畢 + /// 2020-12-03 寰呮祴璇曟湭妫�娴� + /// </summary> + public void RestoreHomeBackup(string RegionID) + { + var isExist = FileUtils.ExistRegion(RegionID); + if (isExist) + { + //瀛樺湪鍒欐仮澶� + string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID); + FileUtils.RestoreRegionFiles(newRegionRootPath); + } + } + + #region 鎺ㄩ�佸鐞� + /// <summary> + /// 鎺ㄩ�佹秷鎭鐞� + /// </summary> + /// <param name="jpushMessageInfo"></param> + public void AdjustPushMessage(JPushMessageInfo jpushMessageInfo) + { +#if DEBUG + return; +#endif + try + { + if (jpushMessageInfo.Extras != null && jpushMessageInfo.Extras.Contains("OffLine")) + { + Shared.Application.RunOnMainThread(() => + { + //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈� + new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show(); + //2020-12-04 寰呭鍔犻��鍑虹櫥褰曟搷浣� + Logout(); + }); + return; + } + else + { + Shared.Application.RunOnMainThread(() => + { + new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show(); + }); + return; + + } + } + catch + { + + } + } + + /// <summary> + /// 閫�鍑虹櫥褰曟搷浣� + /// </summary> + public void Logout() + { + try + { + //鏈櫥褰曚笉鐢ㄥ鐞� + if (!UserInfo.Current.IsLogin) return; + + Shared.Application.RunOnMainThread(() => + { + #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す + string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString()); + new System.Threading.Thread(() => + { + try + { + var backuplist = FileUtils.ReadFiles(); + FileUtils.DeleteRegionFiles(oldRegionRootPath); + //绉诲姩鏂囦欢 + foreach (var fileName in backuplist) + { + System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName); + if (fileInfo.Exists) + { + fileInfo.MoveTo(oldRegionRootPath + fileName); + MainPage.Log("move file : " + fileName); + } + } + } + catch (Exception ex) + { + MainPage.Log($"xxx:{ex.Message}"); + } + finally + { + FileUtils.DeleteAllFile(); + } + }).Start(); + #endregion + + ////2.娉ㄩ攢鎺ㄩ�� + new HttpServerRequest().SignOutPush(); + //3.璺宠浆鐧诲綍椤甸潰 + UserInfo.Current.LastTime = DateTime.MinValue; + UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚 + UserInfo.Current.SaveUserInfo(); + MainPage.GoLoginPage(UserInfo.Current); + DB_ResidenceData.residenceData.EixtAccount(); + }); + + } + catch (Exception ex) + { + MainPage.Log($"xxx:{ex.Message}"); + } + } + #endregion + } } -- Gitblit v1.8.0