wei
2020-12-11 4f40e8385ff6725be8e8b642e50f9f7201a27dfa
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
{
@@ -68,7 +69,7 @@
        #endregion
        #region 检测更新
        #region ■ 检测更新_______________________
        /// <summary>
        /// 检测更新线程
        /// </summary>
@@ -222,22 +223,149 @@
        #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>
        /// 恢复住宅
        /// 2020-12-03 待测试未检测
        /// 推送消息处理
        /// </summary>
        public void RestoreHomeBackup(string RegionID)
        /// <param name="jpushMessageInfo"></param>
        public void AdjustPushMessage(JPushMessageInfo jpushMessageInfo)
        {
            var isExist = FileUtils.ExistRegion(RegionID);
            if (isExist)
            try
            {
                //存在则恢复
                string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
                FileUtils.RestoreRegionFiles(newRegionRootPath);
                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
        #region ■ 常用方法_______________________
        /// <summary>
        /// 设置下划线按钮状态
        /// 统一封装设置方法
        /// </summary>
        /// <param name="button">下划线按钮</param>
        /// <param name="bottomLineType">状态</param>
        public void BottomLineShowType(Button button, BottomLineType bottomLineType)
        {
            switch (bottomLineType)
            {
                case BottomLineType.GotFocus:
                    button.BackgroundColor = CSS_Color.MainColor;
                    button.Height = Application.GetRealHeight(2);
                    break;
                case BottomLineType.Error:
                    button.BackgroundColor = CSS_Color.AuxiliaryColor2;
                    button.Height = Application.GetRealHeight(2);
                    break;
                case BottomLineType.Normal:
                    button.BackgroundColor = CSS_Color.DividingLineColor;
                    button.Height = Application.GetRealHeight(1);
                    break;
                default:
                    button.BackgroundColor = CSS_Color.DividingLineColor;
                    button.Height = Application.GetRealHeight(1);
                    break;
            }
        }
        #endregion
    }
}