From e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 09 十二月 2020 18:50:14 +0800
Subject: [PATCH] 2020-12-09 1.信息中心,增加下划线和点击Alter提醒详情。

---
 HDL_ON/Common/HDLCommon.cs |  417 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 208 insertions(+), 209 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index c7a4567..47cc846 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -3,6 +3,8 @@
 using HDL_ON;
 using HDL_ON.UI.CSS;
 using HDL_ON.DAL.Server;
+using HDL_ON.UI;
+using HDL_ON.Entity;
 
 namespace HDL_ON
 {
@@ -73,30 +75,47 @@
         /// </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);
+                    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
@@ -115,228 +134,208 @@
 
             });
 
+        }
 
-            //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.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\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>
+        /// <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)
         {
-
-            //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()
+            // 1.1 娌℃湁鏇存柊 杩斿洖
+            if (mUpdateDialogInfo.UpdateType == 0) return;
+            // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖
+            if (mUpdateDialogInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
+            // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊
+            if (mUpdateDialogInfo.UpdateType == 1)
             {
-                Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(500),
-                Height = Application.GetRealHeight(500),
-                BackgroundColor = 0xFF000000,
-                Radius = (uint)Application.GetRealHeight(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()
+                Action okAction = () =>
                 {
-                    Width = Application.GetRealWidth(249),
-                    TextID = StringId.Ignore,
-                    TextAlignment = TextAlignment.Center,
-                    TextColor = 0xFFFFFFFF,
-                    BackgroundColor = 0xFF000000,
-                    //Text = "蹇界暐"
+                    if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) return;
+
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
                 };
-                bottomView.AddChidren(btnNext);
-                btnNext.MouseUpEventHandler += (sender2, e2) =>
+
+                Action cancelAction = () =>
                 {
-                    //UserConfig.Instance.IfIgnoreUpdate = true;
-                    UserInfo.Current.IgnoreUpdateVersion = mForceUpdateInfo.NewVersion;
+                    UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.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
+                //1鎻愮ず鏇存柊
+                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)
+            else if (mUpdateDialogInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂�
             {
-                #region 寮哄埗鏇存柊
-                Button btnSave = new Button()
+                //2寮哄埗鏇存柊
+                //"1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!....."
+                Action okAction = () =>
                 {
-                    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 (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl))
                     {
+                        Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain));
+                        return;
+                    };
 
-#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");
-                    }
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
                 };
-                #endregion
+
+                //1鎻愮ず鏇存柊
+                var dialog = new UpdateTipDialog();
+                var tipStr = Language.StringByID(StringId.VersionNumber) + mUpdateDialogInfo.NewVersion;
+                dialog.ShowForcedUpdateDialog(Language.StringByID(StringId.DiscoverNewVersion), tipStr, mUpdateDialogInfo.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), mUpdateDialogInfo.ReasonStr, okAction);
             }
-            dialog.Show();
-
         }
+
         #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)
+        {
+            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();
+                        //閫�鍑虹櫥褰曟搷浣�
+                        CheckLogout();
+                    });
+                    return;
+                }
+                else
+                {
+                    Shared.Application.RunOnMainThread(() =>
+                    {
+                        new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+                    });
+                    return;
+                }
+            }
+            catch
+            {
+
+            }
+        }
+
+        /// <summary>
+        /// 閫�鍑虹櫥褰曟搷浣�
+        /// </summary>
+        public void CheckLogout()
+        {
+#if DEBUG
+            return;
+#endif
+            //鏈櫥褰曚笉鐢ㄥ鐞�
+            if (!UserInfo.Current.IsLogin) return;
+
+            Logout();
+        }
+
+        /// <summary>
+        /// 閫�鍑虹櫥褰曟搷浣�
+        /// </summary>
+        public void Logout()
+        {
+            new System.Threading.Thread(() =>
+            {
+                try
+                {
+                    #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
+                    string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
+                    //娓呯┖涔嬪墠鐨勪綇瀹呮枃浠�
+                    FileUtils.DeleteRegionFiles(oldRegionRootPath);
+                    var backuplist = FileUtils.ReadFiles();
+                    //绉诲姩鏂囦欢
+                    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);
+                        }
+                    }
+                    #endregion
+                }
+                catch (Exception ex)
+                {
+                    MainPage.Log($"xxx:{ex.Message}");
+                }
+                finally
+                {
+                    FileUtils.DeleteAllFile();
+                    //2.娉ㄩ攢鎺ㄩ��
+                    new HttpServerRequest().SignOutPush();
+                    //3.璺宠浆鐧诲綍椤甸潰
+                    UserInfo.Current.LastTime = DateTime.MinValue;
+                    UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
+                    UserInfo.Current.SaveUserInfo();
+                    Shared.Application.RunOnMainThread(() =>
+                    {
+                        MainPage.GoLoginPage(UserInfo.Current);
+                        DB_ResidenceData.residenceData.EixtAccount();
+                    });
+                }
+            }).Start();
+        }
+
+        #endregion
+
     }
 }

--
Gitblit v1.8.0