wxr
2022-05-17 15066d818e8bafb36405e549328a37918a6a4be3
环境传感器等级
6个文件已修改
371 ■■■■ 已修改文件
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Sensor.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePage.cs 222 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202205061">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.5.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202205161">
    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL_ON/Entity/Function/Function.cs
@@ -1905,7 +1905,7 @@
        /// <summary>
        /// 
        /// </summary>
        public uint color = 0x00000000;
        public string color = string.Empty;
        /// <summary>
        /// 描述
        /// </summary>
HDL_ON/Entity/Function/Sensor.cs
@@ -100,7 +100,8 @@
                        }
                    }
                }
                return _intervalValue;
                if (_intervalValue.Count > 0)
                    return _intervalValue;
            }
@@ -160,7 +161,8 @@
                {
                    if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", "")))
                    {
                        return attrKey.unit;
                        if (string.IsNullOrEmpty(attrKey.unit))
                            return attrKey.unit;
                    }
                }
            }
@@ -205,11 +207,12 @@
                    {
                        foreach (var info in attrKey.configs)
                        {
                            _levelColorList.Add(info.color);
                            _levelColorList.Add(Convert.ToUInt32(info.color, 16));
                        }
                    }
                }
                return _levelColorList;
                if (_levelColorList.Count > 0)
                    return _levelColorList;
            }
            string spk = function.spk;
@@ -283,7 +286,8 @@
                        }
                    }
                }
                return _levelTextList;
                if (_levelTextList.Count > 0)
                    return _levelTextList;
            }
            string spk = function.spk;
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -567,65 +567,65 @@
#if DEBUG
            FunctionList.List.Functions.Add(new Function
            {
                name = "测试门锁",
                spk = SPK.DoorLock,
                sid = "12345",
                attributes = new List<FunctionAttributes> {
                    new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" },
                    new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" },
                    new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" },
                    new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" },
                    new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" },
                    new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" },
                }
            });
            FunctionList.List.Functions.Add(new Function
            {
                name = "门锁1",
                spk = SPK.DoorLock,
                sid = "123",
                attributes = new List<FunctionAttributes> {
                    new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" },
                    new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" },
                    new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" },
                    new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" },
                    new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" },
                    new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" },
                }
            });
            //FunctionList.List.Functions.Add(new Function
            //{
            //    name = "测试门锁",
            //    spk = SPK.DoorLock,
            //    sid = "12345",
            //    attributes = new List<FunctionAttributes> {
            //        new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" },
            //        new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" },
            //        new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" },
            //        new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" },
            //        new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" },
            //        new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" },
            //    }
            //});
            //FunctionList.List.Functions.Add(new Function
            //{
            //    name = "门锁1",
            //    spk = SPK.DoorLock,
            //    sid = "123",
            //    attributes = new List<FunctionAttributes> {
            //        new FunctionAttributes(){ key = "door_status",curValue= "open",state = "open" },
            //        new FunctionAttributes(){ key = "normal_open",curValue= "true",state = "true" },
            //        new FunctionAttributes(){ key = "normal_open_countdown",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "local_id",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "door_volume",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "door_volume_step",curValue= "up",state = "up" },
            //        new FunctionAttributes(){ key = "battery_value",curValue= "100",state = "100" },
            //        new FunctionAttributes(){ key = "battery_percentage",curValue= "100",state = "100" },
            //        new FunctionAttributes(){ key = "battery_state",curValue= "high",state = "high" },
            //    }
            //});
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.PanelSocket,
                name = "面板插座",
                attributes = new List<FunctionAttributes>
                {
                    new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "on_off_usb",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "active_power",curValue= "220",state = "220" },
                    new FunctionAttributes(){ key = "voltage",curValue= "5",state = "5" },
                    new FunctionAttributes(){ key = "current",curValue= "110",state = "110" },
                    new FunctionAttributes(){ key = "total_electricity",curValue= "123.33",state = "123.33" },
                }
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.PanelSocket,
            //    name = "面板插座",
            //    attributes = new List<FunctionAttributes>
            //    {
            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "on_off_usb",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "active_power",curValue= "220",state = "220" },
            //        new FunctionAttributes(){ key = "voltage",curValue= "5",state = "5" },
            //        new FunctionAttributes(){ key = "current",curValue= "110",state = "110" },
            //        new FunctionAttributes(){ key = "total_electricity",curValue= "123.33",state = "123.33" },
            //    }
            //});
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.SensorDryContact,
                name = "干接点",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
                },
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.SensorDryContact,
            //    name = "干接点",
            //    attributes = new List<FunctionAttributes>()
            //    {
            //        new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
            //    },
            //});
            FunctionList.List.Functions.Add(new Function()
            {
@@ -642,27 +642,27 @@
                        type = "interval" ,
                        unit = "ug/m²",
                        configs = new List<AttrKeyInfo>(){
                           new AttrKeyInfo(){ start = "0",end = "75",color = 0xFFADE764, desc = "良好"},
                           new AttrKeyInfo(){ start = "76",end = "150",color = 0xFFFFD154,desc = "轻/中度污染"},
                           new AttrKeyInfo(){ start = "151",end = "500",color = 0xFFFF9D54,desc = "重度/严重污染"},
                           new AttrKeyInfo(){ start = "0",end = "75",color = "0xFFADE764", desc = "良好"},
                           new AttrKeyInfo(){ start = "76",end = "150",color = "0xFFFFD154",desc = "轻/中度污染"},
                           new AttrKeyInfo(){ start = "151",end = "500",color = "0xFFFF9D54",desc = "重度/严重污染"},
                        }
                    }
                },
            });
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.SensorHelp,
                name = "测试紧急求助按钮",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "alarm_status",curValue= "alarm",state = "alarm" },
                    new FunctionAttributes(){ key = "battery_value",curValue= "200",state = "200" },
                    new FunctionAttributes(){ key = "battery_percentage",curValue= "10",state = "10" },
                    new FunctionAttributes(){ key = "battery_state",curValue= "low",state = "low" },
                },
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.SensorHelp,
            //    name = "测试紧急求助按钮",
            //    attributes = new List<FunctionAttributes>()
            //    {
            //        new FunctionAttributes(){ key = "status",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "alarm_status",curValue= "alarm",state = "alarm" },
            //        new FunctionAttributes(){ key = "battery_value",curValue= "200",state = "200" },
            //        new FunctionAttributes(){ key = "battery_percentage",curValue= "10",state = "10" },
            //        new FunctionAttributes(){ key = "battery_state",curValue= "low",state = "low" },
            //    },
            //});
            //FunctionList.List.Functions.Add(new Function()
            //{
@@ -674,47 +674,47 @@
            //    },
            //});
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.AirFreshStandard,
                name = "测试新风",
                sid = "098765433242342342",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
                },
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.AirFreshStandard,
            //    name = "测试新风",
            //    sid = "098765433242342342",
            //    attributes = new List<FunctionAttributes>()
            //    {
            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "fan",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low" } },
            //    },
            //});
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.PanelEnvironment,
                name = "测试环境面板",
                targetSids = new List<string> {
                    "098765433242342342",
                    "ac1",
                    "floorheat1"
                }
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.PanelEnvironment,
            //    name = "测试环境面板",
            //    targetSids = new List<string> {
            //        "098765433242342342",
            //        "ac1",
            //        "floorheat1"
            //    }
            //});
            FunctionList.List.Functions.Add(new Function()
            {
                spk = SPK.HvacCac,
                name = "测试金茂温控",
                attributes = new List<FunctionAttributes>()
                {
                    new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
                    new FunctionAttributes(){ key = "mode",curValue= "cool",state = "cool" ,value = new List<string>(){ "cool", "heat" } },
                    new FunctionAttributes(){ key = "set_temp",curValue= "22",state = "22" ,value = new List<string>(){},min = 0,max = 30 },
                    //new FunctionAttributes(){ key = "set_temp_step",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low", "auto", "stop" } },
                    new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
                    new FunctionAttributes(){ key = "room_temp",curValue= "26",state = "26" ,value = new List<string>(){  },min = 0,max = 100 },
                    new FunctionAttributes(){ key = "dew_point_temp",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
                    new FunctionAttributes(){ key = "room_humidity",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 1000 },
                    //new FunctionAttributes(){ key = "tvoc",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
                },
            });
            //FunctionList.List.Functions.Add(new Function()
            //{
            //    spk = SPK.HvacCac,
            //    name = "测试金茂温控",
            //    attributes = new List<FunctionAttributes>()
            //    {
            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
            //        new FunctionAttributes(){ key = "mode",curValue= "cool",state = "cool" ,value = new List<string>(){ "cool", "heat" } },
            //        new FunctionAttributes(){ key = "set_temp",curValue= "22",state = "22" ,value = new List<string>(){},min = 0,max = 30 },
            //        //new FunctionAttributes(){ key = "set_temp_step",curValue= "low",state = "low" ,value = new List<string>(){ "high", "medium", "low", "auto", "stop" } },
            //        new FunctionAttributes(){ key = "humidity",curValue= "0",state = "0" ,value = new List<string>(){  },min = 0,max = 100 },
            //        new FunctionAttributes(){ key = "room_temp",curValue= "26",state = "26" ,value = new List<string>(){  },min = 0,max = 100 },
            //        new FunctionAttributes(){ key = "dew_point_temp",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
            //        new FunctionAttributes(){ key = "room_humidity",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 1000 },
            //        //new FunctionAttributes(){ key = "tvoc",curValue= "20",state = "20" ,value = new List<string>(){  },min = 0,max = 100 },
            //    },
            //});
            //FunctionList.List.Functions.Add(new Function()
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -631,7 +631,7 @@
            };
            contentView.AddChidren(listView);
            if (ximoVideoList.Count == 1)
            //if (ximoVideoList.Count == 1)
            {
                Loading loading = new Loading();
                contentView.AddChidren(loading);
@@ -649,11 +649,11 @@
                                ImageView codeImage = new ImageView()
                                {
                                    Gravity = Gravity.Center,
                                    Height = Application.GetRealWidth(200),
                                    Width = Application.GetRealWidth(200),
                                    Height = Application.GetRealWidth(320),
                                    Width = Application.GetRealWidth(320),
                                    ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)),
                                };
                                contentView.AddChidren(codeImage);
                                dialogView.AddChidren(codeImage);
                            });
                        }
                    }
@@ -675,96 +675,55 @@
                })
                { IsBackground = true }.Start();
            }
            else
            {
            //else
            //{
                foreach (var v in ximoVideoList)
                {
                    Button btnMsg = new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Height = Application.GetRealHeight(50),
                        Width = Application.GetRealHeight(160),
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.TextualColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        Text = v.deviceName,
                        Radius = (uint)Application.GetRealWidth(5),
                        BackgroundColor = CSS_Color.DividingLineColor,
                        IsMoreLines = true,
                    };
                    listView.AddChidren(btnMsg);
            //    foreach (var v in ximoVideoList)
            //    {
            //        Button btnMsg = new Button()
            //        {
            //            Gravity = Gravity.CenterHorizontal,
            //            Height = Application.GetRealHeight(50),
            //            Width = Application.GetRealHeight(160),
            //            TextAlignment = TextAlignment.Center,
            //            TextColor = CSS_Color.TextualColor,
            //            TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            //            Text = v.deviceName,
            //            Radius = (uint)Application.GetRealWidth(5),
            //            BackgroundColor = CSS_Color.DividingLineColor,
            //            IsMoreLines = true,
            //        };
            //        listView.AddChidren(btnMsg);
                    listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
            //        listView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                    btnMsg.MouseUpEventHandler = (sender, e) =>
                    {
            //        btnMsg.MouseUpEventHandler = (sender, e) =>
            //        {
                        if (v.spk == "door.gate")
                        {
                            Loading loading = new Loading();
                            contentView.AddChidren(loading);
                            loading.Start("");
                            new System.Threading.Thread(() =>
                            {
                                try
                                {
                                    var pack = VideoSend.GetQRcode();
                                    var pairs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AccessControlQRode>>(pack.Data.ToString());
                                    if (pairs.Count > 0)
                                    {
                                        Application.RunOnMainThread(() =>
                                        {
                                            ImageView codeImage = new ImageView()
                                            {
                                                Gravity = Gravity.Center,
                                                Height = Application.GetRealWidth(200),
                                                Width = Application.GetRealWidth(200),
                                                ImageBytes = Scan.BytesFromText(pairs[0].qrcode, Application.GetRealWidth(200), Application.GetRealWidth(200)),
                                            };
                                            contentView.AddChidren(codeImage);
                                        });
                                    }
                                }
                                catch (Exception ex)
                                {
                                    MainPage.Log($"获取门禁二维码异常:{ex.Message}");
                                }
                                finally
                                {
                                    Application.RunOnMainThread(() =>
                                    {
                                        if (loading != null)
                                        {
                                            loading.Hide();
                                            loading.RemoveFromParent();
                                        }
                                    });
                                }
                            })
                            { IsBackground = true }.Start();
                            return;
                        }
            //            if (v.spk == "door.gate")
            //            {
            //                return;
            //            }
                        //门禁二维码固定有的
                        VideoSend.GetQRcode(this, v, (tag, paw) =>
                        {
                            if (tag)
                            {
                            //注意:密码有可能延时1分钟生效
                            View.ShowDialog showDialog = new View.ShowDialog();
                                showDialog.QRcode(paw);
                            }
                        });
                        dialog.Close();
                    };
                }
            }
            //            //门禁二维码固定有的
            //            VideoSend.GetQRcode(this, v, (tag, paw) =>
            //            {
            //                if (tag)
            //                {
            //                //注意:密码有可能延时1分钟生效
            //                View.ShowDialog showDialog = new View.ShowDialog();
            //                    showDialog.QRcode(paw);
            //                }
            //            });
            //            dialog.Close();
            //        };
            //    }
            //}
            dialog.Show();
        }
        /// <summary>
        /// 选择徘徊报警列表显示
HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs
@@ -135,7 +135,7 @@
                        FrameLayout dialogContentView = new FrameLayout();
                        dialog.AddChidren(dialogContentView);
                        dialogContentView.MouseUpEventHandler = (sender, e) =>
                        dialogContentView.MouseUpEventHandler = (sender2, e2) =>
                        {
                            dialog.Close();
                        };