gxc
2019-12-30 0e4ad9a4de5b95f58daf1a6c5072c6a57cf223f9
2019.12.30
38个文件已修改
1098 ■■■■ 已修改文件
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/GateWay.Droid/Assets/Language.ini 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/ZigbeeColor.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs 380 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Category/Category.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/R.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,51 +1,27 @@
<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" />
  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.SelectDevice" />
  <MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" />
  <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" />
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/CommonForm/RoomMainView.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/R.cs">
    <Files>
      <File FileName="Shared/R.cs" Line="2042" Column="35" />
      <File FileName="Shared/R.cs" Line="808" Column="2" />
      <File FileName="GateWay.Droid/Assets/Language.ini" />
      <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1617" Column="112" />
      <File FileName="Shared/Phone/Device/Category/Category.cs" />
      <File FileName="Shared/Phone/Device/Category/SelectDevice.cs" />
      <File FileName="Shared/Common/Device.cs" />
      <File FileName="Shared/Phone/Device/CommonForm/RoomButton.cs" Line="7" Column="15" />
      <File FileName="Shared/Phone/Device/Category/SelectScene.cs" />
      <File FileName="Shared/Common/DeviceUI.cs" Line="468" Column="99" />
      <File FileName="Shared/Phone/UserView/UserHomeView.cs" Line="699" Column="35" />
      <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" Line="260" Column="21" />
      <File FileName="Shared/Phone/Device/Room/RoomManagement.cs" Line="173" Column="45" />
      <File FileName="Shared/Phone/Device/CommonForm/RoomMainView.cs" Line="30" Column="16" />
      <File FileName="Shared/Phone/UserView/UserHomeView.cs" />
      <File FileName="Shared/Phone/Device/Category/CategoryAddScene.cs" />
      <File FileName="Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs" />
      <File FileName="Shared/Common/DeviceUI.cs" />
      <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" />
      <File FileName="Shared/Phone/Device/CommonForm/DeviceInfoRow.cs" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="GateWay" expanded="True">
            <Node name="GateWay.Droid" expanded="True">
              <Node name="Assets" expanded="True" />
            </Node>
            <Node name="Shared" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="Phone" expanded="True">
                <Node name="Device" expanded="True">
                  <Node name="CommonForm" expanded="True">
                    <Node name="RoomMainView.cs" selected="True" />
                  </Node>
                  <Node name="Room" expanded="True" />
                </Node>
                <Node name="UserCenter" expanded="True">
                  <Node name="CommonBase" expanded="True">
                    <Node name="Common" expanded="True" />
                    <Node name="Controls" expanded="True">
                      <Node name="BaseCommonControl" expanded="True">
                        <Node name="Base" expanded="True" />
                      </Node>
                      <Node name="ClickButtonControls" expanded="True" />
                    </Node>
                  </Node>
                </Node>
                <Node name="UserView" expanded="True" />
              </Node>
              <Node name="R.cs" selected="True" />
            </Node>
          </Node>
        </State>
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
ZigbeeApp/GateWay.Droid/Assets/Language.ini
@@ -621,7 +621,7 @@
10108=搜索
10109=完成
10110=账号登录
10111=发送验证码
10111=获取验证码
10112=后重发
10113=请再次输入密码
10114=发送验证码成功,请注意查收
@@ -653,6 +653,9 @@
10140=请输入长度为6-13个字符的密码
10141=你已被强制下线!
10142=新密码和原密码一致
10143=请先获取验证码
10144=忘记密码?
10145=已有账号?登录
@@ -664,6 +667,8 @@
10155=操作失败
10156=发送验证码失败
10157=网关不在线
10158=下一步
10160=已是最新版本
10161=更新最新版
@@ -798,10 +803,11 @@
13506=5挡
13511=请清洁滤网
13600=没功能 {\r\n} 请先添加
13601=没场景 {\r\n} 请先添加
13600=还没有功能哦
13601=还没有场景哦
13602=无
13603=获取中...
13604=当前 亮度
15000=密码长度为{0}个字符
ZigbeeApp/Shared/Common/ZigbeeColor.cs
@@ -182,17 +182,25 @@
        /// </summary>
        public uint GXCSelectedLineColor = 0xFFFC744B;
        /// <summary>
        /// 浅色线条 0xFFF5F6FA;
        /// 浅色线条 0x80CCCCCC
        /// </summary>
        public uint GXCGrayLineColor = 0xFFF5F6FA;
        public uint GXCGrayLineColor = 0x80CCCCCC;
        /// <summary>
        /// 浅色线条 0x66CCCCCC
        /// </summary>
        public uint GXCGrayLineColor2 = 0x66CCCCCC;
        ///// <summary>
        ///// 浅色线条 0xFFEBEBEB
        ///// </summary>
        //public uint GXCGrayLineColor2 = 0xFFEBEBEB;
        /// <summary>
        /// 浅色线条 0xFFB7B8BB
        /// </summary>
        public uint GXCGrayLineColor3 = 0xFFB7B8BB;
        /// <summary>
        /// 0x40000000
        /// </summary>
        public uint GXCGrayLineColor4 = 0x40000000;
        /// <summary>
        /// 按钮未选中状态 0xFF656565;
ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll
Binary files differ
ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll
Binary files differ
ZigbeeApp/Shared/Phone/Device/Account/AccountForgetPWD.cs
@@ -139,6 +139,8 @@
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.TextSize,
                IsBold = true
            };
            bodyFrameLayout.AddChidren(errorBtn);
@@ -155,7 +157,9 @@
                BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                Radius = (uint)Application.GetRealHeight(127 / 2),
                Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text)
                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
                TextSize = 16,
                IsBold = true,
            };
            bodyFrameLayout.AddChidren(resetBtn);
        }
@@ -171,9 +175,10 @@
        private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
            resetBtn.Enable = resetBtn.IsSelected = false;
            errorBtn.Text = string.Empty;
            (sender as Button).IsSelected = true;
            (sender as Button).IsSelected = (sender as Button).IsBold = true;
            if ((sender as Button).Tag.ToString() == "Phone")
            {
                AddPhoneOrEmailFL(accountCodeFL, "Phone");
@@ -482,6 +487,11 @@
                    //验证码错误
                    errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
                }
                else if (stateCodeStr == "NORECORD")
                {
                    errorBtn.TextID = R.MyInternationalizationString.NORECORD;
                }
                else
                {
                    errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
ZigbeeApp/Shared/Phone/Device/Account/AccountLogin.cs
@@ -167,12 +167,14 @@
                Width = Application.GetRealWidth(300),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.AppName,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize=16
            };
            midFrameLayout.AddChidren(logoName);
            phoneEmailForm = new PhoneEmailForm();
            phoneEmailForm.Init(midFrameLayout);
            //错误提示Btn
            loginErrorBtn = new Button()
@@ -183,6 +185,8 @@
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize=CommonFormResouce.TextSize,
                IsBold=true
            };
            midFrameLayout.AddChidren(loginErrorBtn);
@@ -205,7 +209,7 @@
                Y = Application.GetRealHeight(1198),
                Width = Application.GetRealWidth(250),
                Height = Application.GetRealHeight(58),
                TextID = R.MyInternationalizationString.ForgotPWD,
                TextID = R.MyInternationalizationString.ForgotPWD_1,
                TextSize = CommonFormResouce.loginTextSize,
                TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterRight
@@ -219,14 +223,15 @@
                Height = Application.GetRealHeight(127),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.Login,
                TextSize = 15,
                TextSize = 16,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
                BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                Radius = (uint)Application.GetRealHeight(127 / 2),
                Enable = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text)
                IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
                IsBold=true
            };
            midFrameLayout.AddChidren(loginBtn);
@@ -280,6 +285,11 @@
            #endregion
            BindEvent();
            if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true)
            {
                SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null);
            }
        }
        #endregion
@@ -682,8 +692,6 @@
            }
        }
        /// <summary>
        /// phone/email 选择
        /// </summary>
@@ -692,9 +700,10 @@
        private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
            loginBtn.Enable = loginBtn.IsSelected = false;
            loginErrorBtn.Text = string.Empty;
            (sender as Button).IsSelected = true;
            (sender as Button).IsSelected = (sender as Button).IsBold = true;
            if((sender as Button).Tag.ToString()=="Phone")
            {
                AddPhoneOrEmailFL(accountPwdFL, "Phone");
ZigbeeApp/Shared/Phone/Device/Account/AccountLoginByCode.cs
@@ -67,6 +67,10 @@
        /// 验证码
        /// </summary>
        private string code;
        /// <summary>
        /// wechat
        /// </summary>
        private Button wechatBtn;
        private Timer t;
        private DateTime dateBegin;
@@ -151,7 +155,8 @@
                Width = Application.GetRealWidth(300),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.AppName,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize = 16
            };
            midFrameLayout.AddChidren(logoName);
@@ -167,6 +172,8 @@
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.TextSize,
                IsBold = true
            };
            midFrameLayout.AddChidren(loginErrorBtn);
@@ -189,7 +196,7 @@
                Y = Application.GetRealHeight(1198),
                Width = Application.GetRealWidth(250),
                Height = Application.GetRealHeight(58),
                TextID = R.MyInternationalizationString.ForgotPWD,
                TextID = R.MyInternationalizationString.ForgotPWD_1,
                TextSize = CommonFormResouce.loginTextSize,
                TextColor = Shared.Common.ZigbeeColor.Current.GXCTextGrayColor,
                TextAlignment = TextAlignment.CenterRight
@@ -203,7 +210,8 @@
                Height = Application.GetRealHeight(127),
                Gravity = Gravity.CenterHorizontal,
                TextID = R.MyInternationalizationString.Login,
                TextSize = 15,
                TextSize = 16,
                IsBold=true,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
@@ -240,6 +248,17 @@
            };
            midFrameLayout.AddChidren(registerBtn);
            wechatBtn = new Button
            {
                X = Application.GetRealWidth(395),
                Y = Application.GetRealHeight(1737),
                Width = Application.GetMinRealAverage(115),
                Height = Application.GetMinRealAverage(115),
                UnSelectedImagePath = "Account/Wechat.png",
                Gravity = Gravity.CenterHorizontal
            };
            midFrameLayout.AddChidren(wechatBtn);
            BindEvent();
        }
@@ -261,6 +280,8 @@
            registerBtn.MouseUpEventHandler += Register;
            //忘记密码
            forgotPasswordBtn.MouseUpEventHandler += ForgetPWD_MouseUpEvent;
            //wechat
            wechatBtn.MouseUpEventHandler += LoginByWechat;
        }
@@ -279,6 +300,10 @@
            CommonPage.Loading.Start();
            try
            {
                if (CheckAccount(account) == false)
                {
                    return;
                }
                var reqLoginByCode = new SendDataToServer.LoginValidCodeOBJ()
                {
                    Account = account,
@@ -359,8 +384,12 @@
                else if (stateCodeStr == "VALIDCODEANDPHONENOEQUAL")
                {
                    CommonPage.Loading.Hide();
                    //验证码错误
                    loginErrorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
                }
                else if (stateCodeStr == "NORECORD")
                {
                    CommonPage.Loading.Hide();
                    loginErrorBtn.TextID = R.MyInternationalizationString.NORECORD;
                }
                else if (stateCodeStr == "YOUDATANOISLOCALREGION")
                {
@@ -414,8 +443,9 @@
        private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
            loginBtn.Enable = loginBtn.IsSelected = false;
            (sender as Button).IsSelected = true;
            (sender as Button).IsSelected = (sender as Button).IsBold = true;
            if ((sender as Button).Tag.ToString() == "Phone")
            {
                AddPhoneOrEmailFL(accountCodeFL, "Phone");
@@ -453,6 +483,179 @@
            codeRow.SendCodeBtn.MouseUpEventHandler += SendCode_MouseUpEventAsync;
            codeRow.VerificationCodeET.TextChangeEventHandler += Code_TextChange;
        }
        /// <summary>
        /// wechat登录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="mouseEventArgs"></param>
        private void LoginByWechat(object sender, MouseEventArgs mouseEventArgs)
        {
#if Android
            //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP),
            //    Language.StringByID(R.MyInternationalizationString.LoginByWechat),
            //    Language.StringByID(R.MyInternationalizationString.Cancel),
            //    Language.StringByID(R.MyInternationalizationString.Confrim));
            //alert.Show();
            //alert.ResultEventHandler += (send, e) =>
            //{
            //if (e)
            //{
            com.hdl.home.Application.WXLogin();
            com.hdl.home.WXEntryActivity.RespAction = (authStr) =>
            {
                if (authStr == null)
                {
                }
                else
                {
                    new System.Threading.Thread(async () =>
                    {
                        var re = await isBindAuthAsync(authStr);
                        if (re)
                        {
                            Application.RunOnMainThread(() =>
                            {
                                //直接登录
                                HomePage.Instance.ShowLoginLoadView();
                            });
                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                            var homes = await House.GetHomeLists();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            Shared.Common.Room.InitAllRoom();
                            Application.RunOnMainThread(() =>
                            {
                                this.RemoveFromParent();
                                CommonPage.Instance.RemoveViewByTag("Login");
                                UserPage.Instance.Fresh();
                            });
                        }
                        else
                        {
                            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
                            Application.RunOnMainThread(() =>
                            {
                                var registerPage = new AccountRegister();
                                Shared.Common.CommonPage.Instance.AddChidren(registerPage);
                                registerPage.OpenID = authRes.openid;
                                registerPage.Show();
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                }
            };
            //}
            //};
#endif
#if iOS
            Home.IOS.AppDelegate.WXLogin();
            Home.IOS.AppDelegate.RespAction = (authStr) =>
            {
                if (authStr == null)
                {
                }
                else
                {
                    new System.Threading.Thread(async () =>
                    {
                        var re = await isBindAuthAsync(authStr);
                        if (re)
                        {
                            //直接登录
                            //this.RemoveFromParent();
                            //UserPage.Instance.Fresh();
                            var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
                            var homes = await House.GetHomeLists();
                            //启动ZigBee
                            ZigBee.Common.Application.Init();
                            //刷新个人中心的内存及线程
                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
                            Shared.Common.Room.InitAllRoom();
                            Application.RunOnMainThread(() =>
                            {
                                this.RemoveFromParent();
                                UserPage.Instance.Fresh();
                            });
                        }
                        else
                        {
                            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
                            Application.RunOnMainThread(() =>
                            {
                                var registerPage = new AccountRegister();
                                Shared.Common.CommonPage.Instance.AddChidren(registerPage);
                                registerPage.OpenID = authRes.openid;
                                registerPage.Show();
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                }
            };
#endif
        }
        /// <summary>
        /// qq登录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="mouseEventArgs"></param>
        private void LoginByQQ(object sender, MouseEventArgs mouseEventArgs)
        {
        }
        /// <summary>
        /// 是否已绑定
        /// </summary>
        /// <param name="authStr"></param>
        /// <returns></returns>
        private async System.Threading.Tasks.Task<bool> isBindAuthAsync(string authStr)
        {
            var authRes = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.AuthUserRes>(authStr);
            var auth = new SendDataToServer.AuthUser()
            {
                AccessToken = authRes.access_token,
                RefreshToken = authRes.refresh_token,
                OpenID = authRes.openid
            };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(auth);
            var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/InsertOrUpdateAuthUser", System.Text.Encoding.UTF8.GetBytes(requestJson));
            if (revertObj == null)
            {
                return false;
            }
            var stateCodeStr = revertObj.StateCode.ToUpper();
            if (stateCodeStr == "SUCCESS")
            {
                var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
                var revertData = responseDataObj;
                Config.Instance.Account = revertData.Account;
                Config.Instance.MD5PWD = revertData.MD5PWD;
                Config.Instance.Guid = revertData.Guid;
                Config.Instance.LoginDateTime = DateTime.Now;
                if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
                {
                    Config.Instance.AccountList.Add(revertData.Account);
                }
                Config.Instance.Save();
                return true;
            }
            else
            {
                return false;
            }
        }
        #endregion
        #region ◆ 账号、验证码监听______________________
ZigbeeApp/Shared/Phone/Device/Account/AccountRegister.cs
@@ -143,6 +143,8 @@
                Height = Application.GetRealHeight(58),
                TextColor = ZigbeeColor.Current.GXCTextRed,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.TextSize,
                IsBold = true
            };
            bodyFrameLayout.AddChidren(errorBtn);
@@ -159,7 +161,9 @@
                BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
                Radius = (uint)Application.GetRealHeight(127 / 2),
                Enable = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text)
                IsSelected = !string.IsNullOrEmpty(codeRow.VerificationCodeET?.Text),
                TextSize = 16,
                IsBold = true,
            };
            bodyFrameLayout.AddChidren(registerBtn);
@@ -168,7 +172,7 @@
                Y = registerBtn.Bottom + Application.GetRealHeight(50),
                Width = Application.GetRealWidth(400),
                Height = Application.GetRealHeight(58),
                TextID = R.MyInternationalizationString.LoginByAccountPWD,
                TextID = R.MyInternationalizationString.LoginByAccountPWD_1,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                TextSize = CommonFormResouce.loginTextSize,
                Gravity=Gravity.CenterHorizontal
@@ -188,8 +192,9 @@
        private void SelectPhoneOrEmail_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            phoneEmailForm.SelectedPhone.IsSelected = phoneEmailForm.SelectedEmail.IsSelected = false;
            phoneEmailForm.SelectedPhone.IsBold = phoneEmailForm.SelectedEmail.IsBold = false;
            registerBtn.Enable = registerBtn.IsSelected = false;
            (sender as Button).IsSelected = true;
            (sender as Button).IsSelected = (sender as Button).IsBold = true;
            account = string.Empty;
            errorBtn.Text = string.Empty;
            if ((sender as Button).Tag.ToString() == "Phone")
@@ -325,6 +330,10 @@
                    //验证码错误
                    errorBtn.TextID = R.MyInternationalizationString.VALIDCODEANDPHONENOEQUAL;
                }
                else if (stateCodeStr == "NORECORD")
                {
                    errorBtn.TextID = R.MyInternationalizationString.NORECORD;
                }
                else
                {
                    errorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
ZigbeeApp/Shared/Phone/Device/Account/PhoneEmailForm.cs
@@ -61,7 +61,9 @@
                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                Radius = (uint)Application.GetRealHeight(height / 2),
                IsSelected = true,
                Tag = "Phone"
                IsBold=true,
                Tag = "Phone",
                TextSize= CommonFormResouce.TextSize
            };
            PhoneEmailFL.AddChidren(SelectedPhone);
@@ -76,7 +78,8 @@
                SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                Radius = (uint)Application.GetRealHeight(height / 2),
                IsSelected = false,
                Tag = "Email"
                Tag = "Email",
                TextSize = CommonFormResouce.TextSize
            };
            PhoneEmailFL.AddChidren(SelectedEmail);
        }
@@ -108,6 +111,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// accountLine
        /// </summary>
        private Button accountLine;
        /// <summary>
        /// Init
@@ -135,21 +142,12 @@
                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                Text = $"+{CommonPage.PhoneZoneStr}",
                TextAlignment = TextAlignment.Center,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.TextSize
            };
            accountFL.AddChidren(PhoneZoneBtn);
            PhoneZoneBtn.MouseUpEventHandler += (sender, e) =>
            {
                var form = new AreaCodeSelectForm();                 parFL.AddChidren(form);                 form.InitForm();                 form.ShowForm();                 form.FinishSelectEvent += (code) =>                 {                     (sender as Button).Text = "+" + code;                     CommonPage.PhoneZoneStr = code;                 };
                //var zoneListView = new PhoneZone { };
                //zoneListView.ActionSelectedZone += (zone) =>
                //{
                //    var t = CommonPage.PhoneZoneStr;
                //    (sender as Button).Text = "+" + zone;
                //};
                //parFL.AddChidren(zoneListView);
                //zoneListView.Show();
            };
            AccountET = new EditText()
@@ -163,18 +161,39 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = account,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.PlaceHolderTextSize
            };
            accountFL.AddChidren(AccountET);
            var accountLine = new Button()
            accountLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            accountFL.AddChidren(accountLine);
            AccountET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                accountLine.Height = 2;
            }
            else
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                accountLine.Height = 1;
            }
        }
    }
@@ -188,6 +207,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// accountLine
        /// </summary>
        private Button accountLine;
        /// <summary>
        /// Init
@@ -227,18 +250,40 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = account,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.PlaceHolderTextSize
            };
            accountFL.AddChidren(AccountET);
            var accountLine = new Button()
            accountLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height)-2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            accountFL.AddChidren(accountLine);
            AccountET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if(focusEvent.Focus)
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                accountLine.Height = 2;
            }
            else
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                accountLine.Height = 1;
            }
        }
    }
@@ -252,6 +297,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// accountLine
        /// </summary>
        private Button accountLine;
        /// <summary>
        /// Init
@@ -291,19 +340,41 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = account,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.PlaceHolderTextSize
            };
            accountFL.AddChidren(AccountET);
            var accountLine = new Button()
            accountLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            accountFL.AddChidren(accountLine);
            AccountET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                accountLine.Height = 2;
            }
            else
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                accountLine.Height = 1;
            }
        }
    }
@@ -317,6 +388,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// accountLine
        /// </summary>
        private Button accountLine;
        /// <summary>
        /// Init
@@ -356,19 +431,41 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = account,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.PlaceHolderTextSize
            };
            accountFL.AddChidren(AccountET);
            var accountLine = new Button()
            accountLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            accountFL.AddChidren(accountLine);
            AccountET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                accountLine.Height = 2;
            }
            else
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                accountLine.Height = 1;
            }
        }
    }
    public class EmailForgotRowForm : FrameLayout
@@ -381,6 +478,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// accountLine
        /// </summary>
        private Button accountLine;
        /// <summary>
        /// Init
@@ -410,18 +511,39 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = account,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize
                TextSize = CommonFormResouce.PlaceHolderTextSize
            };
            accountFL.AddChidren(AccountET);
            var accountLine = new Button()
            accountLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            accountFL.AddChidren(accountLine);
            AccountET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                accountLine.Height = 2;
            }
            else
            {
                accountLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                accountLine.Height = 1;
            }
        }
    }
@@ -443,6 +565,10 @@
        /// VerificationCodeET
        /// </summary>
        public EditText VerificationCodeET;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// Init
@@ -506,19 +632,42 @@
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                SelectedTextColor = ZigbeeColor.Current.GXCTextColor,
                TextAlignment = TextAlignment.Center,
                TextSize=CommonFormResouce.TextSize,
                Enable = false,
                IsSelected = false
                IsSelected = false,
                IsBold=true
            };
            codeFL.AddChidren(SendCodeBtn);
            var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            codeFL.AddChidren(pwdLine);
            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
    }
@@ -536,6 +685,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// Init
@@ -577,7 +730,7 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = password,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize,
                TextSize = CommonFormResouce.PlaceHolderTextSize,
                SecureTextEntry = true
            };
            pwdFL.AddChidren(PasswrodET);
@@ -600,14 +753,16 @@
                PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
            };
            var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            pwdFL.AddChidren(pwdLine);
            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// SetPlaceholdText
@@ -616,6 +771,25 @@
        public void SetPlaceholdText(string holdText)
        {
            PasswrodET.PlaceholderText = holdText;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
    }
@@ -633,6 +807,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// Init
@@ -674,7 +852,7 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = password,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize,
                TextSize = CommonFormResouce.PlaceHolderTextSize,
                SecureTextEntry = true
            };
            pwdFL.AddChidren(PasswrodET);
@@ -697,14 +875,16 @@
                PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
            };
            var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            pwdFL.AddChidren(pwdLine);
            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// SetPlaceholdText
@@ -713,6 +893,25 @@
        public void SetPlaceholdText(string holdText)
        {
            PasswrodET.PlaceholderText = holdText;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
    }
@@ -730,6 +929,10 @@
        /// Button_Height
        /// </summary>
        private int Button_Height = 92;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// Init
@@ -761,7 +964,7 @@
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                Text = password,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CommonFormResouce.loginTextSize,
                TextSize = CommonFormResouce.PlaceHolderTextSize,
                SecureTextEntry = true
            };
            pwdFL.AddChidren(PasswrodET);
@@ -784,14 +987,16 @@
                PasswrodET.SecureTextEntry = (sender as Button).IsSelected;
            };
            var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(CommonFormResouce.Row_Width),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            pwdFL.AddChidren(pwdLine);
            PasswrodET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// SetPlaceholdText
@@ -800,6 +1005,26 @@
        public void SetPlaceholdText(string holdText)
        {
            PasswrodET.PlaceholderText = holdText;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
    }
@@ -821,6 +1046,10 @@
        /// VerificationCodeET
        /// </summary>
        public EditText VerificationCodeET;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// sendCodeBG
        /// </summary>
@@ -889,18 +1118,42 @@
                SelectedBackgroundColor=ZigbeeColor.Current.GXCButtonSelectedColor,
                Enable = false,
                IsSelected = false,
                Radius=(uint)Application.GetRealHeight(12)
                Radius=(uint)Application.GetRealHeight(12),
                IsBold=true,
                TextSize=CommonFormResouce.TextSize
            };
            codeFL.AddChidren(SendCodeBtn);
        var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(536),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            codeFL.AddChidren(pwdLine);
            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
        /// <summary>
@@ -978,6 +1231,10 @@
        /// </summary>
        public EditText VerificationCodeET;
        /// <summary>
        /// pwdLine
        /// </summary>
        private Button pwdLine;
        /// <summary>
        /// Timer
        /// </summary>
        private Timer t;
@@ -1037,18 +1294,41 @@
                SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor,
                Enable = false,
                IsSelected = false,
                Radius = (uint)Application.GetRealHeight(12)
                Radius = (uint)Application.GetRealHeight(12),
                IsBold=true,
                TextSize=CommonFormResouce.TextSize
            };
            codeFL.AddChidren(SendCodeBtn);
            var pwdLine = new Button()
            pwdLine = new Button()
            {
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 1,
                Y = Application.GetRealHeight(CommonFormResouce.Row_Height) - 2,
                Width = Application.GetRealWidth(536),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor
            };
            codeFL.AddChidren(pwdLine);
            VerificationCodeET.FoucsChanged += Text_FoucesChangeEvent;
        }
        /// <summary>
        /// 光标改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="focusEvent"></param>
        private void Text_FoucesChangeEvent(object sender, FocusEventArgs focusEvent)
        {
            if (focusEvent.Focus)
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCSelectedLineColor;
                pwdLine.Height = 2;
            }
            else
            {
                pwdLine.BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor;
                pwdLine.Height = 1;
            }
        }
        /// <summary>
ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -1618,14 +1618,6 @@
                                deviceRow.HideSwitchBtn(true);
                                deviceTypeRowLayout.AddChidren(deviceRow);
                                deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
                                {
                                    var userDoorLockPage = new UserDoorLockPage(curRoom, deviceUI);
                                    HomePage.Instance.AddChidren(userDoorLockPage);
                                    HomePage.Instance.PageIndex += 1;
                                    userDoorLockPage.Show();
                                };
                                var editBtn = new CommonForm.RowLayoutEditButton()
                                {
                                    Tag = deviceUI
ZigbeeApp/Shared/Phone/Device/Category/CategoryAddScene.cs
@@ -254,8 +254,8 @@
                        }
                    }
                }
                if (sceneTargetDevicesList.Count > 2)
                if (sceneTargetDevicesList.Count > 1)
                {
                    var targetRowLayout = new RowLayout()
                    {
@@ -438,6 +438,7 @@
            targetFL.AddChidren(TargetListScrolView);
            confirmBtn = new CommonForm.CompleteButton(1656, 907, 127);
            confirmBtn.TextID = R.MyInternationalizationString.Next;
            AddChidren(confirmBtn);
            if (isModify)
@@ -1240,7 +1241,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -1396,7 +1397,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -1561,7 +1562,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -1734,7 +1735,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
ZigbeeApp/Shared/Phone/Device/Category/SelectDevice.cs
@@ -476,7 +476,7 @@
                Height = Application.GetRealHeight(200),
                Width = Application.GetRealWidth(700),
                Gravity = Gravity.CenterHorizontal,
                Text = Language.StringByID(R.MyInternationalizationString.NoFunction_Tip).Replace("{\\r\\n}", "\r\n"),
                Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}", "\r\n"),
                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                TextAlignment = TextAlignment.Center,
                IsMoreLines = true
@@ -574,7 +574,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -730,7 +730,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -895,7 +895,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
@@ -1061,7 +1061,7 @@
            var deviceName = new Button
            {
                Width = Application.GetRealWidth(400),
                Width = Application.GetRealWidth(600),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 16,
ZigbeeApp/Shared/Phone/Device/CommonForm/ButtonLineForm.cs
@@ -64,7 +64,7 @@
                Width = Width,
                Height = Height - Application.GetRealHeight(6),
                TextColor = ZigbeeColor.Current.GXCTextGrayColor4,
                SelectedTextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = CommonFormResouce.TextSize,
                TextAlignment = TextAlignment.CenterLeft
            };
ZigbeeApp/Shared/Phone/Device/CommonForm/CommonFormResouce.cs
@@ -25,9 +25,9 @@
        public const int loginTextSize = 12;
        /// <summary>
        /// 占位字体大小
        /// 12
        /// 14
        /// </summary>
        public const int PlaceHolderTextSize = 12;
        public const int PlaceHolderTextSize = 14;
        /// <summary>
        /// Row_Height
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
@@ -407,15 +407,15 @@
                            CommonPage.Loading.Hide();
                            if (result)
                            {
                                var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim));
                                alertSuccess.Show();
                                alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) =>
                                {
                                //var alertSuccess = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.Success), Language.StringByID(R.MyInternationalizationString.Confrim));
                                //alertSuccess.Show();
                                //alertSuccess.ResultEventHandler += (senderSuccess, eSuccess) =>
                                //{
                                    //改房间
                                    Shared.Common.Room.CurrentRoom.ChangedRoom(device.CommonDevice, curRoom.Id);
                                    device.CommonDevice.ReSave();
                                    RemoveFromParent();
                                };
                                //};
                            }
                            else
                            {
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoEditRow.cs
@@ -58,9 +58,9 @@
            var line = new Button()
            {
                X = Application.GetRealWidth(CommonFormResouce.X_Left),
                Y = Height - 2,
                Y = Height - 1,
                Width = Application.GetRealWidth(965),
                Height = 2,
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
            };
            AddChidren(line);
ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceInfoRow.cs
@@ -79,9 +79,9 @@
            line = new Button()
            {
                X = Application.GetRealWidth(CommonFormResouce.X_Left),
                Y = Height - 2,
                Y = Height - 1,
                Width = Application.GetRealWidth(965),
                Height = 2,
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
            };
            AddChidren(line);
ZigbeeApp/Shared/Phone/Device/CommonForm/FunctionRow.cs
@@ -125,10 +125,10 @@
            var line = new Button()
            {
                X = Application.GetRealWidth(200),
                Y = Height - 2,
                Y = Height - 1,
                Width = Application.GetRealWidth(821),
                Height = 2,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
                Tag = Tag
            };
            AddChidren(line);
ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
@@ -24,8 +24,8 @@
        public override void RemoveFromParent()
        {
            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
            HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice" + room.Id);
            HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice" + room.Id);
            base.RemoveFromParent();
        }
@@ -139,8 +139,8 @@
            if (string.IsNullOrEmpty(room.TemperatrueDevice) == false)
            {
                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice");
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A设备属性上报, (Action<ZigBee.Device.CommonDevice>)((report) =>
                HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice" + room.Id);
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice" + room.Id, ReceiveComandDiv.A设备属性上报, (report) =>
                {
                    string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                    if (room.TemperatrueDevice != mainKeys)
@@ -179,7 +179,7 @@
                            }
                        }
                    }
                }));
                });
                //发送获取温度的命令
                var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice);
                if (dev != null)
@@ -190,8 +190,8 @@
            if (string.IsNullOrEmpty(room.HumidityDevice) == false)
            {
                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice");
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice",  ReceiveComandDiv.A设备属性上报, (report) =>
                HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"+room.Id);
                HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice" + room.Id,  ReceiveComandDiv.A设备属性上报, (report) =>
                {
                    string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report);
                    if (room.HumidityDevice != mainKeys)
ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -193,6 +193,7 @@
                {
                    sceneRowLayout.AddRightView(settingBtn);
                    sceneRowLayout.AddRightView(deleteBtn);
                }
            }
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectDeviceWithSeekBarRow.cs
@@ -136,7 +136,7 @@
                Y = this.Height - 1,
                Width = Application.GetRealWidth(919),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
            };
            AddChidren(line);
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneRow.cs
@@ -106,10 +106,10 @@
            line = new Button()
            {
                X = Application.GetRealWidth(180),
                Y = this.Height - 2,
                Y = this.Height - 1,
                Width = Application.GetRealWidth(841),
                Height = 2,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
            };
            AddChidren(line);
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectSceneStatuRow.cs
@@ -100,7 +100,7 @@
                Y = this.Height - 1,
                Width = Application.GetRealWidth(919),
                Height = 1,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
                BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
            };
            AddChidren(line);
        }
ZigbeeApp/Shared/Phone/Device/CommonForm/SelectZone.cs
@@ -13,7 +13,11 @@
        private List<string> floorList = new List<string> { };
        private List<string> roomList = new List<string> { };
        private List<string> roomIdList = new List<string> { };
        private string currentId;
        /// <summary>
        /// curRoom
        /// </summary>
        private Common.Room curRoom;
        public SelectZone()
        {
        }
@@ -23,70 +27,54 @@
        /// </summary>
        public void Init()
        {
            var dialog = new FrameLayout()
            List<string> floorIds = new List<string> { };
            List<string> floorNames = new List<string> { };
            List<List<string>> roomNames = new List<List<string>> { };
            List<List<Common.Room>> rooms = new List<List<Common.Room>> { };
            List<Common.Room> rs = new List<Common.Room> { };
            List<string> rNames = new List<string> { };
            if (Config.Instance.Home.FloorDics.Count > 0)
            {
                BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor
            };
            AddChidren(dialog);
            dialog.MouseUpEventHandler += (sender, e) =>
                foreach (var floor in Config.Instance.Home.FloorDics)
                {
                    floorIds.Add(floor.Key);
                    floorNames.Add(floor.Value);
                    if (Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count > 0)
                    {
                        roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key));
                        rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key));
                    }
                }
                PickerView.ShowSecondary(floorNames, roomNames, (index1, index2) =>
                {
                    curRoom = rooms[index1][index2];
                    ZoneAction?.Invoke(curRoom);
                    RemoveFromParent();
                }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
            else
            {
                RemoveFromParent();
            };
            var backgroundFL = new FrameLayout
            {
                Y = Application.GetRealHeight(1115),
                Height = Application.GetRealHeight(805),
                BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                Radius = (uint)Application.GetRealHeight(20)
            };
            dialog.AddChidren(backgroundFL);
            var topView = new FrameLayout
            {
                Height = Application.GetRealHeight(138)
            };
            backgroundFL.AddChidren(topView);
            var cancle = new Button
            {
                X = Application.GetRealWidth(80),
                Width = Application.GetRealWidth(300),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                TextID = R.MyInternationalizationString.Cancel,
                TextSize = 14
            };
            topView.AddChidren(cancle);
            var title = new Button
            {
                Width = Application.GetRealWidth(300),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor2,
                TextID = R.MyInternationalizationString.AddTo,
                TextSize = 16
            };
            topView.AddChidren(title);
            var confrim = new Button
            {
                X = Application.GetRealWidth(CommonFormResouce.AppRealWidth - 80 - 300),
                Width = Application.GetRealWidth(300),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = ZigbeeColor.Current.GXCTextSelectedColor2,
                TextID = R.MyInternationalizationString.Confrim,
                TextSize = 14
            };
            topView.AddChidren(confrim);
            pickView = new UIPickerView
            {
                Y = Application.GetRealHeight(20 + 138),
                Height = Application.GetRealHeight(450)
            };
            backgroundFL.AddChidren(pickView);
                for (int i = 0; i < Common.Room.Lists.Count; i++)
                {
                    var r = Common.Room.Lists[i];
                    if (r.IsLove)
                    {
                        continue;
                    }
                    rs.Add(r);
                    rNames.Add(r.Name);
                }
                PickerView.Show(rNames, (index1) =>
                {
                    curRoom = rs[index1];
                    ZoneAction?.Invoke(curRoom);
                    RemoveFromParent();
                }, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
            foreach (var floor in Config.Instance.Home.FloorDics)
            {
@@ -101,28 +89,7 @@
                roomList.Add(room.Name);
                roomIdList.Add(room.Id);
            }
            if (floorList.Count == 0)
            {
                pickView.setNPicker(roomList, null, null);
                currentId = roomIdList[0];
                pickView.OnSelectChangeEvent += (l1, l2, l3) =>
                {
                    currentId = roomIdList[l1];
                };
            }
            else
            {
                pickView.setNPicker(floorList, roomList, null);
                currentId = roomIdList[0];
                pickView.OnSelectChangeEvent += (l1, l2, l3) =>
                {
                    currentId = roomIdList[l2];
                };
            }
            cancle.MouseUpEventHandler += Close;
            confrim.MouseUpEventHandler += Confrim_MouseEvent;
        }
        /// <summary>
@@ -142,10 +109,7 @@
        /// <param name="mouseEventArgs"></param>
        private void Confrim_MouseEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            if (Shared.Common.Room.CurrentRoom.GetRoomById(currentId) != null)
            {
                ZoneAction?.Invoke(Shared.Common.Room.CurrentRoom.GetRoomById(currentId));
            }
            ZoneAction?.Invoke(curRoom);
            RemoveFromParent();
        }
    }
ZigbeeApp/Shared/Phone/Device/CommonForm/TopFrameLayout.cs
@@ -65,7 +65,8 @@
            {
                Y = Application.GetRealHeight(CommonFormResouce.TopStatuFrameLayout_Height),
                Height = Application.GetRealHeight(CommonFormResouce.Topview_Height),
                Width = Application.GetRealWidth(CommonPage.AppRealWidth)
                Width = Application.GetRealWidth(CommonPage.AppRealWidth),
                BackgroundColor=ZigbeeColor.Current.GXCTopViewBackgroundColor
            };
            AddChidren(topView);
@@ -73,7 +74,7 @@
            {
                Y=Height-1,
                Height=1,
                BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor3
                BackgroundColor=ZigbeeColor.Current.GXCGrayLineColor4
            };
            AddChidren(line);
        }
ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs
@@ -705,10 +705,11 @@
                curtainRollSeekBar.Progress = (device.CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage;
                layout.AddChidren(curtainRollSeekBar);
                curtainRollSeekBar.IsProgressTextShow = false;
                //curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
                //{
                //    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
                //};
                curtainRollSeekBar.CurtainPaddingTop = Application.GetRealHeight(110);
                curtainRollSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
                {
                    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
                };
                curtainRollSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
                {
@@ -727,9 +728,9 @@
                    OnProgressButtonMove(e2);
                    //判断是否300ms屏蔽
                    if (curtainRollSeekBar.IsProgressChangeDelay()) return;
                    //if (curtainRollSeekBar.IsProgressChangeDelay()) return;
                    (device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
                    //(device.CommonDevice as Rollershade).WcdGoToTiltValue(curtainRollSeekBar.Progress);
                };
                InitProgressBtn(layout);
ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs
@@ -138,7 +138,7 @@
                                }
                                light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                light.LastDateTime = DateTime.Now;
                            }
                        }
@@ -307,7 +307,8 @@
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 15
                TextSize = 15,
                IsBold=true
            };
            itemView.AddChidren(deviceNameBtn);
@@ -318,7 +319,8 @@
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
                TextSize = 10
            };
            itemView.AddChidren(StatuBtn);
@@ -381,7 +383,8 @@
                Height = Application.GetRealHeight(50),
                Text = room.Name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize = 12
            };
            itemView.AddChidren(roomName);
        }
@@ -414,7 +417,7 @@
            zbGateway.ReportAction += UpdateDeviceControllStatu;
            switchBtn.IsSelected = !switchBtn.IsSelected;
            deviceIMG.IsSelected = !deviceIMG.IsSelected;
            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
            if (switchBtn.IsSelected == true)
            {
                (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(1);
ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
@@ -146,7 +146,8 @@
                                }
                                dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                switchBtn.IsSelected = dimmableLight.OnOffStatus == 1;
                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected);
                                StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
                                if (switchBtn.IsSelected == true)
                                {
                                    levelSeekBar.IsClickable = true;
@@ -179,6 +180,8 @@
                                        dimmableLight.Level = attriButeList[0].AttriButeData;
                                        dimmableLight.LastDateTime = DateTime.Now;
                                        levelSeekBar.Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100);
                                        StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
                                        break;
                                }
                            }
@@ -375,7 +378,8 @@
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 15
                TextSize = 15,
                IsBold=true
            };
            itemView.AddChidren(deviceNameBtn);
@@ -386,8 +390,10 @@
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as DimmableLight).OnOffStatus == 1)
                Text = dimmableLight.Level>0?$"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" :$"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}",
                TextSize=10
            };
            itemView.AddChidren(StatuBtn);
            levelSeekBar = new WaveSeekBar()
@@ -399,8 +405,10 @@
                WavePadding = Application.GetRealWidth(8),
                MaxValue=100,
                Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100),
                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor
                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor,
                CornerRadius= Application.GetRealHeight(58)
            };
            itemView.AddChidren(levelSeekBar);
            if (dimmableLight.OnOffStatus == 1)
@@ -417,12 +425,14 @@
            levelSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
            {
                OnProgressButtonMove(levelSeekBar.Progress);
                levelSeekBar.IsProgressTextShow = false;
                ProgressBtn.Visible = true;
            };
            levelSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
            {
                ProgressBtn.Visible = false;
                levelSeekBar.IsProgressTextShow = true;
            };
            levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
@@ -485,7 +495,8 @@
                Height = Application.GetRealHeight(50),
                Text = room.Name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize = 12
            };
            itemView.AddChidren(roomName);
        }
@@ -541,7 +552,7 @@
        private void Switch_MouseUpEvent(object sender, MouseEventArgs eventArgs)
        {
            switchBtn.IsSelected = !switchBtn.IsSelected;
            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(switchBtn.IsSelected);
            StatuBtn.Text = switchBtn.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.CurrentLightLevel)} { device.GetDeviceStatu()}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
            if (switchBtn.IsSelected == true)
            {
                dimmableLight.SwitchControl(1);
ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
@@ -137,7 +137,7 @@
                                }
                                light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                light.LastDateTime = DateTime.Now;
                            }
                        }
@@ -330,7 +330,8 @@
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize=15
                TextSize=15,
                IsBold=true
            };
            itemView.AddChidren(deviceNameBtn);
@@ -341,9 +342,11 @@
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                Text=CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
                Text= $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
                TextSize =10
            };
            itemView.AddChidren(StatuBtn);
            deviceIMG = new Button()
            {
@@ -404,7 +407,8 @@
                Height = Application.GetRealHeight(50),
                Text = room.Name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize=12
            };
            itemView.AddChidren(roomName);
        }
@@ -437,7 +441,8 @@
            zbGateway.ReportAction += UpdateDeviceControllStatu;
            switchBtn.IsSelected = !switchBtn.IsSelected;
            deviceIMG.IsSelected = !deviceIMG.IsSelected;
            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
            if (switchBtn.IsSelected == true)
            {
                (device.CommonDevice as ToggleLight).SwitchControl(1);
ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs
@@ -145,7 +145,7 @@
                                }
                                light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                SetONOFFStatu(light.OnOffStatus == 1);
                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(light.OnOffStatus == 1);
                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                light.LastDateTime = DateTime.Now;
                            }
                        }
@@ -337,7 +337,8 @@
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 15
                TextSize = 15,
                IsBold=true
            };
            itemView.AddChidren(deviceNameBtn);
@@ -348,7 +349,8 @@
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
                TextSize = 10
            };
            itemView.AddChidren(StatuBtn);
@@ -421,7 +423,8 @@
                Height = Application.GetRealHeight(50),
                Text = room.Name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize = 12
            };
            itemView.AddChidren(roomName);
        }
@@ -543,8 +546,9 @@
                OnBtn.IsSelected = false;
                OffBtn.IsSelected = true;
            }
            StatuBtn.Text = statu ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
        }
        #endregion
ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs
@@ -138,7 +138,7 @@
                                }
                                light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData;
                                deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1;
                                StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
                                StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}";
                                light.LastDateTime = DateTime.Now;
                            }
                        }
@@ -330,7 +330,8 @@
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextSize = 15
                TextSize = 15,
                IsBold=true
            };
            itemView.AddChidren(deviceNameBtn);
@@ -341,7 +342,8 @@
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.GXCTextGrayColor,
                Text = CommonFormResouce.GetSwitchStatu((device.CommonDevice as ToggleLight).OnOffStatus == 1)
                Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}",
                TextSize = 10
            };
            itemView.AddChidren(StatuBtn);
@@ -404,7 +406,8 @@
                Height = Application.GetRealHeight(50),
                Text = room.Name,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor
                TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                TextSize=12
            };
            itemView.AddChidren(roomName);
        }
@@ -437,7 +440,7 @@
            zbGateway.ReportAction += UpdateDeviceControllStatu;
            switchBtn.IsSelected = !switchBtn.IsSelected;
            deviceIMG.IsSelected = !deviceIMG.IsSelected;
            StatuBtn.Text = CommonFormResouce.GetSwitchStatu(deviceIMG.IsSelected);
            StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}";
            if (switchBtn.IsSelected == true)
            {
                (device.CommonDevice as ToggleLight).SwitchControl(1);
ZigbeeApp/Shared/Phone/Device/Room/RoomManagement.cs
@@ -174,7 +174,7 @@
                    itemView.AddChidren(roomView);
                    roomView.Init(this,room);
                    roomView.SetRoomName(room.Name);
                    roomView.SetRoomIcon(room.BackgroundImage);
                    roomView.SetRoomIcon(room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage));
                    roomView.ClickBtn.MouseUpEventHandler += (sender, e) =>
                    {
                        if (CanClick == false)
ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
@@ -162,8 +162,6 @@
            {
                RemoveFromParent();
            };
        }
        /// <summary>
@@ -359,7 +357,6 @@
        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
        private void ShowSameTypeFunction(object typeSender, MouseEventArgs mouseEventArgs)
        {
            //选择功能--直接从房间的devicelist中获取
            tempFunctionTypeBtn.IsSelected = false;
            tempFunctionTypeBtn = (typeSender as Button).Parent as FunctionButton;
            ((typeSender as Button).Parent as FunctionButton).IsSelected = true;
@@ -432,6 +429,7 @@
                     if ((sender as Button).IsSelected)
                     {
                         (sender as Button).TextID = R.MyInternationalizationString.Cancel;
                         selectedList.Clear();
                         selectedList.AddRange(sameTypeList);
                     }
                     else
@@ -479,7 +477,17 @@
                        r.AddDevice(d.CommonDevice, true);
                        deviceListScrolView.RemoveViewByTag(d);
                    }
                    RefreshData();
                    if (sameTypeList.Count == selectedList.Count)
                    {
                        RefreshData();
                        RefreshBodyView();
                    }
                    else
                    {
                        RefreshData();
                        sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())];
                    }
                };
            };
        }
ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs
@@ -117,13 +117,20 @@
                    dialog.Close();
                    return;
                }
                new System.Threading.Thread(() =>
                CommonPage.Loading.Start();
                new System.Threading.Thread(async () =>
                {
                    var result= HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
                    var result=await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
                    Application.RunOnMainThread(() =>
                    {
                        CommonPage.Loading.Hide();
                        dialog.Close();
                        if(result == GarrisonMode.AtHome)
                        {
                        }
                    });
                })
                { IsBackground = true }.Start();
            };
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -482,7 +482,7 @@
            if(UserCenterResourse.Option.SafetyShortcut)
            {
                var safetyBtn = new SafetyShortcutControl();
                safetyBtn.X = Application.GetRealWidth(855);
                safetyBtn.X = Application.GetRealWidth(860);
                safetyBtn.Gravity = Gravity.CenterVertical;
                topFrameLayout.AddChidren(safetyBtn);
            }
@@ -503,7 +503,7 @@
                TextAlignment = TextAlignment.CenterLeft,
                Text = Config.Instance.Home.Name ?? Language.StringByID(R.MyInternationalizationString.TheResidenceNameNull),
                TextSize = 24,
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor,
                IsBold=true
            };
            if (Config.Instance.Home.IsOthreShare)
ZigbeeApp/Shared/R.cs
@@ -632,7 +632,7 @@
        /// </summary>
        public const int LoginByAccountPWD = 10110;
        /// <summary>
        /// 发送验证码
        /// 获取验证码
        /// </summary>
        public const int SendVerificationCode = 10111;
        /// <summary>
@@ -759,6 +759,18 @@
        /// 新密码和原密码一致
        /// </summary>
        public const int NEWPASSWORDANDOLDPASSWORDEQUAL = 10142;
        /// <summary>
        /// 请先获取验证码
        /// </summary>
        public const int NORECORD = 10143;
        /// <summary>
        /// 忘记密码?
        /// </summary>
        public const int ForgotPWD_1 = 10144;
        /// <summary>
        /// 已有账号?登录
        /// </summary>
        public const int LoginByAccountPWD_1 = 10145;
        /// <summary>
@@ -793,6 +805,10 @@
        /// 网关不在线
        /// </summary>
        public const int TheMainGatewayIsNotOnLine = 10157;
        /// <summary>
        /// 下一步
        /// </summary>
        public const int Next = 10158;
        /// <summary>
@@ -1298,11 +1314,11 @@
        public const int NeedCleanAC = 13511;
        /// <summary>
        /// 没功能 请先添加
        /// 还没有功能哦
        /// </summary>
        public const int NoFunction_Tip = 13600;
        /// <summary>
        /// 没场景 请先添加
        /// 还没有场景哦
        /// </summary>
        public const int NoScene_Tip = 13601;
        /// <summary>
@@ -1313,6 +1329,10 @@
        /// 获取中...
        /// </summary>
        public const int Getting = 13603;
        /// <summary>
        /// 当前 亮度
        /// </summary>
        public const int CurrentLightLevel = 13604;