wxr
2023-05-11 58927c8f09e529c1c456657e9ae1a01796588a59
优化安防数据加载
1个文件已添加
3个文件已修改
158 ■■■■■ 已修改文件
HDL-ON_Android/HDL-ON_Android.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Other/SmsReceiver.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ApiUtlis.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj
@@ -226,6 +226,7 @@
    <Compile Include="Zxing\CustomCaptureActivity.cs" />
    <Compile Include="Zxing\ScanActivity.cs" />
    <Compile Include="LeChengVideo\LeTest.cs" />
    <Compile Include="Other\SmsReceiver.cs" />
  </ItemGroup>
  <ItemGroup>
    <AndroidAsset Include="Assets\agconnect-services.json" />
HDL-ON_Android/Other/SmsReceiver.cs
New file
@@ -0,0 +1,47 @@
using System;
using System.Text;
using Android.App;
using Android.Content;
using Android.Provider;
using Android.Telephony;
namespace HDL_ON_Android.Other
{
    [BroadcastReceiver(Enabled = true, Label = "SMS Receiver")]
    [IntentFilter(new[] { "android.provider.Telephony.SMS_RECEIVED" })]
    public class SmsReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent.Action != Telephony.Sms.Intents.SmsReceivedAction)
                return;
            var bundle = intent.Extras;
            if (bundle == null)
                return;
            try
            {
                var pdus = (Java.Lang.Object[])bundle.Get("pdus");
                if (pdus == null)
                    return;
                var msgs = new SmsMessage[pdus.Length];
                var sb = new StringBuilder();
                for (var i = 0; i < msgs.Length; i++)
                {
                    msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]);
                    sb.Append(msgs[i].MessageBody);
                }
                // 处理接收到的短信内容
                string message = sb.ToString();
                // TODO: 处理接收到的短信内容
            }
            catch (Exception ex)
            {
                Console.WriteLine("处理接收到的短信内容异常" + ex.Message);
            }
        }
    }
}
HDL_ON/Common/ApiUtlis.cs
@@ -173,7 +173,7 @@
                            if (deviceResult.Code == StateCode.SUCCESS)
                            {
                                FunctionList.List.ClearDatas();
                                MainPage.Log($"============设备============开始" + FunctionList.List.Functions.Count);
                                //MainPage.Log($"============设备============开始" + FunctionList.List.Functions.Count);
                                //MainPage.Log($"读取设备信息成功");
                                //MainPage.Log($"sid列表获取====" + deviceResult.Data.ToString());
                                var deviceList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
@@ -226,13 +226,13 @@
                                    }
                                }
                                //处理剩下的新增功能
                                int iiii = 0;
                                //int iiii = 0;
                                foreach (var newFunction in deviceList.list)
                                {
                                    newFunction.AssembleStatus();
                                    newFunction.SaveFunctionFile(); 
                                    FunctionList.List.IniFunctionList(newFunction.savePath,true);
                                    MainPage.Log($"============设备============{iiii++}");
                                    //MainPage.Log($"============设备============{iiii++}");
                                }
@@ -351,9 +351,6 @@
                        }
#if DEBUG
                        DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl = true;
#endif
                        if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
                        {
                            var pack = Ins.HttpRequest.GetGroupControlList();
@@ -416,11 +413,7 @@
                                }
                            }
                        }
                    //})
                    //{ IsBackground = true }.Start();
                        //======================场景====================
                        try
                        {
                            complateScene = false;
@@ -481,21 +474,17 @@
                        {
                            complateScene = true;
                        }
                        //======================安防====================
                        GetSecurityList();
                    })
                    { IsBackground = true }.Start();
                    //===================读取逻辑列表==========================
                    Logic.LogicList.Clear();//主页下拉强制刷新自动化列表
                    //UI.UI2.Intelligence.Automation.MainView.GetLogicList();
                    //======================安防====================
                    GetSecurityList();
                    //======================注册推送====================
                    httpRequest.RegisteredPush();
                }
                catch (Exception ex)
                {
@@ -593,40 +582,43 @@
        /// </summary>
        public void GetSecurityList()
        {
            var pack = Ins.HttpRequest.GetSecurityList();
            if (pack.Code == StateCode.SUCCESS)
            lock (FunctionList.List.securities)
            {
                var packList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
                var sidList = new List<string>();
                foreach (var function in packList)
                var pack = Ins.HttpRequest.GetSecurityList();
                if (pack.Code == StateCode.SUCCESS)
                {
                    sidList.Add(function.sid);
                }
                var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
                var infoList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
                if (infoList != null)
                {
                    var filePathList = FileUtlis.Files.ReadFiles().FindAll((obj) => obj.StartsWith("SecurityData_"));
                    if (filePathList != null)
                    var packList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
                    Console.WriteLine("安防总数:" + packList.Count);
                    var sidList = new List<string>();
                    foreach (var function in packList)
                    {
                        foreach (var file in filePathList)
                        sidList.Add(function.sid);
                    }
                    var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
                    var infoList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
                    if (infoList != null)
                    {
                        var filePathList = FileUtlis.Files.ReadFiles().FindAll((obj) => obj.StartsWith("SecurityData_"));
                        if (filePathList != null)
                        {
                            FileUtlis.Files.DeleteFile(file);
                            foreach (var file in filePathList)
                            {
                                FileUtlis.Files.DeleteFile(file);
                            }
                        }
                        FunctionList.List.securities.Clear();
                        foreach (var function in infoList)
                        {
                            function.SaveFile();
                            FunctionList.List.IniFunctionList(function.savePath, true);
                        }
                    }
                    FunctionList.List.securities.Clear();
                    foreach (var function in infoList)
                    {
                        function.SaveFile();
                        FunctionList.List.IniFunctionList(function.savePath, true);
                    }
                }
            }
            else
            {
                MainPage.Log($"读取安防列表失败:Code:{pack.Code}; Msg:{pack.message}");
                else
                {
                    MainPage.Log($"读取安防列表失败:Code:{pack.Code}; Msg:{pack.message}");
                }
            }
        }
        /// <summary>
HDL_ON/Entity/FunctionList.cs
@@ -14,20 +14,20 @@
    {
        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 void ClearData()
        //{
        //    try
        //    {
        //        _FunctionList._IpCamImou = null;
        //        _FunctionList.ClearDatas();
        //        _FunctionList = null;
        //    }
        //    catch (Exception ex)
        //    {
        //        MainPage.Log($"清理FunctionList异常:{ex.Message}");
        //        _FunctionList = null;
        //    }
        //}
        public static FunctionList List
        {
@@ -384,7 +384,7 @@
                    var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityAlarm>(dataString);
                    if (temp == null)
                    {
                        MainPage.Log("null");
                        MainPage.Log("SecurityData_null");
                        FileUtlis.Files.DeleteFile(filePath);
                        return;
                    }