From c53a46858f11e00490eb1b734402649536f0b7e2 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 11 六月 2024 14:19:13 +0800
Subject: [PATCH] 修复门锁呼叫问题

---
 HDL_ON/Common/HDLCommon.cs |  155 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 135 insertions(+), 20 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index a1629e6..4bbd15f 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -7,8 +7,6 @@
 using HDL_ON.Entity;
 using System.Threading;
 using HDL_ON.DriverLayer;
-using System.Collections.Generic;
-
 namespace HDL_ON
 {
     /// <summary>
@@ -83,6 +81,68 @@
         /// </summary>
         public void CheckIfNeedForceUpdate()
         {
+            System.Threading.Tasks.Task.Run(() =>
+            {
+                try
+                {
+                    var revertObj = new HttpServerRequest().CheckAppVersion();
+                    if (revertObj.Code == StateCode.SUCCESS)
+                    {
+                        if (revertObj.Data != null)
+                        {
+                            var appVersionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<AppVersionResNew>(revertObj.Data.ToString());
+                            if (appVersionRes != null)
+                            {
+
+                                var mForceUpdateInfo = new UpdateDialogInfo()
+                                {
+                                    UpdateType = appVersionRes.isEnforce ? 2 : 1,
+                                    NewVersion = appVersionRes.version,
+                                    NewVersionUrl = appVersionRes.packageUrl
+                                };
+#if __IOS__
+                                mForceUpdateInfo.NewVersionUrl = appVersionRes.packageUrl;
+#endif
+                                //瑙f瀽鏇存柊鍐呭璇︽儏
+                                //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;
+
+                                if (appVersionRes.version != MainPage.VersionString)
+                                {
+                                    Application.RunOnMainThread(() =>
+                                    {
+                                        ShowForceUpdateDialog(mForceUpdateInfo);
+                                    });
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        Utlis.WriteLine("璇锋眰澶辫触");
+                    }
+                }
+                catch (Exception ex)
+                {
+                    //Shared.Utlis.WriteLine (ex.ToString ());
+                }
+                finally
+                {
+
+                }
+
+            });
 
         }
 
@@ -113,6 +173,62 @@
         /// </summary>
         public void ShowForceUpdateDialog(UpdateDialogInfo mUpdateDialogInfo)
         {
+            // 1.1 娌℃湁鏇存柊 杩斿洖
+            if (mUpdateDialogInfo.UpdateType == 0) return;
+            // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖
+            if (mUpdateDialogInfo.UpdateType == 1 && (OnAppConfig.Instance.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
+            // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊
+            if (mUpdateDialogInfo.UpdateType == 1)
+            {
+                Action okAction = () =>
+                {
+                    if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl)) return;
+
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
+                };
+
+                Action cancelAction = () =>
+                {
+                    OnAppConfig.Instance.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
+                    OnAppConfig.Instance.SaveConfig();
+                };
+
+                //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 (mUpdateDialogInfo.UpdateType == 2) //2.2 闇�瑕佸己鍒舵洿鏂�
+            {
+                //2寮哄埗鏇存柊
+                //"1.鍙戠幇鏂扮増鏈珹pp,褰撳墠鐗堟湰宸插仠鐢�,椹笂鏇存柊!\n2.璇蜂笅杞藉拰瀹夎鏂扮増鏈�!....."
+                Action okAction = () =>
+                {
+                    if (string.IsNullOrEmpty(mUpdateDialogInfo.NewVersionUrl))
+                    {
+                        Utlis.ShowTip(Language.StringByID(StringId.DataExceptionPleaseTryAgain));
+                        return;
+                    };
+
+                    HDLUtils.OpenUrl(mUpdateDialogInfo.NewVersionUrl);
+                };
+
+                //1鎻愮ず鏇存柊
+                var dialog = new UpdateTipDialog();
+                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), mUpdateDialogInfo.ReasonStr, okAction);
+            }
         }
 
         #endregion
@@ -164,7 +280,7 @@
                         //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
                         ShowAlarmPushMessage(jpushMessageInfo, true);
                         //钀ょ煶闂ㄩ攣鎺ㄩ��
-                        //HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
+                        HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
                     }
                     //else if (jpushMessageInfo.messageType == (PushMessageType.FLCall.ToString()))
                     //{
@@ -291,13 +407,13 @@
                     {
                         ShowAlarmPushMessage(jpushMessageInfo, false);
                         //钀ょ煶闂ㄩ攣鎺ㄩ��
-                        //HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
+                        HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
                     }
-                    //else if (jpushMessageInfo.messageType == (PushMessageType.DOOR_BELL.ToString()))
-                    //{
-                    //    //钀ょ煶闂ㄩ攣鎺ㄩ��
-                    //    //HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
-                    //}
+                    else if (jpushMessageInfo.messageType == (PushMessageType.DOOR_BELL.ToString()))
+                    {
+                        //钀ょ煶闂ㄩ攣鎺ㄩ��
+                        HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo);
+                    }
 
 
                 }
@@ -338,9 +454,12 @@
         public void CheckLogout()
         {
 #if __IOS__
-            try{
+            try
+            {
                 HDL_ON_iOS.AppDelegate.rootViewController.PopToRootViewController(false);
-            }catch(Exception ex){
+            }
+            catch (Exception ex)
+            {
                 MainPage.Log($"鍥炲埌璺熺被澶辫触:{ex.Message}");
             }
 #else
@@ -642,13 +761,8 @@
                                     string strValue = list[i];
                                     nSObject[i] = new Foundation.NSString(strValue);
                                 }
-                                try
-                                {
-                                    EZSDK.IOS.EZSDK.SharedInstance().ToEZDeviceListViewWithFilterTypes(nSObject);
-                                }catch(Exception x)
-                                {
-                                    MainPage.Log("Error", x.Message);
-                                }
+                                EZSDK.IOS.EZSDK.SharedInstance().ToEZDeviceListViewWithFilterTypes(nSObject);
+
 
 
 #else
@@ -664,7 +778,7 @@
                                         {
                                             //2023骞�03鏈�29鏃�13:08:35 淇敼
                                             Com.Videogo.Hdl.HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id,
-                                                HttpUtil.APP_KEY,HttpUtil.SECRET_KEY);
+                                HttpUtil.APP_KEY, HttpUtil.SECRET_KEY);
                                             Com.Videogo.Hdl.HDLEzvizSdk.Instance.JumpToCameraListActivity(Shared.Application.Activity, list);
                                             //if (result)
                                             //{
@@ -694,7 +808,8 @@
                     }
                     else
                     {
-                        IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+                        if (result.Code != "-1")
+                            IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
                     }
                 }
                 catch (Exception ex)

--
Gitblit v1.8.0