wxr
2022-10-28 58e4fcd8dfe45102fb9132f1bf64343bd9379c8d
Merge branch 'dev--wxr' into LcSdkV1
13个文件已修改
247 ■■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/SplashActivity.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SiriIntents/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -2471,7 +2471,7 @@
39=Индивидуальный
40=Неуспешная авторизация, неверна учетная запись или пароль
41=Не удалось отправить проверочный код
42=Disconnected from gateway
42=Отключено соединение с шлюзом
43=Не удалось зарегистрироваться
44=Подтвердите сброс
45=Учетная запись не существует, проверьте что она зарегистрирована
@@ -2959,7 +2959,7 @@
545=Alarm data statistics
546=Laboratory mode
547=Alarm function
548=Indoor
548=Тек. темп-ра
549=Surface temperature
550=Temperature calibration
551=Humidity calibration
@@ -5525,7 +5525,7 @@
1125=Информация за аларма
1126=Отключи
1127=Аларма
1128=Устройството е офлайн
1128=офлайн
1129=За първи път, моля, свържете първо паролата за заключване на вратата
1130=Моля, въведете администраторската парола за заключване на вратата
1131=Вратата е успешно заключена
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.6.1" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202210181">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.6.2" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202210281">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_Android/SplashActivity.cs
@@ -60,6 +60,7 @@
                Language.CurrentLanguage = "Chinese";
                Locale locale1 = Locale.Default;
                var localeList = Resources.Configuration.Locale;
                Console.WriteLine("当前语言缩写:"+localeList.Language);
                if (localeList.Language == "zh")
                {
                    Language.CurrentLanguage = "Chinese";
HDL-ON_iOS/Info.plist
@@ -100,9 +100,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.6.102210131</string>
    <string>1.6.202210281</string>
    <key>CFBundleVersion</key>
    <string>1.6.110131</string>
    <string>1.6.210281</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL-ON_iOS/Resources/Language.ini
@@ -2471,7 +2471,7 @@
39=Индивидуальный
40=Неуспешная авторизация, неверна учетная запись или пароль
41=Не удалось отправить проверочный код
42=Disconnected from gateway
42=Отключено соединение с шлюзом
43=Не удалось зарегистрироваться
44=Подтвердите сброс
45=Учетная запись не существует, проверьте что она зарегистрирована
@@ -2959,7 +2959,7 @@
545=Alarm data statistics
546=Laboratory mode
547=Alarm function
548=Indoor
548=Тек. темп-ра
549=Surface temperature
550=Temperature calibration
551=Humidity calibration
@@ -5525,7 +5525,7 @@
1125=Информация за аларма
1126=Отключи
1127=Аларма
1128=Устройството е офлайн
1128=офлайн
1129=За първи път, моля, свържете първо паролата за заключване на вратата
1130=Моля, въведете администраторската парола за заключване на вратата
1131=Вратата е успешно заключена
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/Entity/Function/Function.cs
@@ -400,10 +400,22 @@
        /// 是否收藏
        /// </summary>
        public bool collect = false;
        private bool _online = false;
        /// <summary>
        /// 是否在线
        /// </summary>
        public bool online = true;
        public bool online
        {
            get
            {
                return true;
            }
            set
            {
                _online = value;
            }
        }
        /// <summary>
        /// 环境面板 绑定的 设备目标sid列表
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.6.1";
        public static string VersionString = "1.6.2";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -218,7 +218,7 @@
                    etAccount.Text = "18244942707";
                    etAccount.Text = "tf@smarttech.com.ua";
                    etAccount.Text = "13288623489";
                    etAccount.Text = "13535293836";
                    etAccount.Text = "455740454@qq.com";
                }
                else
                {
@@ -252,9 +252,9 @@
                }
                b = !b;
                etPassword.Text = "123456";
                if(etAccount.Text == "13535293836")
                if(etAccount.Text == "455740454@qq.com")
                {
                    etPassword.Text = "shan1987";
                    etPassword.Text = "a123456";
                }
                //etPassword.Text = "Hdl85521566";
                btnLogin.IsSelected = true;
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -1346,7 +1346,7 @@
                    {
                        lz = "en";
                    }
                    string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={HttpUtil.GlobalRequestHttpsHost}&language={lz}";
                    string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={OnAppConfig.Instance.RequestHttpsHost}&language={lz}";
                    Inverter.Ins.ShowWebviewFormUrl(url);
                    Inverter.Ins.H5Page.JSToNativeAction = (dictionary) =>
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -257,6 +257,10 @@
                {
                    btnExit.Text = "退出";
                }
                //else if (Language.CurrentLanguage == "russian")
                //{
                //    btnExit.Text = "выход";
                //}
                else
                {
                    btnExit.Text = "Exit";
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -160,7 +160,7 @@
                        basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png";
                        break;
                }
                basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.trait_on_off.state == "on";
                basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.GetAttrState("on_off") == "on";
            });
        }
@@ -359,24 +359,8 @@
            });
            #region 数据
            var infoView = new FrameLayout()
            {
                Y = topView.Bottom,
                Height = Application.GetRealHeight(104),
                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
            };
            bodyView.AddChidren(infoView);
            var infoContentView = new FrameLayout()
            {
                Gravity = Gravity.Center,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(72),
                BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/MsgViewBg.png",
            };
            infoView.AddChidren(infoContentView);
            #region 传感器数据
            #region 传感器数据总计
            int sensorCount = 0;
            var tempObj = function.GetAttribute(AcstParent_AttrEnum.room_temp.ToString());
            if (tempObj != null)
@@ -403,6 +387,48 @@
            {
                sensorCount++;
            }
            #endregion
            #region 能耗数据统计
            int energyCount = 0;
            var totalObj = function.GetAttribute(AcstParent_AttrEnum.active_power.ToString());
            if (totalObj != null)
            {
                energyCount++;
            }
            var dayObj = function.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString());
            if (dayObj != null)
            {
                energyCount++;
            }
            var monthObj = function.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString());
            if (monthObj != null)
            {
                energyCount++;
            }
            #endregion
            if (energyCount > 0 || sensorCount > 0)
            {
                var infoView = new FrameLayout()
                {
                    Y = topView.Bottom,
                    Height = Application.GetRealHeight(104),
                    BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                };
                bodyView.AddChidren(infoView);
                var infoContentView = new FrameLayout()
                {
                    Gravity = Gravity.Center,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(72),
                    BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/MsgViewBg.png",
                };
                infoView.AddChidren(infoContentView);
                #region 传感器数据
            var sensorListView = new HorizontalScrolViewLayout()
            {
@@ -437,22 +463,6 @@
            #endregion
            #region 能耗数据
            int energyCount = 0;
            var totalObj = function.GetAttribute(AcstParent_AttrEnum.active_power.ToString());
            if (totalObj != null)
            {
                energyCount++;
            }
            var dayObj = function.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString());
            if (dayObj != null)
            {
                energyCount++;
            }
            var monthObj = function.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString());
            if (monthObj != null)
            {
                energyCount++;
            }
            var energyListView = new HorizontalScrolViewLayout()
            {
                Width = Application.GetRealWidth(100 * energyCount),
@@ -497,7 +507,8 @@
            infoView.AddChidren(btnChangeClick);
            bool showSensor = true;
            EventHandler<MouseEventArgs> changeInfoEvent = (sender, e) => {
                EventHandler<MouseEventArgs> changeInfoEvent = (sender, e) =>
                {
                if (showSensor)
                {
                    sensorListView.Visible = false;
@@ -517,7 +528,7 @@
            }
            #endregion
            }
            #endregion
            #region 子控列表
@@ -644,7 +655,7 @@
                    dialog.Close();
                };
                var dialogContentView = new FrameLayout() {
                var dialogContentView = new VerticalScrolViewLayout() {
                    X = Application.GetRealWidth(34),
                    Y = Application.GetRealHeight(291),
                    Width = Application.GetRealWidth(148),
@@ -672,11 +683,12 @@
                };
                titleView.AddChidren(btnTitleText);
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.cool.ToString()))
                {
                #region 制冷
                var coolView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = titleView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -690,24 +702,28 @@
                });
                IconButton coolIconButton = new IconButton("FunctionIcon/Acst/grey/ModeCoolIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon.png",
                    Language.StringByID(StringId.Cool),curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "cool");
                coolIconButton.Click(()=> {
                    coolIconButton.Click(() =>
                    {
                    dialog.Close();
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png";
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add(AcstParent_AttrEnum.mode.ToString(), AcstParent_Attr_ModeValueEnum.cool.ToString());
                        Control.Ins.SendWriteCommand(function, d);
                    }) { IsBackground = true }.Start();
                        })
                        { IsBackground = true }.Start();
                });
                coolView.AddChidren(coolIconButton);
                #endregion
                }
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat.ToString()))
                {
                #region 制热
                var heatView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = coolView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -721,10 +737,12 @@
                });
                IconButton heatIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon.png",
                    Language.StringByID(StringId.Heat), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "heat");
                heatIconButton.Click(() => {
                    heatIconButton.Click(() =>
                    {
                    dialog.Close();
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon2.png";
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("mode", "heat");
                        Control.Ins.SendWriteCommand(function, d);
@@ -733,12 +751,14 @@
                });
                heatView.AddChidren(heatIconButton);
                #endregion 
                }
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString()))
                {
                #region 除湿
                var dehumiView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = heatView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -752,10 +772,12 @@
                });
                IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png",
                    Language.StringByID(StringId.Humidity), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString());
                dehumiIconButton.Click(() => {
                    dehumiIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString());
                        Control.Ins.SendWriteCommand(function, d);
@@ -764,12 +786,14 @@
                });
                dehumiView.AddChidren(dehumiIconButton);
                #endregion 
                }
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.fan.ToString()))
                {
                #region 通风
                var fanView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = dehumiView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -783,10 +807,12 @@
                });
                IconButton fanIconButton = new IconButton("FunctionIcon/Acst/grey/ModeFanIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon.png",
                    Language.StringByID(StringId.Ventilated), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.fan.ToString());
                fanIconButton.Click(() => {
                    fanIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("mode", AcstParent_Attr_ModeValueEnum.fan.ToString());
                        Control.Ins.SendWriteCommand(function, d);
@@ -795,12 +821,15 @@
                });
                fanView.AddChidren(fanIconButton);
                #endregion 
                }
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat_humidity.ToString()))
                {
                #region 制热除湿
                var heatHumiView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = fanView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -814,10 +843,12 @@
                });
                IconButton heatHumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon.png",
                    Language.StringByID(StringId.HeatingAndDehumidification), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
                heatHumiIconButton.Click(() => {
                    heatHumiIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("mode", AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
                        Control.Ins.SendWriteCommand(function, d);
@@ -826,12 +857,15 @@
                });
                heatHumiView.AddChidren(heatHumiIconButton);
                #endregion 
                }
                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString()))
                {
                #region 加湿
                var humiView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = heatHumiView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -845,10 +879,12 @@
                });
                IconButton humiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon.png",
                    Language.StringByID(StringId.Humidification), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.humidity.ToString());
                humiIconButton.Click(() => {
                    humiIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("mode", AcstParent_Attr_ModeValueEnum.humidity.ToString());
                        Control.Ins.SendWriteCommand(function, d);
@@ -857,6 +893,7 @@
                });
                humiView.AddChidren(humiIconButton);
                #endregion 
                }
                dialog.Show();
            };
@@ -918,10 +955,11 @@
                    dialog.Close();
                };
                var dialogContentView = new FrameLayout()
                var dialogContentView = new VerticalScrolViewLayout()
                {
                    X = Application.GetRealWidth(194),
                    Y = Application.GetRealHeight(419),
                    ScrollEnabled = false,
                    Width = Application.GetRealWidth(148),
                    Height = Application.GetRealHeight(191),
                    BackgroundImagePath = "FunctionIcon/Acst/BgChooseScene.png",
@@ -948,11 +986,13 @@
                };
                titleView.AddChidren(btnTitleText);
                if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.at_home.ToString()))
                {
                #region 在家
                var atHomeView = new FrameLayout()
                    var atHomeView = new VerticalScrolViewLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = titleView.Bottom,
                        //Y = titleView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -964,12 +1004,15 @@
                    Height = 1,
                    BackgroundColor = CSS.CSS_Color.DividingLineColor,
                });
                IconButton atHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAtHome.png", $"FunctionIcon/Acst/{imageFolder}/SceneAtHome.png",
                    Language.StringByID(StringId.AtHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.at_home.ToString());
                atHomeIconButton.Click(() => {
                    atHomeIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add(AcstParent_AttrEnum.scene.ToString(), AcstParent_Attr_SceneValueEnum.at_home.ToString());
                        Control.Ins.SendWriteCommand(function, d);
@@ -978,13 +1021,16 @@
                });
                atHomeView.AddChidren(atHomeIconButton);
                #endregion
                }
                if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.leave_home.ToString()))
                {
                #region 离家
                var awayHomeView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = atHomeView.Bottom,
                        //Y = atHomeView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -998,10 +1044,12 @@
                });
                IconButton awayHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAwayHomeIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon.png",
                    Language.StringByID(StringId.AwayHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.leave_home.ToString());
                awayHomeIconButton.Click(() => {
                    awayHomeIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("scene", "leave_home");
                        Control.Ins.SendWriteCommand(function, d);
@@ -1010,12 +1058,17 @@
                });
                awayHomeView.AddChidren(awayHomeIconButton);
                #endregion 
                }
                if (function.GetAttribute(AcstParent_AttrEnum.scene.ToString()).value.Contains(AcstParent_Attr_SceneValueEnum.sleep.ToString()))
                {
                #region 睡眠
                var sleepView = new FrameLayout()
                {
                    X = Application.GetRealWidth(2),
                    Y = awayHomeView.Bottom,
                        //Y = awayHomeView.Bottom,
                    Width = Application.GetRealWidth(144),
                    Height = Application.GetRealHeight(44),
                };
@@ -1029,10 +1082,12 @@
                });
                IconButton sleepIconButton = new IconButton("FunctionIcon/Acst/grey/SceneSleepIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon.png",
                    Language.StringByID(StringId.Sleep), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.sleep.ToString());
                sleepIconButton.Click(() => {
                    sleepIconButton.Click(() =>
                    {
                    btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png";
                    dialog.Close();
                    new System.Threading.Thread(() => {
                        new System.Threading.Thread(() =>
                        {
                        Dictionary<string, string> d = new Dictionary<string, string>();
                        d.Add("scene", "sleep");
                        Control.Ins.SendWriteCommand(function, d);
@@ -1040,6 +1095,7 @@
                    { IsBackground = true }.Start();
                });
                sleepView.AddChidren(sleepIconButton);
                }
                #endregion 
                dialog.Show();
            };
SiriIntents/Server/HttpUtil.cs
@@ -16,8 +16,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>