wjc
2023-03-28 a9d1161b1df96e7ddad566335989a1444e433ef5
HDL_ON/Entity/FunctionList.cs
@@ -13,6 +13,22 @@
    public class FunctionList
    {
        static FunctionList _FunctionList;
        public static void ClearData()
        {
            try
            {
                _FunctionList._IpCamImou = null;
                _FunctionList.ClearDatas();
                _FunctionList = null;
            }
            catch (Exception ex)
            {
                MainPage.Log($"清理FunctionList异常:{ex.Message}");
                _FunctionList = null;
            }
        }
        public static FunctionList List
        {
            get
@@ -46,6 +62,40 @@
        public List<Function> GetMechanicalArmList()
        {
            return Functions.FindAll((obj) => obj.spk == SPK.MechanicalArm);
        }
        List<Function> _IpCamImou;
        /// <summary>
        /// 获取摄像头列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetIpCamImouList()
        {
            if (_IpCamImou == null)
            {
                _IpCamImou = Functions.FindAll((obj) => obj.spk == SPK.IpCam_Imou);
                if (_IpCamImou.Count > 0)
                {
#if __IOS__
                    //初始化大华摄像头sdk
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().InitSDKWithAppKey("HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().AccessToken = UserInfo.Current.LoginTokenString;
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshToken = UserInfo.Current.RefreshToken;
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                    Console.WriteLine("token:" + UserInfo.Current.LoginTokenString);
                    Console.WriteLine("token:" + UserInfo.Current.RefreshToken);
                    Shared.IOS.HDLCNVRSDK.HDLLCNVRSDK.SharedInstance().RefreshDeviceList();
#else
                    Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
                    Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
                    Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
#endif
                }
            }
            return _IpCamImou;
        }
        /// <summary>
@@ -136,15 +186,7 @@
        /// </summary>
        public List<Function> InverterList()
        {
            //get
            //{
            //    return _inverterList;
            //}
            //set
            //{
            //    _inverterList = value;
            //}
            return Functions.FindAll((obj) => obj.spk == SPK.Inverter);
            return Functions.FindAll((obj) => obj.spk == SPK.Inverter || obj.spk == SPK.InverterRst);
        }
        #region 家电列表 electricals
        /// <summary>
@@ -164,7 +206,7 @@
        {
            return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
        }
        #endregion
#endregion
        /// <summary>
        /// 音乐列表
@@ -292,16 +334,24 @@
                    if (checkRepeat == true)
                    {
                        //检测重复
                        for (int i = 0; i < Functions.Count; i++)
                        var same = Functions.FindAll((obj) => obj.deviceId == tempFunction.deviceId);
                        if(same!= null)
                        {
                            if (Functions[i].deviceId == tempFunction.deviceId)
                            foreach(var sameTemp in same)
                            {
                                //先移除掉再加
                                Functions.RemoveAt(i);
                                Functions.Add(tempFunction);
                                return;
                                Functions.Remove(sameTemp);
                            }
                        }
                        //for (int i = 0; i < Functions.Count; i++)
                        //{
                        //    if (Functions[i].deviceId == tempFunction.deviceId)
                        //    {
                        //        //先移除掉再加
                        //        Functions.RemoveAt(i);
                        //        Functions.Add(tempFunction);
                        //        return;
                        //    }
                        //}
                    }
                    Functions.Add(tempFunction);
                }
@@ -343,6 +393,9 @@
            catch (Exception ex)
            {
                MainPage.Log($"IniFunctionList error : {ex.Message}");
            }
            finally
            {
            }
        }
@@ -402,10 +455,22 @@
        /// <summary>
        /// 清空设备功能列表
        /// </summary>
        public void Clear()
        public void ClearDatas()
        {
            Functions = new List<Function>();
            _FunctionList = null;
            try
            {
                if (_IpCamImou != null)
                {
                    _IpCamImou.Clear();
                    _IpCamImou = null;
                }
                _FunctionList = new FunctionList();
            }
            catch (Exception ex)
            {
                MainPage.Log($"清理FunctionList异常:{ex.Message}");
                _FunctionList = null;
            }
        }
        /// <summary>
@@ -581,7 +646,7 @@
            { IsBackground = true }.Start();
        }
        #region 场景相关
#region 场景相关
        /// <summary>
        /// 添加场景
        /// </summary>
@@ -613,9 +678,9 @@
            }
            return revPack.Code;
        }
        #endregion
#endregion
        #region 收藏功能
#region 收藏功能
     
        /// <summary>
        /// 收藏场景
@@ -641,14 +706,14 @@
            return result;
        }
        #endregion
#endregion
        #region
#region
       
        #endregion
#endregion
    }
}