wxr
2024-06-11 c53a46858f11e00490eb1b734402649536f0b7e2
修复门锁呼叫问题
6个文件已修改
248 ■■■■ 已修改文件
.vs/Santan-OnPro-Project/xs/UserPrefs.xml 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/Constant.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/Santan-OnPro-Project/xs/UserPrefs.xml
@@ -1,7 +1,4 @@
<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
  <MonoDevelop.Ide.ItemProperties.APP__IOS Xamarin.HotReload.MonoInterpreterErrorInfoBar.APP__IOS.HideInfoBar="True" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.42525798-FD1A-478E-89EB-FD4A5C2176ED" />
  <MonoDevelop.Ide.ItemProperties.APP__Android Xamarin.HotReload.WrongLinkerErrorInfoBar.APP__Android.HideInfoBar="True" PreferredExecutionTarget="Android.SelectDevice" />
  <MultiItemStartupConfigurations />
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/UI/UI2/2-Classification/SeriesFunctionListPage.cs" relfile="HDL_ON/UI/UI2/2-Classification/SeriesFunctionListPage.cs" line="25" column="1" />
@@ -13,23 +10,21 @@
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/DAL/Server/HttpServerRequest.cs" relfile="HDL_ON/DAL/Server/HttpServerRequest.cs" line="350" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs" line="81" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/DAL/Server/HttpUtil.cs" relfile="HDL_ON/DAL/Server/HttpUtil.cs" line="326" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs" relfile="HDL_ON/UI/UI1-Login/LoginPageBLL.cs" line="733" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/Common/HDLCommon.cs" relfile="HDL_ON/Common/HDLCommon.cs" line="610" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/Projcect/Santan-OnPro-Project/HDL_ON/DAL/Server/HttpServerRequest.cs" relfile="HDL_ON/DAL/Server/HttpServerRequest.cs" line="3558" column="1" />
    </BreakpointStore>
  </MonoDevelop.Ide.DebuggingService.Breakpoints>
  <Xamarin.Addins.Core.Project ActiveDebugTarget="Android.3TG0221602005112" />
  <MonoDevelop.Ide.ItemProperties.APP__IOS Xamarin.HotReload.MonoInterpreterErrorInfoBar.APP__IOS.HideInfoBar="True" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget" />
  <MultiItemStartupConfigurations />
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
  <MonoDevelop.MonoDroid LastDeploySdkVersion="13.2.2.0" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/Server/HttpServerRequest.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs">
    <Files>
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideDoorLockSend.cs" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs" />
      <File FileName="HDL_ON/Common/HDLCommon.cs" />
      <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="3565" Column="32" />
      <File FileName="HDL_ON/DAL/Server/NewAPI.cs" Line="1047" Column="29" />
      <File FileName="HDL-ON_iOS/Info.plist" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" />
      <File FileName="HDL_ON/UI/UI1-Login/LoginPage.cs" Line="226" Column="18" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs" Line="358" Column="25" />
      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="22" Column="41" />
      <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="3559" Column="1" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" Line="632" Column="47" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
@@ -37,15 +32,19 @@
          <Node name="Santan-OnPro-Project" expanded="True">
            <Node name="HDL_ON">
              <Node name="DAL" expanded="True">
                <Node name="Server" expanded="True">
                  <Node name="HttpServerRequest.cs" selected="True" />
                </Node>
                <Node name="Server" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="UI1-Login" expanded="True" />
                <Node name="UI2" expanded="True">
                  <Node name="3-Intelligence" expanded="True">
                    <Node name="Automation" expanded="True" />
                  </Node>
                  <Node name="4-PersonalCenter" expanded="True" />
                  <Node name="FuntionControlView" expanded="True">
                    <Node name="VideoDoorLock" expanded="True" />
                    <Node name="VideoDoorLock" expanded="True">
                      <Node name="CommonMethod.cs" selected="True" />
                    </Node>
                  </Node>
                </Node>
              </Node>
@@ -55,6 +54,7 @@
      </Pad>
    </Pads>
  </MonoDevelop.Ide.Workbench>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhoneSimulator" />
  <MonoDevelop.Ide.DebuggingService.PinnedWatches />
  <Xamarin.Addins.Core.Project ActiveDebugTarget="Android.3TG0221602005112" />
  <MonoDevelop.Ide.ItemProperties.APP__Android PreferredExecutionTarget="Android.SelectDevice" Xamarin.HotReload.WrongLinkerErrorInfoBar.APP__Android.HideInfoBar="True" />
</Properties>
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="4.2.0" package="com.santan.smartcontrol" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202405071">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="4.2.0" package="com.santan.smartcontrol" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202405072">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <!--程序可以读取设备外部存储空间(内置SDcard和外置SDCard)的文件,我的文件等-->
HDL_ON/Common/Constant.cs
@@ -309,6 +309,8 @@
        /// HDL可视对讲
        /// </summary>
        HDL_INTERPHONE,
        //门锁
        DOOR_BELL,
    }
    /// <summary>
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
                                //解析更新内容详情
                                //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.发现新版本App,当前版本已停用,马上更新!\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)
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
@@ -28,7 +28,7 @@
            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.FunctionBrand));
            topView.maginY = 10;
            topView.LoadTopView_Add3tyIot(action);
            topView.LoadTopView();
            bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -52,6 +52,10 @@
            this.InitializationAndroidData((isEzChildAccessToken) =>
            {
                if (!isEzChildAccessToken)
                {
                    return;
                }
                this.SunThread(() =>
                {
                    var list = this.GetVideoDoorLockLockModelsList("notAllowedConfigNetworkModels");
@@ -180,13 +184,19 @@
        private void SkipRTVActivity(string deviceSerial, string deviceId, string spk, string msgId)
        {
#if __IOS__
            //打开萤石视频界面
            EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk, msgId);
            this.InitializationAndroidData((isBools) =>
            {
                this.MainThread(() =>
                {
#if __IOS__
                    EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk, msgId);
#else
            HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity, deviceId, deviceSerial, spk, msgId);
                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity, deviceId, deviceSerial, spk, msgId);
#endif
                });
            });
        }
@@ -332,6 +342,7 @@
                return lockModels.notAllowedConfigNetworkModels;
            }
        }
        /// <summary>
        /// 门锁推送
        /// </summary>
@@ -358,22 +369,21 @@
                    {
                        return;
                    }
                    //if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
                    //{
                    //    ///打开视频门锁
                    //    string currentTimeStr = Utlis.GetTimestamp();   // 当前时间
                    if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString()))
                    {
                        ///打开视频门锁
                        string currentTimeStr = Utlis.GetTimestamp();   // 当前时间
                    //    if (string.IsNullOrEmpty(expantContent.currentTime) && string.IsNullOrEmpty(currentTimeStr) && (long.Parse(currentTimeStr) - long.Parse(expantContent.currentTime)) > 30000)
                    //    {    // 超时30s
                    //        this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true);
                    //    }
                    //    else
                    //    {
                    //        this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, expantContent.msgId);
                    //    }
                    //}
                    //else
                    if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
                        if (string.IsNullOrEmpty(expantContent.currentTime) && string.IsNullOrEmpty(currentTimeStr) && (long.Parse(currentTimeStr) - long.Parse(expantContent.currentTime)) > 30000)
                        {    // 超时30s
                            this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true);
                        }
                        else
                        {
                            this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, expantContent.msgId);
                        }
                    }
                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
                    {
                        //低电量推送
                        this.UpdateDoorLockState(PushMessageType.Alarm);
@@ -391,6 +401,7 @@
            });
        }
        /// <summary>
        /// 更新开锁图标和电池状态
        /// </summary>