wjc
2023-03-28 a9d1161b1df96e7ddad566335989a1444e433ef5
HDL_ON/Common/HDLCommon.cs
@@ -91,7 +91,7 @@
                    {
                        if (revertObj.Data != null)
                        {
                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionRes>(revertObj.Data.ToString());
                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionResNew>(revertObj.Data.ToString());
                            if (appVersionRes != null)
                            {
@@ -99,29 +99,33 @@
                                {
                                    UpdateType = appVersionRes.isEnforce ? 2 : 1,
                                    NewVersion = appVersionRes.version,
                                    NewVersionUrl = appVersionRes.androidUrl
                                    NewVersionUrl = appVersionRes.packageUrl
                                };
#if __IOS__
                                mForceUpdateInfo.NewVersionUrl = appVersionRes.iosUrl;
                                mForceUpdateInfo.NewVersionUrl = appVersionRes.packageUrl;
#endif
                                //解析更新内容详情
                                var reasonStrJson = GetReasonStrJson(appVersionRes.updateDescription);
                                if (reasonStrJson != null)
                                {
                                    if (Language.CurrentLanguage == "Chinese")
                                    {
                                        mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese;
                                    }
                                    else
                                    {
                                        mForceUpdateInfo.ReasonStr = reasonStrJson.English;
                                    }
                                }
                                //var reasonStrJson = GetReasonStrJson(appVersionRes.remark);
                                //if (reasonStrJson != null)
                                //{
                                //    if (Language.CurrentLanguage == "Chinese")
                                //    {
                                //        mForceUpdateInfo.ReasonStr = reasonStrJson.Chinese;
                                //    }
                                //    else
                                //    {
                                //        mForceUpdateInfo.ReasonStr = reasonStrJson.English;
                                //    }
                                //}
                                mForceUpdateInfo.ReasonStr = appVersionRes.remark;
                                Application.RunOnMainThread(() =>
                                if (appVersionRes.version != MainPage.VersionString)
                                {
                                    ShowForceUpdateDialog(mForceUpdateInfo);
                                });
                                    Application.RunOnMainThread(() =>
                                    {
                                        ShowForceUpdateDialog(mForceUpdateInfo);
                                    });
                                }
                            }
                        }
                    }
@@ -301,9 +305,23 @@
                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.HDL_INTERPHONE.ToString()))
                    {
                        if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
                        //字段兼容问题,只能直接取值了
                        var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
                        try
                        {
                            var pushTime = json["pushTime"];
                            if (!string.IsNullOrEmpty(pushTime.ToString()))
                            {
                                var pushDateTime = Utlis.UnixToDateTimeMS(Convert.ToInt64(pushTime));
                                if (pushDateTime.AddSeconds(30) < DateTime.Now)
                                {
                                    return;
                                }
                            }
                        }
                        catch { }
                        //1.视对讲厂家类型
                        string interphoneTypeEnum = json["interphoneTypeEnum"].ToString();
                        if (string.IsNullOrEmpty(interphoneTypeEnum)) return;
@@ -330,7 +348,6 @@
                        }
                        else if (interphoneTypeEnum == InterphoneType.HDL.ToString())
                        {
                            //HDL Linphone 狄耐克
                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                            eSVideoInfo.callId = json["callId"].ToString();
@@ -341,7 +358,22 @@
                            //ShowAlert("狄耐克门口机呼叫");
                            //打开呼叫页面
                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo);
                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.HDL.ToString());
                            return;
                        }
                        else if (interphoneTypeEnum == InterphoneType.FREEVIEW.ToString())
                        {
                            //全视通 Linphone 狄耐克
                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
                            eSVideoInfo.callId = json["callId"].ToString();
                            eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                            eSVideoInfo.DeviceName = json["deviceName"].ToString();
                            eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
                            eSVideoInfo.spk = json["spk"].ToString();
                            //ShowAlert("狄耐克门口机呼叫");
                            //打开呼叫页面
                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo, InterphoneType.FREEVIEW.ToString());
                            return;
                        }
@@ -353,6 +385,21 @@
                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
                    {
                        ShowAlarmPushMessage(jpushMessageInfo, false);
                    }
                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
                    {
                        try
                        {
                            if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
                            var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.VideoDoorLock.ExpantContent>(jpushMessageInfo.expantContent);
                            if (expantContent == null)
                            {
                                return;
                            }
                            ///视频门锁
                            HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId,expantContent.spk,true);
                        }
                        catch { }
                    }
                }
            }
@@ -593,6 +640,7 @@
        public void UpdateInternetStatus(int internetStatus, bool IsEnterBackground = false)
        {
            MainPage.Log($"网络状态变化,当前网络:{internetStatus} 是否后台:{IsEnterBackground.ToString()}");
            MainPage.LinkHdlMqttCount = 0;
            //网络状态变化 重置网关状态重新搜索
            Control.Ins.GatewayOnline_Cloud = false;
            Control.Ins.GatewayOnline_Local = false;
@@ -602,6 +650,7 @@
            if (internetStatus == 0)//没有网络连接 0
            {
                MainPage.InternetStatus = 0;
                DAL.Mqtt.MqttClient.InitState();
            }
            else if (internetStatus == 1)//3,4G的网络连接 1
            {
@@ -653,6 +702,10 @@
                                EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
                                //2.设置萤石子账号的AccessToken到SDK
                                EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
                                //Console.WriteLine("loginToken:" + UserInfo.Current.LoginTokenString);
                                //Console.WriteLine("refreshToken:" + UserInfo.Current.RefreshToken);
                                ////3.打开摄像头设备列表页面
                                EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();