wxr
2022-01-10 ace942d3f082a8a9687cf65337ee1c342a5c9bd8
备份更新
1个文件已添加
25个文件已修改
586 ■■■■ 已修改文件
DLL/EZvizMonitor/ys.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/HDL-ON_Android.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Info.plist 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/Function/Function.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/FunctionList.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/Widget/ListCellView.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPageBLL.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePage.cs 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/ComplaintsPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/DoorLock/DoorLockListPage.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage_CumulativePowerConsumption.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/EZvizMonitor/ys.dll
Binary files differ
HDL-ON_Android/Assets/Language.ini
@@ -422,7 +422,7 @@
436=Added Devices
437=Device List
438=humidity:{0}%    air:{1}    wind:{2}
439=Real time: {0} kw
439=Real time: {0} kW
440=Next step
441=Please select all areas of capture status
442=Generate Scene
@@ -511,6 +511,7 @@
523=Delay alarm
524=Bypass
525=Enable
526=Cancel account
 
1000=Room Humidity
1001=V-chip
@@ -1645,6 +1646,7 @@
523=延时报警
524=停用
525=启用
526=注销账号
 
1000=室内湿度
1001=童锁
@@ -1749,7 +1751,7 @@
1093=
1094=选择时间
1095=选择日期
1096=Generate
1096=生成
1097=临时密码已经复制
1098=清除当前临时密码?
1099=生效时间必须大于失效时间
HDL-ON_Android/HDL-ON_Android.csproj
@@ -168,15 +168,15 @@
    <Reference Include="Square.OkIO">
      <HintPath>..\DLL\EZvizMonitor\Square.OkIO.dll</HintPath>
    </Reference>
    <Reference Include="ys">
      <HintPath>..\DLL\EZvizMonitor\ys.dll</HintPath>
    </Reference>
    <Reference Include="Shared.Droid.HDLLinphone">
      <HintPath>..\DLL\Linphone\Android\Shared.Droid.HDLLinphone.dll</HintPath>
    </Reference>
    <Reference Include="Shared.Droid.LCVideoSDK">
      <HintPath>..\DLL\LC\Android\Shared.Droid.LCVideoSDK.dll</HintPath>
    </Reference>
    <Reference Include="ys">
      <HintPath>..\DLL\EZvizMonitor\ys.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="MainActivity.cs" />
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="202112283" android:versionName="1.4.5" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="30" />
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="202201071" android:versionName="1.5.2" package="com.hdl.onpro">
    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="30" />
    <!-- 乐橙可视对讲需要的权限 -->
    <!--<uses-permission android:name="android.permission.INTERNET" />-->
    <!--网络访问-->
@@ -82,7 +82,7 @@
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_LOGS" />
    <!-- 极光推送结束 -->
    <application android:allowBackup="true" android:debuggable="true" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="On Pro">
    <application android:allowBackup="true" android:debuggable="false" android:icon="@drawable/Icon" android:networkSecurityConfig="@xml/network_security_config" android:largeHeap="true" android:label="On Pro">
        <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/Info.plist
@@ -100,9 +100,9 @@
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>CFBundleShortVersionString</key>
    <string>1.4.502112271</string>
    <string>1.5.102101041</string>
    <key>CFBundleVersion</key>
    <string>1.4.12271</string>
    <string>1.5.101041</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Use geographic location to provide services such as weather</string>
    <key>NSAppleMusicUsageDescription</key>
HDL-ON_iOS/Resources/Language.ini
@@ -422,7 +422,7 @@
436=Added Devices
437=Device List
438=humidity:{0}%    air:{1}    wind:{2}
439=Real time: {0} kw
439=Real time: {0} kW
440=Next step
441=Please select all areas of capture status
442=Generate Scene
@@ -511,6 +511,7 @@
523=Delay alarm
524=Bypass
525=Enable
526=Cancel account
 
1000=Room Humidity
1001=V-chip
@@ -1645,6 +1646,7 @@
523=延时报警
524=停用
525=启用
526=注销账号
 
1000=室内湿度
1001=童锁
@@ -1746,10 +1748,9 @@
1092=生效时间
1092=Effective time
1093=失效时间
1093=
1094=选择时间
1095=选择日期
1096=Generate
1096=生成
1097=临时密码已经复制
1098=清除当前临时密码?
1099=生效时间必须大于失效时间
HDL_ON/Common/R.cs
@@ -4,6 +4,11 @@
{
    public static class StringId
    {
        /// <summary>
        /// 注销账号
        /// </summary>
        public const int CancelAccount = 526;
        /// <summary>
        /// 启用
        /// </summary>
HDL_ON/Entity/Function/Function.cs
@@ -1110,7 +1110,17 @@
    public static class SPK
    {
        /// <summary>
        /// 门锁
        /// </summary>
        public const string DoorLock = "security.door";
        public static List<string> GetDoorLockSPKList()
        {
            var list = new List<string>();
            list.Add(DoorLock);
            return list;
        }
        #region 灯光
HDL_ON/Entity/FunctionList.cs
@@ -72,6 +72,12 @@
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        public List<Function> GetDoorLockList()
        {
            var spkList = SPK.GetDoorLockSPKList();
            return Functions.FindAll((obj) => spkList.Contains(obj.spk));
        }
        /// <summary>
        /// 新风列表
        /// </summary>
HDL_ON/HDL_ON.projitems
@@ -490,6 +490,7 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\PushConfigPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPage_InstantaneousValue.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\SocketPage_CumulativePowerConsumption.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\CancelAccountPage.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
    /// <summary>
    /// 版本号
    /// </summary>
    public static string VersionString = "1.4.5";
    public static string VersionString = "1.5.2";
    ///// <summary>
    ///// 客户端类型
    ///// </summary>
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -196,6 +196,10 @@
                        var airFresh2 = new AirFreshRelayControlPage();
                        airFresh2.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                    case SPK.DoorLock:
                        var doorLockPage = new DoorLockListPage();
                        doorLockPage.AddForm(function, btnCollectionIcon, btnName, btnFromFloor);
                        break;
                }
            };
            return eventHandler;
HDL_ON/UI/UI0-Public/Widget/ListCellView.cs
@@ -71,11 +71,12 @@
            BtnTilte = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(220),
                Width = Application.GetRealWidth(260),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                Text = tilteText,
                IsMoreLines = true
            };
            this.AddChidren(BtnTilte);
            /// <summary>
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -216,6 +216,7 @@
                    //etAccount.Text = "18316120654";//tujie
                    //etAccount.Text = "15626203746";
                    //etAccount.Text = "13450425807";//黄竹溪 knx项目
                    etAccount.Text = "18059593333";
                }
                else
                {
HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -42,7 +42,6 @@
                    OnAppConfig.Instance.GlobalRegion = mGlobalRegionListObj;
                    OnAppConfig.Instance.SaveConfig();
                }
                OnAppConfig.Instance.RequestHttpsHost = @"https://bahrain-gateway.hdlcontrol.com";
            }
            catch { }
        }
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -553,20 +553,55 @@
#if DEBUG
            FunctionList.List.Functions.Add(new Function()
            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" },
                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()
            //{
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -678,6 +678,8 @@
                        #endregion
                        break;
                    case ShowFunction.DoorLock:
                        functionCount = FunctionList.List.GetDoorLockList().Count;
                        functionOnCount = 1;
                        break;
                    case ShowFunction.Electric:
                        #region 电器
@@ -934,6 +936,10 @@
                        break;
                    case ShowFunction.DoorLock:
                        btnName.TextID = StringId.DoorLock;
                        btnFunctionViewBg.MouseUpEventHandler = (sende, e) => {
                            var form = new DoorLockListPage();
                            form.AddForm(FunctionList.List.GetDoorLockList());
                        };
                        break;
                    case ShowFunction.Electric:
                        #region 电器
@@ -1050,7 +1056,7 @@
                }
                //界面跳转--音乐跳转自己的界面--环境跳转自己的界面
                if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring
                if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring && item != ShowFunction.DoorLock
                    && ShowFunction.EnergyMonitoring!= item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item)
                {
                    btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -235,6 +235,51 @@
            });
            #endregion
            #region 组号
            //var grounpView = new FrameLayout()
            //{
            //    Height = Application.GetRealWidth(50),
            //};
            //contentView.AddChidren(grounpView);
            //Button btnGroupTitle = new Button()
            //{
            //    X = Application.GetRealWidth(16),
            //    //Width = Application.GetRealWidth(90),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    TextSize = CSS_FontSize.TextFontSize,
            //    Text = "组号"
            //};
            //grounpView.AddChidren(btnGroupTitle);
            //var etGroup = new EditText()
            //{
            //    TextAlignment = TextAlignment.CenterRight,
            //    Width = Application.GetRealWidth(350),
            //    Text = scene.group,
            //    TextColor = CSS_Color.PromptingColor1,
            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            //    IsNumberKeyboardType = true
            //};
            //grounpView.AddChidren(etGroup);
            //etGroup.TextChangeEventHandler = (sender, e) => {
            //    scene.group = e;
            //};
            //Button btnGroupLine = new Button()
            //{
            //    Y = Application.GetRealWidth(49),
            //    Gravity = Gravity.CenterHorizontal,
            //    Height = Application.GetRealHeight(1),
            //    Width = Application.GetRealWidth(343),
            //    BackgroundColor = CSS_Color.DividingLineColor,
            //};
            //grounpView.AddChidren(btnGroupLine);
            #endregion
            #region 场景延时row
            if (DB_ResidenceData.Instance.GatewayType == 1)
            {
@@ -391,10 +436,12 @@
                        var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
                        if (tempScene != null)
                        {
                            scene.functions = tempScene.functions;
                            scene = tempScene;
                        }
                        Application.RunOnMainThread(() =>
                        {
                            btnSceneName.Text = scene.name;
                            //etGroup.Text = scene.group;
                            LoadFunctionRow();
                            waitPage.Hide();
                            waitPage.RemoveFromParent();
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/AboutOnPage.cs
@@ -105,26 +105,26 @@
            bodyView.AddChidren(lineView);
            #region 功能介绍
            var functionView = new ListCellView()
            {
                Y = lineView.Bottom,
            };
            bodyView.AddChidren(functionView);
            functionView.BtnTilte.TextID = StringId.FunctionIntroduced;
            Action functionAction = () =>
            {
                var mPage = new FunctionIntroductionPage();
                MainPage.BasePageView.AddChidren(mPage);
                mPage.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            functionView.GoAction = functionAction;
            //var functionView = new ListCellView()
            //{
            //    Y = lineView.Bottom,
            //};
            //bodyView.AddChidren(functionView);
            //functionView.BtnTilte.TextID = StringId.FunctionIntroduced;
            //Action functionAction = () =>
            //{
            //    var mPage = new FunctionIntroductionPage();
            //    MainPage.BasePageView.AddChidren(mPage);
            //    mPage.LoadPage();
            //    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            //};
            //functionView.GoAction = functionAction;
            #endregion
            #region 投诉
            var complaintsView = new ListCellView()
            {
                Y = functionView.Bottom,
                Y = lineView.Bottom,
            };
            bodyView.AddChidren(complaintsView);
            complaintsView.BtnTilte.TextID = StringId.Complaints;
HDL_ON/UI/UI2/4-PersonalCenter/AboutOn/ComplaintsPage.cs
@@ -124,7 +124,7 @@
            {
                X = btnEmailTitle.Right,
                Y = btnEmailText.Bottom + Application.GetRealWidth(4),
                Height = Application.GetRealWidth(20),
                Height = Application.GetRealWidth(25),
                Width = Application.GetRealWidth(266),
                TextAlignment = TextAlignment.TopLeft,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs
New file
@@ -0,0 +1,201 @@
using System;
using Shared;
using HDL_ON.UI.CSS;
using Xamarin.Essentials;
namespace HDL_ON.UI
{
    public class CancelAccountPage : FrameLayout
    {
        /// <summary>
        ///
        /// </summary>
        FrameLayout bodyView;
        /// <summary>
        ///
        /// </summary>
        public CancelAccountPage()
        {
            bodyView = this;
            BackgroundColor = CSS_Color.MainBackgroundColor;
        }
        /// <summary>
        ///
        /// </summary>
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.CancelAccount)).LoadTopView();
            var textView = new Button()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(150),
                Padding = new Padding( Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16)),
                IsMoreLines = true,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.TopLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            if(Language.CurrentLanguage == "Chinese")
            {
                textView.Text = "您可通过电话专线与电子邮件的形式向我们申请注销账户,我们收到您的申请后,会第一时间安排工程人员对您App应用账户数据、以及智能家居智能硬件本地数据全部删除!";
            }
            else
            {
                textView.Text = "You can apply to us for cancellation of your account through special telephone line and e-mail. After receiving your application, we will arrange engineers to delete all your app account data and local data of smart home smart hardware at the first time!";
            }
            bodyView.AddChidren(textView);
            #region 投诉联系
            FrameLayout phoneRow = new FrameLayout()
            {
                Y = Application.GetRealHeight(214),
                Height = Application.GetRealWidth(50),
            };
            bodyView.AddChidren(phoneRow);
            Button btnPhoneTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(48),
                TextID = StringId.Telephone,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            phoneRow.AddChidren(btnPhoneTitle);
            if (Language.CurrentLanguage == "English")
            {
                btnPhoneTitle.Text = "Tel.:";
            }
            Button btnPhoneText = new Button()
            {
                X = btnPhoneTitle.Right,
                Width = Application.GetRealWidth(266),
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Text = "400 855 8535",
            };
            phoneRow.AddChidren(btnPhoneText);
            /// <summary>
            /// 前进图标
            /// </summary>
            var btnImage = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(16),
                Height = Application.GetRealWidth(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            phoneRow.AddChidren(btnImage);
            phoneRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(49), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                PhoneDialer.Open(Constant.SUPPORT_TELEPHONENUMBER);
            };
            phoneRow.MouseUpEventHandler = eventHandler;
            btnPhoneText.MouseUpEventHandler = eventHandler;
            btnImage.MouseUpEventHandler = eventHandler;
            #endregion
            #region 联系邮箱
            FrameLayout emailRow = new FrameLayout()
            {
                Y = phoneRow.Bottom,
                Height = Application.GetRealWidth(54),
            };
            bodyView.AddChidren(emailRow);
            Button btnEmailTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(48),
                TextID = StringId.Email_,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            emailRow.AddChidren(btnEmailTitle);
            Button btnEmailText = new Button()
            {
                X = btnEmailTitle.Right,
                Y = Application.GetRealWidth(8),
                Height = Application.GetRealWidth(20),
                Width = Application.GetRealWidth(266),
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Text = Constant.SUPPORT_EMAIL,
            };
            emailRow.AddChidren(btnEmailText);
            Button btnEmailTipText = new Button()
            {
                X = btnEmailTitle.Right,
                Y = btnEmailText.Bottom + Application.GetRealWidth(4),
                Height = Application.GetRealWidth(25),
                Width = Application.GetRealWidth(266),
                TextAlignment = TextAlignment.TopLeft,
                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                TextColor = CSS_Color.PromptingColor1,
                TextID = StringId.WillGivePriorityToTheTreatmen,
            };
            emailRow.AddChidren(btnEmailTipText);
            if (Language.CurrentLanguage == "English")
            {
                btnEmailTitle.Width = Application.GetRealWidth(80);
                emailRow.Height = Application.GetRealWidth(65);
                btnEmailTipText.IsMoreLines = true;
            }
            /// <summary>
            /// 前进图标
            /// </summary>
            var btnImage2 = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(16),
                Height = Application.GetRealWidth(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            emailRow.AddChidren(btnImage2);
            emailRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = emailRow.Height - Application.GetRealHeight(1), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
            EventHandler<MouseEventArgs> eventHandler2 = (sender, e) =>
            {
                CopyToClipboard(Constant.SUPPORT_EMAIL);
            };
            emailRow.MouseUpEventHandler = eventHandler2;
            btnEmailText.MouseUpEventHandler = eventHandler2;
            btnImage2.MouseUpEventHandler = eventHandler2;
            #endregion
        }
        /// <summary>
        /// 复制到剪切板
        /// </summary>
        /// <param name="text"></param>
        void CopyToClipboard(string text)
        {
            Clipboard.SetTextAsync(text);
            Utlis.ShowTip(text + "\n" + Language.StringByID(StringId.CopySuccess));
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs
@@ -183,10 +183,10 @@
        /// <summary>
        /// 解锁设置区域
        /// </summary>
        FrameLayout interpretationSettingsView;
        Button btnInterpretationSettingsTitle;
        Button btnInterpretationSettingsTip;
        Button btnInterpretationSettingsRight;
        //FrameLayout interpretationSettingsView;
        //Button btnInterpretationSettingsTitle;
        //Button btnInterpretationSettingsTip;
        //Button btnInterpretationSettingsRight;
        #endregion
        /// <summary>
@@ -679,62 +679,62 @@
            }
            #endregion
            #region 解锁设置区域
            var topPaddingView2 = new FrameLayout()
            {
                Height = Application.GetRealHeight(8)
            };
            bodyScrolView.AddChidren(topPaddingView2);
            /// <summary>
            /// 解锁设置区域
            /// </summary>
            interpretationSettingsView = new FrameLayout()
            {
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Height = Application.GetRealHeight(70),
            };
            bodyScrolView.AddChidren(interpretationSettingsView);
            if(Language.CurrentLanguage != "Chinese")
            {
                interpretationSettingsView.Height = Application.GetRealHeight(80);
            }
            btnInterpretationSettingsTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Height = Application.GetRealHeight(32),
                TextAlignment = TextAlignment.BottomLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.InterpretationSettings,
            };
            interpretationSettingsView.AddChidren(btnInterpretationSettingsTitle);
            #region 解锁设置区域
            ///// <summary>
            ///// 解锁设置区域
            ///// </summary>
            //interpretationSettingsView = new FrameLayout()
            //{
            //    BackgroundColor = CSS_Color.MainBackgroundColor,
            //    Height = Application.GetRealHeight(70),
            //};
            //bodyScrolView.AddChidren(interpretationSettingsView);
            //if(Language.CurrentLanguage != "Chinese")
            //{
            //    interpretationSettingsView.Height = Application.GetRealHeight(80);
            //}
            btnInterpretationSettingsTip = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnInterpretationSettingsTitle.Bottom,
                Height = Application.GetRealHeight(32),
                Width = Application.GetRealWidth(310),
                TextAlignment = TextAlignment.TopLeft,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.TextFontSize,
                TextID = StringId.AppUnlockSettingsTip,
                IsMoreLines = true,
            };
            interpretationSettingsView.AddChidren(btnInterpretationSettingsTip);
            //btnInterpretationSettingsTitle = new Button()
            //{
            //    X = Application.GetRealWidth(16),
            //    Height = Application.GetRealHeight(32),
            //    TextAlignment = TextAlignment.BottomLeft,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextID = StringId.InterpretationSettings,
            //};
            //interpretationSettingsView.AddChidren(btnInterpretationSettingsTitle);
            btnInterpretationSettingsRight = new Button()
            {
                X = Application.GetRealWidth(339),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/Right.png",
            };
            interpretationSettingsView.AddChidren(btnInterpretationSettingsRight);
            interpretationSettingsView.AddChidren(new LineView(interpretationSettingsView.Height));
            //btnInterpretationSettingsTip = new Button()
            //{
            //    X = Application.GetRealWidth(16),
            //    Y = btnInterpretationSettingsTitle.Bottom,
            //    Height = Application.GetRealHeight(32),
            //    Width = Application.GetRealWidth(310),
            //    TextAlignment = TextAlignment.TopLeft,
            //    TextColor = CSS_Color.PromptingColor1,
            //    TextSize = CSS_FontSize.TextFontSize,
            //    TextID = StringId.AppUnlockSettingsTip,
            //    IsMoreLines = true,
            //};
            //interpretationSettingsView.AddChidren(btnInterpretationSettingsTip);
            //btnInterpretationSettingsRight = new Button()
            //{
            //    X = Application.GetRealWidth(339),
            //    Gravity = Gravity.CenterVertical,
            //    Width = Application.GetMinRealAverage(16),
            //    Height = Application.GetMinRealAverage(16),
            //    UnSelectedImagePath = "Public/Right.png",
            //};
            //interpretationSettingsView.AddChidren(btnInterpretationSettingsRight);
            //interpretationSettingsView.AddChidren(new LineView(interpretationSettingsView.Height));
            #endregion
            #region 服务器信息
@@ -752,7 +752,27 @@
            };
            myServerInfoCellView.GoAction = selectAction;
            myServerInfoCellView.BtnTilte.Text = Language.StringByID(StringId.ServerInformation);
            myServerInfoCellView.LineView.RemoveFromParent();
            //myServerInfoCellView.LineView.RemoveFromParent();
            #endregion
            #region 注销账号
            ListCellView logOffView = new ListCellView()
            {
            };
            bodyScrolView.AddChidren(logOffView);
            //注销账号界面
            Action logOffAction = () =>
            {
                var myServerInfoPage = new CancelAccountPage();
                MainPage.BasePageView.AddChidren(myServerInfoPage);
                myServerInfoPage.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            logOffView.GoAction = logOffAction;
            logOffView.BtnTilte.Text = Language.StringByID(StringId.CancelAccount);
            logOffView.LineView.RemoveFromParent();
            #endregion
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -16,7 +16,7 @@
            LoadEvent_ChangeHeadImageView();
            LoadEvent_Logout();
            LoadEvent_EditUserName();
            LoadEvent_SkipInterpretationSettings();
            //LoadEvent_SkipInterpretationSettings();
            LoadEvent_ChangeBindEmail();
            LoadEvent_ChangeBindPhone();
            LoadEvent_SkipModifyPassword();
@@ -520,20 +520,20 @@
        #endregion
        #region 解锁设置区域
        void LoadEvent_SkipInterpretationSettings()
        {
            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
            {
                var page = new AppUnlockSettingsPage();
                MainPage.BasePageView.AddChidren(page);
                page.LoadPage();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
        //void LoadEvent_SkipInterpretationSettings()
        //{
        //    EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
        //    {
        //        var page = new AppUnlockSettingsPage();
        //        MainPage.BasePageView.AddChidren(page);
        //        page.LoadPage();
        //        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
        //    };
            btnInterpretationSettingsRight.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTitle.MouseUpEventHandler = eventHandler;
            btnInterpretationSettingsTip.MouseUpEventHandler = eventHandler;
        }
        //    btnInterpretationSettingsRight.MouseUpEventHandler = eventHandler;
        //    btnInterpretationSettingsTitle.MouseUpEventHandler = eventHandler;
        //    btnInterpretationSettingsTip.MouseUpEventHandler = eventHandler;
        //}
        #endregion
HDL_ON/UI/UI2/FuntionControlView/DoorLock/DoorLockListPage.cs
@@ -38,6 +38,14 @@
        /// <param name="i_listDevice">门锁设备列表</param>
        public void ShowForm(List<Function> i_listDevice)
        {
#if DEBUG
#endif
            this.listDevice.AddRange(i_listDevice);
            //智能门锁
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
@@ -154,7 +154,8 @@
                    TextAlignment = TextAlignment.Center,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.TextualColor,
                    TextID = StringId.InstantaneousValue
                    TextID = StringId.InstantaneousValue,
                    IsMoreLines = true
                };
                controlView.AddChidren(btnInstantaneousValueText);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
@@ -198,12 +199,13 @@
                {
                    X = Application.GetRealWidth(200),
                    Y = btnTotalElectricity.Bottom,
                    Width = Application.GetRealWidth(235),
                    Width = Application.GetRealWidth(100),
                    Height = Application.GetRealHeight(29),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.TextualColor,
                    TextID = StringId.CumulativePowerConsumption
                    TextID = StringId.CumulativePowerConsumption,
                    IsMoreLines = true
                };
                controlView.AddChidren(btnTotalElectricityText);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage_CumulativePowerConsumption.cs
@@ -136,7 +136,10 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextID = StringId.RealTimePowerConsumption,
            };
            btnRealTimeData.Text = Language.StringByID(StringId.RealTimePowerConsumption).Replace("{0}", function.GetAttrState("active_power"));
            double realTimePower = 0;
            double.TryParse(function.GetAttrState("active_power"), out realTimePower);
            realTimePower /= 1000;
            btnRealTimeData.Text = Language.StringByID(StringId.RealTimePowerConsumption).Replace("{0}", realTimePower.ToString());
            generalTableView.AddChidren(btnRealTimeData);