黄学彪
2020-01-09 fa6bcb2e9907772480f99205f36ec2a1ce735a22
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -259,6 +259,11 @@
        /// <param name="pra">请求的参数</param>
        public static bool CheckNotEorrorMsg(ResponsePack revertObj, string RequestName, List<string> listNotShowError = null, object pra = null)
        {
            if (listNotShowError != null && listNotShowError.Contains("NotCheck") == true)
            {
                //不检测
                return true;
            }
            if (revertObj == null)
            {
                Application.RunOnMainThread(() =>
@@ -345,7 +350,6 @@
            var formTemp = UserCenterResourse.DicActionForm[formName];
            formTemp.CloseForm();
            UserCenterResourse.DicActionForm.Remove(formName);
            formTemp = null;
            return true;
        }
@@ -417,7 +421,7 @@
                                catch (Exception ex)
                                {
                                    //出现未知错误,数据丢失
                                    var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                                    var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                                    alert.Show();
                                    //Log出力
@@ -452,7 +456,7 @@
                                    catch (Exception ex)
                                    {
                                        //出现未知错误,数据丢失
                                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
                                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
                                        alert.Show();
                                        //Log出力
@@ -466,9 +470,7 @@
                //移除ID
                UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID);
                //移除画面
                var formTemp = UserCenterResourse.DicActionForm[formName];
                UserCenterResourse.DicActionForm.Remove(formName);
                formTemp = null;
            }
        }
@@ -615,8 +617,7 @@
            //关闭所有接收
            HdlGatewayReceiveLogic.Current.RemoveAllEvent();
            //清除升级列表
            FirmwareUpdateResourse.dicDeviceUpdateList.Clear();
            FirmwareUpdateResourse.dicGatewayUpdateList.Clear();
            FirmwareUpdateResourse.dicUpdateList.Clear();
            HdlThreadLogic.Current.RunThread(async () =>
            {
@@ -807,6 +808,8 @@
        {
            //APP缓存加载开始
            UserCenterResourse.Option.AppCanSignout = false;
            //还原远程连接变量
            ZigBee.Device.ZbGateway.AllowRemoteCtrl = true;
            //只有在住宅ID不一样的时候才做这个操作
            if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId
@@ -815,12 +818,22 @@
                try
                {
                    //断开远程Mqtt连接
                    ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient();
                    await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient();
                }
                catch { }
                //消息记录重新读取及检测
                ControlCommonResourse.ReadMessageAgain = true;
                ControlCommonResourse.HadNewMessage = false;
                HdlThreadLogic.Current.RunMain(() =>
                {
                    for (int i = 0; i < ControlCommonResourse.listMessageManaContr.Count; i++)
                    {
                        //显示角标特效
                        ControlCommonResourse.listMessageManaContr[i].IsSelected = false;
                    }
                });
                //加载账号配置信息
                var optionInfo = UserCenterResourse.Option.Load();
                UserCenterResourse.Option = optionInfo;
@@ -873,9 +886,6 @@
                    HdlGatewayLogic.Current.SynchronizeDbGateway();
                }
                //初始化住宅对象
                Common.Config.Instance.Home = House.GetHouseByHouseId(Common.Config.Instance.HomeId);
                //初始化房间(郭雪城那边不做处理,需要这里特殊执行一步)
                Room.RefreshAllRoomByLocation();
@@ -888,6 +898,8 @@
                    //开启自动备份提示
                    HdlAutoBackupLogic.ShowAutoBackupPromptedForm();
                }
                //显示引导界面
                ShowGuideForm(result);
            }
            //APP缓存加载完成
            UserCenterResourse.Option.AppCanSignout = true;
@@ -1182,6 +1194,36 @@
        #endregion
        #region ■ 引导界面___________________________
        /// <summary>
        /// 显示引导界面
        /// </summary>
        /// <param name="result">同步结果 -1:异常   0:已经同步过,不需要同步  1:正常同步  2:没有自动备份数据</param>
        private static void ShowGuideForm(int result)
        {
            var checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, DirNameResourse.GuideFile);
            if (System.IO.File.Exists(checkFile) == true)
            {
                //不需要显示
                return;
            }
            if (result == 2 && Config.Instance.Home.IsOthreShare == false)
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
                    var form = new Guide.GuideHouseForm();
                    form.ShowFrom();
                });
            }
            //创建一个空文件(标识已经完成引导)
            var file = System.IO.File.Create(checkFile);
            file.Close();
        }
        #endregion
        #region ■ 16进制转化_________________________
        /// <summary>
@@ -1292,6 +1334,21 @@
        }
        #endregion
        #region ■ 时间转换___________________________
        /// <summary>
        /// 将utc时间类型的字符串,转换为本地时间
        /// </summary>
        /// <param name="timeText"></param>
        /// <returns></returns>
        public static DateTime ConvertUtcTimeToLocalTime(string timeText)
        {
            var utcTime = Convert.ToDateTime(timeText);
            return TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local);
        }
        #endregion
        #region ■ 文件保存和读取_____________________
        /// <summary>