wei
2021-04-27 0d327ccb7ef675bfa9f669ba5b3ad6bc6958cbf5
安防界面
15个文件已添加
28个文件已修改
814 ■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AddDefenseIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AtHomeDefenseIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/BurglarAlarmIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/DisasterAlarmIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HistoryIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HolidayDefenseIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HolidayDefenseIconOn.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HouseDefenseIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HouseDefenseIconOn.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/InDefenseBigIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/NoDefenseBigIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SecurityCenterFunctionBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityCenterFunctionBg.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/Control.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Mqtt/MqttClient.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpUtil.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewApiRes.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/DB_ResidenceData.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmebly.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/TopViewDiv.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePageBLL.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,18 +1,52 @@
<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008020-000404163432002E" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/1-HomePage/HomePage.cs">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget." />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs">
    <Files>
      <File FileName="HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs" Line="66" Column="22" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs" Line="203" Column="92" />
      <File FileName="HDL_ON/UI/UI2/1-HomePage/HomePage.cs" Line="165" Column="14" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePageBLL.cs" Line="145" Column="60" />
      <File FileName="HDL_ON/Entity/DB_ResidenceData.cs" Line="29" Column="16" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs" Line="141" Column="31" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs" Line="24" Column="34" />
      <File FileName="HDL_ON/Common/R.cs" Line="396" Column="58" />
      <File FileName="HDL-ON_iOS/Resources/Language.ini" Line="856" Column="3" />
      <File FileName="HDL-ON_Android/Assets/Language.ini" Line="1703" Column="12" />
      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="1" Column="1" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="HDL_APP_Project" expanded="True">
            <Node name="HDL-ON_iOS" expanded="True" selected="True" />
            <Node name="HDL_ON" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="DAL" expanded="True">
                <Node name="Mqtt" expanded="True" />
                <Node name="Server" expanded="True" />
              </Node>
              <Node name="Entity" expanded="True">
                <Node name="Function" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="UI0-Public" expanded="True" />
                <Node name="UI2" expanded="True">
                  <Node name="3-Intelligence" expanded="True">
                    <Node name="Automation" expanded="True">
                      <Node name="AddLogic.cs" selected="True" />
                    </Node>
                  </Node>
                  <Node name="4-PersonalCenter" expanded="True">
                    <Node name="RoomListManage" expanded="True">
                      <Node name="Transfer" expanded="True" />
                    </Node>
                  </Node>
                  <Node name="FuntionControlView" expanded="True">
                    <Node name="ArmCenter" expanded="True" />
                  </Node>
                </Node>
              </Node>
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="Assets" expanded="True" />
            </Node>
            <Node name="HDL-ON_iOS" expanded="True">
              <Node name="Resources" expanded="True" />
            </Node>
          </Node>
        </State>
      </Pad>
@@ -24,12 +58,15 @@
    <String>Shared.Droid.TouchID/Shared.Droid.TouchID.csproj</String>
    <String>Shared.IOS/Shared.IOS.csproj</String>
  </DisabledProjects>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Release|iPhone" />
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.SelectDevice" />
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs" relfile="HDL_ON/DAL/Server/HttpServerRequest.cs" line="57" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs" relfile="HDL_ON/DAL/Server/HttpServerRequest.cs" line="464" column="1" />
      <Breakpoint file="/Users/kaede/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpUtil.cs" relfile="HDL_ON/DAL/Server/HttpUtil.cs" line="158" column="1" />
    </BreakpointStore>
  </MonoDevelop.Ide.DebuggingService.Breakpoints>
  <MultiItemStartupConfigurations />
HDL-ON_Android/Assets/Language.ini
@@ -20,7 +20,7 @@
19=The phone number is incorrect. Please re-enter.
20=The password and confirmation you typed do not match. Please re-enter your password.
21=The password format does not comply with the requirements, please enter again.
22=The user has existed, you can sign in directly.
22=The user has existed, yo24-hour defenseu can sign in directly.
23=Incorrect verification code, please re-enter.
24=Incorrect account number, please enter the correct email address.
25=Email address
@@ -426,7 +426,21 @@
439=Real time power consumption: {0} kw
440=Next step
441=Please select all areas of capture status
442=Custom deployment
442=Generate Scene
443=Custom deployment
444=SecurityCenter
445=House Defense
446=At Home Defense
447=Vacation Defense
448=Fixed deployment
449=*Undo defense does not affect
450=Disaster defense
451=24-hour defense
452=Burglar alarm
453=Alarm mute
454=Deployment information
455=The name can not be blank.
1000=Room Humidity
1001=V-chip
@@ -1204,7 +1218,21 @@
439=实时功耗: {0}kW
440=下一步
441=请选择捕捉状态的区域
442=自定义布防
442=生成场景
443=自定义布防
444=安防中心
445=全宅布防
446=在家布防
447=假期布防
448=固定布防
449=*不受撤防影响
450=灾害报警
451=24小时不撤防
452=防盗报警
453=报警静音
454=布防信息
455=名称不能为空。
1000=室内湿度
1001=童锁
@@ -1573,7 +1601,6 @@
7129=(100字内)
7130=账号选择
7131=App推送
9000=请使用新的手机账号登录APP
9001=请使用新的邮箱账号登录APP
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AddDefenseIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AtHomeDefenseIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/BurglarAlarmIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/DisasterAlarmIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HistoryIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HolidayDefenseIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HolidayDefenseIconOn.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HouseDefenseIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/HouseDefenseIconOn.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/InDefenseBigIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/ArmCenter/NoDefenseBigIcon.png
HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SecurityCenterFunctionBg.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -1113,6 +1113,19 @@
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\airFreshjinmao_blue.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\airFreshjinmao_white.png" />
    <AndroidAsset Include="Assets\Phone\Public\RightSlideBackIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\FunctionBg\SecurityCenterFunctionBg.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\DisasterAlarmIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\InDefenseBigIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\AddDefenseIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\HouseDefenseIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\HolidayDefenseIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\AtHomeDefenseIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\AtHomeDefenseIconOn.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\NoDefenseBigIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\HolidayDefenseIconOn.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\HouseDefenseIconOn.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\BurglarAlarmIcon.png" />
    <AndroidAsset Include="Assets\Phone\FunctionIcon\ArmCenter\HistoryIcon.png" />
  </ItemGroup>
  <ItemGroup>
    <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" />
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202104191" android:versionName="1.2.202104191" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="26" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202104224" android:versionName="1.2.202104241" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <!--  可视对讲权限-->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
@@ -39,7 +39,7 @@
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <!-- 极光推送结束 -->
    <application android:allowBackup="true" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="ON+">
    <application android:debuggable="false" android:allowBackup="true" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="ON+">
        <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.hdl.onpro.fileProvider" android:grantUriPermissions="true" android:exported="false">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" />
        </provider>
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -27,6 +27,7 @@
        <MtouchDebug>true</MtouchDebug>
        <CodesignKey>iPhone Developer</CodesignKey>
        <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC";-w</MtouchExtraArgs>
        <CodesignProvision>On+Dev-20210428-1</CodesignProvision>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
        <DebugType>none</DebugType>
@@ -54,7 +55,7 @@
        <MtouchExtraArgs>-gcc_flags="-dead_strip -ObjC"</MtouchExtraArgs>
        <MtouchEnableSGenConc>false</MtouchEnableSGenConc>
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
<CodesignProvision>ComHdlOnProDevelopment20210305-1</CodesignProvision>
<CodesignProvision>On+Dev-20210428-1</CodesignProvision>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
        <DebugType>none</DebugType>
@@ -1231,6 +1232,7 @@
      <BundleResource Include="Resources\Phone\FunctionIcon\ArmCenter\HouseDefenseIconOn.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\ArmCenter\BurglarAlarmIcon.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\ArmCenter\HistoryIcon.png" />
      <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\SecurityCenterFunctionBg.png" />
    </ItemGroup>
    <ItemGroup>
      <ITunesArtwork Include="iTunesArtwork" />
HDL-ON_iOS/Info.plist
@@ -104,9 +104,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.2.202104201</string>
    <string>1.2.202104223</string>
    <key>CFBundleVersion</key>
    <string>202104201</string>
    <string>202104223</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL-ON_iOS/Resources/Language.ini
@@ -20,7 +20,7 @@
19=The phone number is incorrect. Please re-enter.
20=The password and confirmation you typed do not match. Please re-enter your password.
21=The password format does not comply with the requirements, please enter again.
22=The user has existed, you can sign in directly.
22=The user has existed, yo24-hour defenseu can sign in directly.
23=Incorrect verification code, please re-enter.
24=Incorrect account number, please enter the correct email address.
25=Email address
@@ -74,7 +74,7 @@
73=Floor Management
74=Room Management
75=Administrator migration
76=Administrator privilege migration
76=Privilege Migration
77=Debugging privilege
78=The administrator is migrated to other user.
79=All of the data for the residence is migrated to new user.
@@ -426,7 +426,21 @@
439=Real time power consumption: {0} kw
440=Next step
441=Please select all areas of capture status
442=Custom deployment
442=Generate Scene
443=Custom deployment
444=SecurityCenter
445=House Defense
446=At Home Defense
447=Vacation Defense
448=Fixed deployment
449=*Undo defense does not affect
450=Disaster defense
451=24-hour defense
452=Burglar alarm
453=Alarm mute
454=Deployment information
455=The name can not be blank.
1000=Room Humidity
1001=V-chip
@@ -1204,7 +1218,21 @@
439=实时功耗: {0}kW
440=下一步
441=请选择捕捉状态的区域
442=自定义布防
442=生成场景
443=自定义布防
444=安防中心
445=全宅布防
446=在家布防
447=假期布防
448=固定布防
449=*不受撤防影响
450=灾害报警
451=24小时不撤防
452=防盗报警
453=报警静音
454=布防信息
455=名称不能为空。
1000=室内湿度
1001=童锁
HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityCenterFunctionBg.png
HDL_ON/Common/R.cs
@@ -4,6 +4,37 @@
{
    public static class StringId
    {
        public const int NameCannotBeEmpty = 455;
        /// <summary>
        /// 布防信息
        /// </summary>
        public const int DeploymentInformation = 454;
        /// <summary>
        /// 报警静音
        /// </summary>
        public const int AlarmMute = 453;
        /// <summary>
        /// 防盗报警
        /// </summary>
        public const int BurglarAlarm = 452;
        /// <summary>
        /// 24小时防御
        /// </summary>
        public const int Defense24Hour = 451;
        /// <summary>
        /// 灾害布防
        /// </summary>
        public const int DisasterDefense = 450;
        /// <summary>
        /// 不受撤防影响
        /// </summary>
        public const int UndoDefenseDoesNotAffect = 449;
        public const int FixedDeployment = 448;
        public const int VacationDefense = 447;
        public const int AtHomeDefense = 446;
        public const int HouseDefense = 445;
        public const int SecurityCenter = 444;
        public const int CustomDeployment = 443;
        public const int GenerateScene = 442;
        public const int ChooseCatchZone = 441;
HDL_ON/DAL/DriverLayer/Control.cs
@@ -602,8 +602,7 @@
                    }
                }
                MainPage.Log($"局域网信息: {receiveObj.Topic}");
                MainPage.Log($"内容: {res[1]}");
                MainPage.Log($"局域网信息: {receiveObj.Topic}  : 内容: {res[1]}");
                //验证有效数据长度
@@ -623,7 +622,7 @@
                    }
                    var device = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString());
                    if (device.device_mac == DB_ResidenceData.Instance.residenceGatewayMAC)
                    if (device.device_mac.ToUpper() == DB_ResidenceData.Instance.HomeGateway.mac.ToUpper())
                    {
                        MainPage.Log("本地搜索网关成功");
                        Ins.IsSearchLocalGatewaySuccessful = true;
HDL_ON/DAL/Mqtt/MqttClient.cs
@@ -685,6 +685,7 @@
                case "13602944661":
                case "18778381374":
                case "18316672920":
                case "15971583093":
                    return;
            }
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -565,7 +565,7 @@
            }
            else if (editId == 1)
            {
                requestObj.Address = editName;
                requestObj.homeAddress = editName;
            }
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
HDL_ON/DAL/Server/HttpUtil.cs
@@ -18,7 +18,7 @@
        /// 公共域名就近解析
        /// </summary>
        public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";
        //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm
        /// <summary>
        /// RegionMark
        /// </summary>
@@ -154,7 +154,7 @@
                    urlHead = OnAppConfig.Instance.RequestHttpsHost;
                }
                //"https://bahrain-gateway.hdlcontrol.com";
                 urlHead="https://china-gateway.hdlcontrol.com";
                //urlHead="https://china-gateway.hdlcontrol.com";
                string requestFullUrl = urlHead + apiPath;
HDL_ON/DAL/Server/NewApiRes.cs
@@ -449,7 +449,7 @@
        /// <summary>
        /// 住宅地址
        /// </summary>
        public string Address;
        public string homeAddress;
    }
HDL_ON/Entity/DB_ResidenceData.cs
@@ -58,6 +58,7 @@
        /// <summary>
        /// 功能类型列表
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public List<ShowFunction> functionTypeList = new List<ShowFunction>();
        static DB_ResidenceData instance;
@@ -85,9 +86,7 @@
                        {
                            instance = temp;
                        }
                        if (instance.functionTypeList.Count == 0)
                        {
                            instance.functionTypeList.AddRange(new List<ShowFunction> {
                        instance.functionTypeList.AddRange(new List<ShowFunction> {
                                    ShowFunction.Light,ShowFunction.AC,ShowFunction.Curtain,
                                    ShowFunction.FloorHeating,ShowFunction.Music,
                                    ShowFunction.Electric,ShowFunction.Environmental,
@@ -97,8 +96,7 @@
                                    ShowFunction.Sensor,ShowFunction.VideoIntercom,
                                    ShowFunction.SecurityCenter
                                });
                            instance.SaveResidenceData();
                        }
                        instance.SaveResidenceData();
                    }
                    catch (Exception ex)
                    {
HDL_ON/Entity/FunctionList.cs
@@ -108,8 +108,19 @@
        {
            return Functions.FindAll((obj) => obj.spk == SPK.IrModule);
        }
        #endregion
        /// <summary>
        /// 音乐列表
        /// </summary>
        /// <returns></returns>
        public List<Function> GetMusicList()
        {
            var spkList = SPK.MusicSpkList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 环境传感器列表
        /// </summary>
HDL_ON/HDL_ON.projitems
@@ -401,6 +401,7 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\AirQuality.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\ArmCenterPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\SecurityAlarm.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\ArmDeploymentSettingPage.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)DAL\" />
HDL_ON/UI/MainPage.cs
@@ -20,7 +20,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.2.0420";
        public static string VersionString = "1.2.0422";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -346,12 +346,17 @@
            int result = 0;
            Application.RunOnMainThread(() =>
            {
                if (BaseView.ChildrenCount>1)
                if (BasePageView == null || BasePageView.ChildrenCount<=1 )
                {
                    var view = BaseView.GetChildren(BaseView.ChildrenCount - 1);
                    if(view.GetType() == typeof(Loading))
                    result = 2;//无法再后退,可以执行退到桌面
                }
                if (BasePageView.ChildrenCount > 1)
                {
                    int index = BasePageView.ChildrenCount - 1;
                    var view = BasePageView.GetChildren(index);
                    if (view.GetType() == typeof(Loading))
                    {
                        var loading  = view as Loading;
                        var loading = view as Loading;
                        if (loading.CurStatus == false)//有一些等待界面隐藏了,但是没有移除到,需要先移除
                        {
                            loading.RemoveFromParent();
@@ -362,22 +367,17 @@
                            result = 1;//正在等待某些操作
                        }
                    }
                }
                else
                {
                    if (BasePageView.ChildrenCount > 1)
                    else
                    {
                        int index = BasePageView.ChildrenCount - 1;
                        var view = BasePageView.GetChildren(index);
                        if (view != null)
                        {
                            view.RemoveFromParent();
                        }
                    }
                    else
                    {
                        result = 2;//无法再后退,可以执行退到桌面
                    }
                }
                else
                {
                    result = 2;//无法再后退,可以执行退到桌面
                }
            });
            return result;
HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -39,10 +39,6 @@
                }
                if (string.IsNullOrEmpty(text) || list.Contains(text))
                {
                    //if (titleId == StringId.ModifyMemberNickname)
                    //{
                    //    return;
                    //}
                    string tipMsgString = "";
                    if (string.IsNullOrEmpty(text))
                    {
HDL_ON/UI/UI0-Public/TopViewDiv.cs
@@ -365,7 +365,7 @@
        /// </summary>
        public void LoadTopView_ArmCenter(Action skipAction)//(Action callBack, Action action)
        {
            //LoadTopView();
            LoadTopView();
            //backAction = action;
            var btnAddIcon = new Button()
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -199,23 +199,31 @@
                //return;
                if (b)
                {
                    etAccount.Text = "13226233133";//豆豆
                    //etAccount.Text = "18316672920";//"18316120654";//lcg "18316672920";//hzx;// "13415629083"//cf;//tujie"18316120654";
                    //etAccount.Text = "13375012446";
                    //etAccount.Text = "1033326940@qq.com";
                    //etAccount.Text = "18022428438";//wjc
                    //etAccount.Text = "13602944661";//kx
                    //etAccount.Text = "13226233133";//豆豆
                    //etAccount.Text = "18316672920";//lcg "18316672920";//hzx;// "13415629083"//cf;;
                    etAccount.Text = "18316120654";//tujie
                    // "15622703419"lwn;// "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568 
                }
                else
                {
                    etAccount.Text = "15217626103";//
                    //etAccount.Text = "13682244600";//波哥
                    //etAccount.Text = "BB01010101@evoyo.com";//可视对讲
                    //etAccount.Text = "13168123446";
                    etAccount.Text = "13602944661";//kx
                    //etAccount.Text = "18316120654";//凉霸"18666455392";//13375012446//13602944661//tzy 18778381374
                    //etAccount.Text = "13676202754";//巴林服务器
                    //etAccount.Text = "13602944661";//kx
                    //etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
                    //etAccount.Text = "15971583093";// gs//tzy 274116637@qq.com//Sumant.Bhatia@havells.com 国外服务器测试
                }
                b = !b;
                etPassword.Text = "123456";
                btnLogin.IsSelected = true;
            };
            #endif
#endif
            #region 登录方式选择
            btnPhoneLogin = new Button()
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -111,41 +111,40 @@
                                        #endregion
                                        case FunctionCategory.Curtain:
                                            #region 窗帘更新
                                            //var uCurtain = updataFunction as Curtain;
                                            var percentString = updataFunction.GetAttrState(FunctionAttributeKey.Percent);
                                            if (percentString != null)
                                            var percent = updataFunction.GetAttrState(FunctionAttributeKey.OnOff) == "off" ? 0 : 100;
                                            if(updataFunction.GetAttributes().Contains(FunctionAttributeKey.Percent))
                                            {
                                                int percent = 0;
                                                string percentString = updataFunction.GetAttrState(FunctionAttributeKey.Percent);
                                                int.TryParse(percentString, out percent);
                                                if (percent == 0)
                                            }
                                            if (percent == 0)
                                            {
                                                if (cTag == updataFunction.sid + "_off")
                                                {
                                                    if (cTag == updataFunction.sid + "_off")
                                                    try
                                                    {
                                                        try
                                                        {
                                                            (fcView.GetChildren(j) as Button).IsSelected = true;
                                                        }
                                                        catch { }
                                                        (fcView.GetChildren(j) as Button).IsSelected = true;
                                                    }
                                                    else
                                                    {
                                                        (fcView.GetChildren(j) as Button).IsSelected = false;
                                                    }
                                                    catch { }
                                                }
                                                else
                                                {
                                                    if (cTag == updataFunction.sid + "_on")
                                                    (fcView.GetChildren(j) as Button).IsSelected = false;
                                                }
                                            }
                                            else
                                            {
                                                if (cTag == updataFunction.sid + "_on")
                                                {
                                                    try
                                                    {
                                                        try
                                                        {
                                                            (fcView.GetChildren(j) as Button).IsSelected = true;
                                                        }
                                                        catch { }
                                                        (fcView.GetChildren(j) as Button).IsSelected = true;
                                                    }
                                                    else
                                                    {
                                                        (fcView.GetChildren(j) as Button).IsSelected = false;
                                                    }
                                                    catch { }
                                                }
                                                else
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = false;
                                                }
                                            }
                                            #endregion
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -491,6 +491,10 @@
                    case ShowFunction.Music:
                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                        if(functionCount == 0)
                        {
                            functionCount = FunctionList.List.GetMusicList().Count;
                        }
                        break;
                    case ShowFunction.Panel:
                        break;
@@ -508,6 +512,9 @@
                        break;
                    case ShowFunction.SecurityCenter:
                        functionCount = FunctionList.List.securities.Count;
#if DEBUG
                        functionCount = 1;
#endif
                        break;
                }
@@ -814,6 +821,16 @@
                            videoMethod.MianView(this,FunctionList.List.videoIntercom);
                        };
                        break;
                    case ShowFunction.SecurityCenter:
                        btnName.TextID = StringId.SecurityCenter;
                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                        {
                            var page = new ArmCenterPage();
                            MainPage.BasePageView.AddChidren(page);
                            page.LoadPage();
                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                        };
                        break;
                }
                //界面跳转--音乐跳转自己的界面--环境跳转自己的界面
@@ -840,7 +857,7 @@
#endregion
        }
#region 切换楼层
        #region 切换楼层
        /// <summary>
        /// 楼层显示切换
        /// </summary>
@@ -997,6 +1014,6 @@
        {
        }
#endregion
        #endregion
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs
@@ -162,45 +162,46 @@
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
            #region 住宅地址
                        var residenceAddressRow = new FrameLayout()
                        {
                            Y = residenceNameRow.Bottom,
                            Height = Application.GetRealHeight(50),
                            BackgroundColor = CSS_Color.MainBackgroundColor,
                        };
                        contentView.AddChidren(residenceAddressRow);
            var residenceAddressRow = new FrameLayout()
            {
                Y = residenceNameRow.Bottom,
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(residenceAddressRow);
                        var btnResidenceAddressTitle = new Button()
                        {
                            X = Application.GetRealWidth(16),
                            Width = Application.GetRealWidth(78),
                            TextID = StringId.ResidenceAddress,
                            TextAlignment = TextAlignment.CenterLeft,
                            TextSize = CSS_FontSize.SubheadingFontSize,
                            TextColor = CSS_Color.FirstLevelTitleColor,
                        };
                        residenceAddressRow.AddChidren(btnResidenceAddressTitle);
            var btnResidenceAddressTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(78),
                TextID = StringId.ResidenceAddress,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            residenceAddressRow.AddChidren(btnResidenceAddressTitle);
                        btnLocationAddressIcon = new Button()
                        {
                            X = Application.GetRealWidth(333),
                            Gravity = Gravity.CenterVertical,
                            Width = Application.GetMinRealAverage(28),
                            Height = Application.GetMinRealAverage(28),
                            UnSelectedImagePath = "Public/LocationAddressIcon.png",
                        };
                        residenceAddressRow.AddChidren(btnLocationAddressIcon);
            btnLocationAddressIcon = new Button()
            {
                X = Application.GetRealWidth(333),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(28),
                Height = Application.GetMinRealAverage(28),
                //UnSelectedImagePath = "Public/LocationAddressIcon.png",
                UnSelectedImagePath = "Public/Edit.png",
            };
            residenceAddressRow.AddChidren(btnLocationAddressIcon);
                        btnResidenceAddress = new Button()
                        {
                            X = Application.GetRealWidth(2) + btnResidenceNameTitle.Right,
                            Width = Application.GetRealWidth(200),
                            Text = DB_ResidenceData.Instance.CurrentRegion.homeAddress,
                            TextSize = CSS_FontSize.TextFontSize,
                            TextAlignment = TextAlignment.CenterLeft,
                            TextColor = CSS_Color.TextualColor,
                        };
                        residenceAddressRow.AddChidren(btnResidenceAddress);
            btnResidenceAddress = new Button()
            {
                X = Application.GetRealWidth(2) + btnResidenceNameTitle.Right,
                Width = Application.GetRealWidth(200),
                Text = DB_ResidenceData.Instance.CurrentRegion.homeAddress,
                TextSize = CSS_FontSize.TextFontSize,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.TextualColor,
            };
            residenceAddressRow.AddChidren(btnResidenceAddress);
            #endregion
            #region 楼层管理
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
@@ -433,7 +434,8 @@
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthoritySwitchIcon);
            btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) => {
            btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                DB_ResidenceData.Instance.CurrentRegion.debugPerm = !DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                btnCommissioningAuthoritySwitchIcon.IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                new System.Threading.Thread(() =>
@@ -449,4 +451,4 @@
            LoadEventList();
        }
    }
}
}
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePageBLL.cs
@@ -27,18 +27,6 @@
            {
                Action<string> callBack = (str) =>
                {
                    if (string.IsNullOrEmpty(str))
                    {
                        new Tip()
                        {
                            CloseTime = 1,
                            Text = Language.StringByID(StringId.HouseNameCannotBeEmpty),
                            Direction = AMPopTipDirection.None,
                        }.Show(bodyView);
                        return;
                    }
                    //DB_ResidenceData.residenceData.residecenInfo.Name = str;
                    var waitPage = new Loading();
                    bodyView.AddChidren(waitPage);
                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
@@ -52,7 +40,6 @@
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    // UserInfo.Current.regionList.Find((obj) => obj.Name == btnResidenceName.Text.Trim()).Name = str;
                                    btnResidenceName.Text = str;
                                    upateResidenceName();
                                });
@@ -113,7 +100,7 @@
                        IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
                    }
                };
                new PublicAssmebly().LoadDialog_EditParater(StringId.ResidenceAddress, DB_ResidenceData.Instance.CurrentRegion.homeName, callBack, StringId.HouseAddressCannotBeEmpty, 0, new List<string>());
                new PublicAssmebly().LoadDialog_EditParater(StringId.ResidenceAddress, DB_ResidenceData.Instance.CurrentRegion.homeAddress, callBack, StringId.HouseAddressCannotBeEmpty, 0, new List<string>());
            };
            btnResidenceAddress.MouseUpEventHandler = eventHandler;
            btnLocationAddressIcon.MouseUpEventHandler = eventHandler;
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmCenterPage.cs
@@ -1,7 +1,8 @@
using System;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI.UI2.FuntionControlView.ArmCenter
namespace HDL_ON.UI
{
    public class ArmCenterPage : FrameLayout
    {
@@ -24,6 +25,7 @@
            VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(603),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                ScrollEnabled = false,
@@ -51,6 +53,7 @@
                Height = Application.GetRealWidth(16),
            });
            #region 自定义布防
            //自定义布防标题
            Button btnCustomDeploymentTitle = new Button()
            {
@@ -71,11 +74,84 @@
            };
            contentView.AddChidren(customDeploymentView);
            //customDeploymentView.AddChidren(new Button()
            //{
            //    Width = Application.GetRealWidth(23),
            //});
            var adv = new ArmDiyView();
            var view = adv.DiyArmView("FunctionIcon/ArmCenter/AtHomeDefenseIcon.png", "FunctionIcon/ArmCenter/AtHomeDefenseIconOn.png",
                Language.StringByID(StringId.HouseDefense));
            customDeploymentView.AddChidren(view);
            foreach (var mode in FunctionList.List.securities)
            {
            }
            #endregion
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealHeight(20),
            });
            var fixedDeploymentView = new FrameLayout()
            {
                Height = Application.GetRealHeight(123),
            };
            contentView.AddChidren(fixedDeploymentView);
            Button btnFixedDeploymentTitle = new Button()
            {
                X = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                TextAlignment = TextAlignment.CenterLeft,
                IsBold = true,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextID = StringId.FixedDeployment,
            };
            fixedDeploymentView.AddChidren(btnFixedDeploymentTitle);
            Button btnFixedDeploymentTip = new Button()
            {
                X = Application.GetRealWidth(24),
                Y = btnFixedDeploymentTitle.Bottom,
                Height = Application.GetRealWidth(19),
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.MainColor,
                TextID = StringId.UndoDefenseDoesNotAffect
            };
            fixedDeploymentView.AddChidren(btnFixedDeploymentTip);
            //固定布防区域
            var fixedDeploymentTypeView = new HorizontalScrolViewLayout()
            {
                Y = btnFixedDeploymentTip.Bottom + Application.GetRealHeight(15),
                Height = Application.GetRealHeight(80),
            };
            fixedDeploymentView.AddChidren(fixedDeploymentTypeView);
            fixedDeploymentTypeView.AddChidren(new Button()
            {
                Width = Application.GetRealWidth(24),
            });
            //灾害报警
            var disasterAlarmView = adv.FixedArmView("FunctionIcon/ArmCenter/DisasterAlarmIcon.png", Language.StringByID(StringId.DisasterDefense), Language.StringByID(StringId.Defense24Hour));
            fixedDeploymentTypeView.AddChidren(disasterAlarmView);
            fixedDeploymentTypeView.AddChidren(new Button()
            {
                Width = Application.GetRealWidth(30),
            });
            //防盗报警
            var burglarAlarmView = adv.FixedArmView("FunctionIcon/ArmCenter/BurglarAlarmIcon.png", Language.StringByID(StringId.BurglarAlarm), Language.StringByID(StringId.AlarmMute));
            fixedDeploymentTypeView.AddChidren(burglarAlarmView);
        }
    }
@@ -86,16 +162,16 @@
    /// </summary>
    public class ArmDiyView
    {
        public FrameLayout ArmDiyButton;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="IconPath">图片路径</param>
        /// <param name="UnSelectedIconPath">图片路径</param>
        /// <param name="SelectedIconPath">图片路径</param>
        /// <param name="Text">显示文本</param>
        public ArmDiyView(string UnSelectedIconPath, string SelectedIconPath, string Text)
        public FrameLayout DiyArmView(string UnSelectedIconPath, string SelectedIconPath, string Text)
        {
            ArmDiyButton = new FrameLayout()
            var view = new FrameLayout()
            {
                Width = Application.GetRealWidth(82),
                Height = Application.GetRealWidth(80),
@@ -109,7 +185,7 @@
                UnSelectedImagePath = UnSelectedIconPath,
                SelectedImagePath = SelectedIconPath,
            };
            ArmDiyButton.AddChidren(btnIcon);
            view.AddChidren(btnIcon);
            Button btnText = new Button()
            {
@@ -120,9 +196,66 @@
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            };
            ArmDiyButton.AddChidren(btnText);
            view.AddChidren(btnText);
            return view;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="iconPath"></param>
        /// <param name="title"></param>
        /// <param name="titleTip"></param>
        public FrameLayout FixedArmView(string iconPath,string title,string titleTip)
        {
            var view = new FrameLayout()
            {
                Width = Application.GetRealWidth(144),
                Height = Application.GetRealHeight(66),
                Radius = (uint)Application.GetRealWidth(6),
                BorderColor = CSS_Color.MainColor,
                BorderWidth = 1,
            };
            var btnIcon = new Button()
            {
                X = Application.GetRealWidth(15),
                Width = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                Gravity = Gravity.CenterVertical,
                UnSelectedImagePath = iconPath,// "FunctionIcon/ArmCenter/DisasterAlarmIcon.png",
            };
            view.AddChidren(btnIcon);
            var btnTitle = new Button()
            {
                X = Application.GetRealWidth(55),
                Width = Application.GetRealWidth(89),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                Text = title,
                IsBold = true,
            };
            view.AddChidren(btnTitle);
            var btnTitleTip = new Button()
            {
                X = Application.GetRealWidth(55),
                Y = Application.GetRealHeight(23),
                Width = Application.GetRealWidth(89),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = titleTip,
            };
            view.AddChidren(btnTitleTip);
            return view;
        }
    }
}
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/ArmDeploymentSettingPage.cs
New file
@@ -0,0 +1,213 @@
using System;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    public class ArmDeploymentSettingPage : FrameLayout
    {
        FrameLayout bodyView;
        SecurityAlarm securityAlarm;
        public ArmDeploymentSettingPage(SecurityAlarm alarm )
        {
            bodyView = this;
            securityAlarm = alarm;
        }
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
            {
                Height = Application.GetRealHeight(667 - 64),
            };
            bodyView.AddChidren(contentView);
            #region 布防信息
            var deploymentTitleRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(44),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(deploymentTitleRow);
            var btnDeploymentTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                TextColor = CSS_Color.MainColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.DeploymentInformation,
            };
            deploymentTitleRow.AddChidren(btnDeploymentTitle);
            deploymentTitleRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
            #region 布防名称
            var deploymentNameRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(deploymentNameRow);
            var btnDeploymentNameTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(72),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.Name,
            };
            deploymentNameRow.AddChidren(btnDeploymentNameTitle);
            var btnDeploymentName = new Button()
            {
                X = Application.GetRealWidth(88),
                Width = Application.GetRealWidth(230),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.TextFontSize,
                Text = securityAlarm.name
            };
            deploymentNameRow.AddChidren(btnDeploymentName);
            deploymentNameRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
            LoadEvent_EditSecurityAlarmName(btnDeploymentName);
            #endregion
            #region 触发延时
            var delayedRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(50),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(delayedRow);
            var btnDelayedTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(72),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.Name,
            };
            delayedRow.AddChidren(btnDelayedTitle);
            var btnDelayedText = new Button()
            {
                X = Application.GetRealWidth(88),
                Width = Application.GetRealWidth(230),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.TextFontSize,
                Text = securityAlarm.name
            };
            delayedRow.AddChidren(btnDelayedText);
            var btnDelayedRight = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            delayedRow.AddChidren(btnDelayedRight);
            //delayedRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(49), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
            LoadEvent_EditSecurityAlarmName(btnDelayedTitle);
            #endregion
            #endregion
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8), BackgroundColor = CSS_Color.BackgroundColor });
            #region 布防功能
            var deploymentFunctionRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(44),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(deploymentFunctionRow);
            var btnFunctionTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                TextColor = CSS_Color.MainColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.DeploymentInformation,
            };
            deploymentFunctionRow.AddChidren(btnFunctionTitle);
            deploymentFunctionRow.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(43), Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
            #endregion
        }
        /// <summary>
        /// 修改安防名称
        /// </summary>
        void LoadEvent_EditSecurityAlarmName(Button btnDeploymentName)
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                Action<string> callBack = (str) =>
                {
                    var waitPage = new Loading();
                    bodyView.AddChidren(waitPage);
                    waitPage.Start(Language.StringByID(StringId.PleaseWait));
                    new System.Threading.Thread(() =>
                    {
                        try
                        {
                            securityAlarm.name = str;
                            var responsePack = new HttpServerRequest().EditSecurity(new List<SecurityAlarm>() { securityAlarm});
                            if (responsePack.Code == StateCode.SUCCESS)
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    btnDeploymentName.Text = str;
                                });
                            }
                            else
                            {
                                IMessageCommon.Current.ShowErrorInfoAlter(responsePack.Code);
                            }
                        }
                        catch (Exception ex)
                        {
                            MainPage.Log($"update user name error : {ex.Message}");
                        }
                        finally
                        {
                            Application.RunOnMainThread(() =>
                            {
                                if (waitPage != null)
                                {
                                    waitPage.RemoveFromParent();
                                    waitPage = null;
                                }
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                };
                new PublicAssmebly().LoadDialog_EditParater(StringId.Name, securityAlarm.name, callBack, StringId.NameCannotBeEmpty, 0, new List<string>());
            };
            btnDeploymentName.MouseUpEventHandler = eventHandler;
        }
    }
}
HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs
@@ -291,7 +291,7 @@
                {
                    loadPage.Start(Language.StringByID(StringId.PleaseWait));
                });
                var sensorType = function.spk.Split(".")[0];
                var sensorType = function.spk.Split(".")[1];
                var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, function.deviceId, sensorType);
                if (revertObj != null)
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -153,7 +153,7 @@
                TextColor = CSS_Color.TextualColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "10°C",
                Text = "--°C",
            };
            topWeatherView.AddChidren(btnTempUpperLimitText);
@@ -176,7 +176,7 @@
                TextColor = CSS_Color.TextualColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "2°C",
                Text = "--°C",
            };
            topWeatherView.AddChidren(btnTempLowerLimitText);
@@ -370,7 +370,7 @@
                    Width = Application.GetRealWidth(100),
                    Height = Application.GetRealWidth(32),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,//levelColorList[sensorTemp.GetCurLevel(sensor) - 1],
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1],
                    Tag = "SensorLevel",
@@ -410,11 +410,6 @@
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    #endregion
                };
                //btnLevel.MouseUpEventHandler = (sender, e) =>
                //{
                //    LoadInfo(sensor);
                //};
                new System.Threading.Thread(() =>
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -838,7 +838,7 @@
                            continue;
                        }
                        var sensorType = sr.spk.Split(".")[0];
                        var sensorType = sr.spk.Split(".")[1];
                        var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,sensorType);
                        if (revertObj != null)