wjc
2023-03-29 cf7623fe25a008b4e128c6083e362578e2a1e3b0
2023年03月29日14:23:28

修复获取门锁设备列表闪退问题
7个文件已修改
159 ■■■■ 已修改文件
DLL/IOS/EZSDK.IOS.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/ObjectClass.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideDoorLockSend.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/IOS/EZSDK.IOS.dll
Binary files differ
HDL_ON/Common/HDLCommon.cs
@@ -683,6 +683,7 @@
            {
                try
                {
                    var list = UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockLockModelsList();
                    //先获取萤石云子账号token
                    var result = new HttpServerRequest().EZGetChildToken();
                    if (result.Code == StateCode.SUCCESS)
@@ -694,7 +695,9 @@
                        {
                            if (!string.IsNullOrEmpty(ezChildAccessToken))
                            {
#if __IOS__
                                //iOS
                                //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY
                                EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
@@ -703,12 +706,25 @@
                                EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
                                //2.设置萤石子账号的AccessToken到SDK
                                EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
                                ////3.打开摄像头设备列表页面
                                EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();
                                //////3.打开摄像头设备列表页面
                                //EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();
                                //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo();
                                //info.de
                                //EZSDK.IOS.EZSDK.Play(info);
                                //2023年03月29日13:08:35 修改
                                Foundation.NSObject[] nSObject = new Foundation.NSObject[list.Count];
                                for (int i = 0; i < list.Count; i++)
                                {
                                    string strValue = list[i];
                                    nSObject[i] = new Foundation.NSString(strValue);
                                }
                                EZSDK.IOS.EZSDK.SharedInstance().ToEZDeviceListViewWithFilterTypes(nSObject);
#else
                                //Android
                                //1.设置所需河东的token、域名地址
@@ -720,21 +736,24 @@
                                    {
                                        ((BaseActivity)Shared.Application.Activity).SetPermission(result =>
                                        {
                                            if(result)
                                            {
                                            Android.Content.Intent intent = new Android.Content.Intent();
                                            var bundle = new Android.OS.Bundle();
                                            //传递name参数为tinyphp
                                            bundle.PutString("EzChildAccessToken", ezChildAccessToken);
                                            bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
                                            bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
                                            bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b");
                                            bundle.PutInt("Platform", 1);
                                            bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id);
                                            intent.PutExtras(bundle);
                                            intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
                                            Shared.Application.Activity.StartActivity(intent);
                                            }
                                            //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);
                                            Com.Videogo.Hdl.HDLEzvizSdk.Instance.JumpToCameraListActivity(Shared.Application.Activity, list);
                                            //if (result)
                                            //{
                                            //    Android.Content.Intent intent = new Android.Content.Intent();
                                            //    var bundle = new Android.OS.Bundle();
                                            //    //传递name参数为tinyphp
                                            //    bundle.PutString("EzChildAccessToken", ezChildAccessToken);
                                            //    bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
                                            //    bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
                                            //    bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b");
                                            //    bundle.PutInt("Platform", 1);
                                            //    bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id);
                                            //    intent.PutExtras(bundle);
                                            //    intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
                                            //    Shared.Application.Activity.StartActivity(intent);
                                            //}
                                        }, "android.permission.RECORD_AUDIO");
                                    }
HDL_ON/DAL/Server/HttpUtil.cs
@@ -17,8 +17,8 @@
        /// 固定域名,正式环境
        /// 公共域名就近解析
        /// </summary>
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        /// <summary>
        /// RegionMark
        /// </summary>
HDL_ON/DAL/Server/NewAPI.cs
@@ -494,6 +494,11 @@
        /// 远程开锁(萤石视频门锁)
        /// </summary>
        public const string Api_Post_OpenDoor = "/home-wisdom/platform/yingshi/lock/remote/open/door";
        /// <summary>
        /// 门锁型号列表(萤石视频门锁)
        /// </summary>
        public const string Api_Post_Lock_Models = "/home-wisdom/platform/yingshi/lock/models";
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -49,13 +49,12 @@
            this.InitializationAndroidData((isBools) =>
            {
                if (!isBools)
                {
                    this.MainThread(() =>
                    {
                    if (!isBools)
                    {
                        this.ShowTip("先获取萤石云子账号token失败。");
                    });
                }
#if __IOS__
@@ -81,6 +80,10 @@
                }));
#endif
                    });
            });
@@ -253,21 +256,15 @@
        #endregion
        /// <summary>
        /// 萤石视频门锁的图标
        /// <param name="comerom">来自那里</param>
        /// 获取门锁型号列表
        /// </summary>
        public string GetVideoDoorLockIcon(Comerom comerom)
        /// <returns>返回结果不会为null</returns>
        public List<string> GetVideoDoorLockLockModelsList()
        {
            if (comerom == Comerom.collect)
            {
                return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
            }
            else
            {
                return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
            return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList();
            }
        }
        #region  --------- 功能文件保存,删除 --------
        /// <summary>
        /// 保存本地文件
@@ -294,6 +291,23 @@
        }
        #endregion
        /// <summary>
        /// 萤石视频门锁的图标
        /// <param name="comerom">来自那里</param>
        /// </summary>
        public string GetVideoDoorLockIcon(Comerom comerom)
        {
            if (comerom == Comerom.collect)
            {
                return "FunctionIcon/DoorLock/VideoDoorLockOpen.png";
            }
            else
            {
                return "FunctionIcon/DoorLock/VideoDoorlockClose.png";
            }
        }
        /// <summary>
        /// 获取Loading对象
        /// </summary>
        /// <returns></returns>
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/ObjectClass.cs
@@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using HDL_ON.Entity;
namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock
{
    public class ObjectClass
@@ -53,6 +56,25 @@
    }
    /// <summary>
    /// 获取门锁列表
    /// </summary>
    public class DoorLockList
    {
        /// <summary>
        /// 门锁设备列表
        /// </summary>
        public List<Function> list = new List<Function>();
    }
    /// <summary>
    /// 门锁型号列表
    /// </summary>
    public class LockModels {
        /// <summary>
        /// 型号列表
        /// </summary>
        public List<string> lockModels = new List<string>();
    }
    /// <summary>
    /// 推送内容对象
    /// </summary>
    public class ExpantContent
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideDoorLockSend.cs
@@ -153,18 +153,39 @@
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            d.Add("spk", spk);
            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(d, NewAPI.Api_Post_UserList, "获取萤石门锁设备列表");
            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(d, NewAPI.Api_Post_GetDevcieList, "获取萤石门锁设备列表");
            if (!this.DataChecking(responsePackNew, tipType))
            {
                return new List<Function>();
            }
            var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Function>>(responsePackNew.Data.ToString());
            if (list == null)
            var doorLockList = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockList>(responsePackNew.Data.ToString());
            if (doorLockList == null)
            {
                return new List<Function>();
                return new DoorLockList().list;
            }
            return list;
            return doorLockList.list;
        }
        /// <summary>
        /// 获取门锁型号列表(萤石视频门锁)
        /// </summary>
        /// <param name="tipType">是否需要提示,默认提示</param>
        /// <returns>返回结果不会为null</returns>
        public List<string> GetVideoDoorLockLockModelsList(TipType tipType = TipType.flicker)
        {
            var responsePackNew = UI.Music.SendMethod.Current.RequestServerhomeId(new object { }, NewAPI.Api_Post_Lock_Models, "获取萤石门锁型号列表");
            if (!this.DataChecking(responsePackNew, tipType))
            {
                return new List<string>();
            }
            var lockModels = Newtonsoft.Json.JsonConvert.DeserializeObject<LockModels>(responsePackNew.Data.ToString());
            if (lockModels == null)
            {
                return new LockModels().lockModels;
            }
            return lockModels.lockModels;
        }
        /// <summary>
        /// 先获取萤石云子账号token
        /// </summary>