From 3272ca5b51e19f7f8a827b0f68400570a547fe60 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 28 四月 2020 15:02:44 +0800 Subject: [PATCH] 2020-04-28-1 --- ZigbeeApp/Shared/Phone/UserView/UserPage.cs | 360 ++++++++++++------------------------------------------------ 1 files changed, 72 insertions(+), 288 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs index 90511ff..8df13b5 100755 --- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs @@ -1,17 +1,14 @@ 锘縰sing System; using System.Collections.Generic; using Shared.Common; -using ZigBee.Device; -using Shared.Phone.Device.AC; using System.Text; -using Shared.Phone.Device.Account; namespace Shared.Phone.UserView { /// <summary> /// User page. /// </summary> - public class UserPage : FrameLayout,ZigBee.Common.IStatus + public class UserPage : FrameLayout { #region 鈼� 鍙橀噺_______________________ /// <summary> @@ -44,258 +41,6 @@ private static readonly int tabBarEnumName_Y = 98; #endregion - #region 鈼� 鎺ュ彛____________________________ - - /// <summary> - /// 璇ユ帴鍙e皢寮冪敤 !!!!!! - /// 鏀圭敤DeviceInfoChange() - /// </summary> - /// <returns>The changed.</returns> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - - } - - /// <summary> - /// 璁惧鐘舵�佹洿鏂版帴鍙� - /// <para>type锛氬鏋滀负 DeviceInComingRespon:璁惧鏂颁笂鎶�</para> - /// <para>type锛氬鏋滀负 IASInfoReport:RemoveDeviceRespon</para> - /// <para>type锛氬鏋滀负 DeviceStatusReport:璁惧涓婃姤</para> - /// <para>type锛氬鏋滀负 IASInfoReport:IAS瀹夐槻淇℃伅涓婃姤</para> - /// <para>type锛氬鏋滀负 OnlineStatusChange: 璁惧鍦ㄧ嚎鐘舵�佹洿鏂�</para> - /// </summary> - /// <param name="common">Common.</param> - /// <param name="typeTag">Type tag.</param> - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - var myDevice = LocalDevice.Current.GetDevice(common.DeviceAddr, common.DeviceEpoint); - if (myDevice == null) - { - return; - } - //璁惧涓婃姤鐘舵�佷腑 褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if (typeTag == "DeviceStatusReport") - { - try - { - if (common.DeviceStatusReport.AttriBute == null || common.DeviceStatusReport.AttriBute.Count == 0) - { - return; - } - switch (myDevice.Type) - { - case DeviceType.OnOffOutput: - //寮�鍏冲姛鑳� - if (common.DeviceStatusReport.CluterID == 6) - { - var onOffOutputLight = (ToggleLight)myDevice; - onOffOutputLight.DeviceStatusReport = common.DeviceStatusReport; - onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData; - onOffOutputLight.LastDateTime = DateTime.Now; - } - //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if (common.DeviceStatusReport.CluterID == 3) - { - myDevice.IsOnline = 1; - myDevice.LastDateTime = DateTime.Now; - } - break; - - case DeviceType.AirSwitch: - //寮�鍏冲姛鑳� - if (common.DeviceStatusReport.CluterID == 6) - { - var airSwitch = (AirSwitch)myDevice; - airSwitch.DeviceStatusReport = common.DeviceStatusReport; - airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; - airSwitch.LastDateTime = DateTime.Now; - } - //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if (common.DeviceStatusReport.CluterID == 3) - { - myDevice.IsOnline = 1; - myDevice.LastDateTime = DateTime.Now; - } - break; - - case DeviceType.WindowCoveringDevice: - if (common.DeviceStatusReport.CluterID == 258) - { - var rollershade = (Rollershade)myDevice; - rollershade.DeviceStatusReport = common.DeviceStatusReport; - var attriButeList = rollershade.DeviceStatusReport.AttriBute; - switch (attriButeList[0].AttributeId) - { - case 0: - rollershade.WcdType = attriButeList[0].AttriButeData; - rollershade.LastDateTime = DateTime.Now; - break; - } - } - if (common.DeviceStatusReport.CluterID == 3) - { - myDevice.IsOnline = 1; - myDevice.LastDateTime = DateTime.Now; - } - break; - - case DeviceType.Thermostat: - //AC鍔熻兘 - if (common.DeviceStatusReport.CluterID == 513) - { - var ac = (AC)myDevice; - ac.DeviceStatusReport = common.DeviceStatusReport; - var attriButeList = ac.DeviceStatusReport.AttriBute; - foreach (var attList in attriButeList) - { - //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝 - var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; - switch (attList.AttributeId) - { - case 0: - ac.currentLocalTemperature = curTemp; - ac.LastDateTime = DateTime.Now; - break; - case 17: - ac.currentCoolingSetpoint = curTemp; - ac.LastDateTime = DateTime.Now; - break; - case 18: - ac.currentHeatingSetpoint = curTemp; - ac.LastDateTime = DateTime.Now; - break; - case 4096: - ac.currentAutoSetpoint = curTemp; - ac.LastDateTime = DateTime.Now; - break; - case 28: - ac.currentSystemMode = attList.AttriButeData; - ac.LastDateTime = DateTime.Now; - break; - case 4099: - var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0'); - var modeStr = value.Substring(value.Length - 5, 5); - for (int j = 0; j < modeStr.Length; j++) - { - ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; - } - break; - case 4097: - ac.CleanStatu = attList.AttriButeData == 42; - break; - } - } - } - - if (common.DeviceStatusReport.CluterID == 514) - { - var ac = (AC)myDevice; - var attriButeList = common.DeviceStatusReport.AttriBute; - ac.DeviceStatusReport = common.DeviceStatusReport; - foreach (var attList in attriButeList) - { - switch (attList.AttributeId) - { - case 0: - ac.currentFanMode = attList.AttriButeData; - ac.LastDateTime = DateTime.Now; - break; - case 4096: - ac.currentFanSwingMode = attList.AttriButeData; - ac.LastDateTime = DateTime.Now; - break; - } - } - } - - //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if (common.DeviceStatusReport.CluterID == 3) - { - myDevice.IsOnline = 1; - myDevice.LastDateTime = DateTime.Now; - } - break; - - case DeviceType.DimmableLight: - //璋冨厜鐏姛鑳� - //寮�鍏冲姛鑳� - if (common.DeviceStatusReport.CluterID == 6) - { - var dimmableLight = (DimmableLight)myDevice; - dimmableLight.DeviceStatusReport = common.DeviceStatusReport; - dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; - dimmableLight.LastDateTime = DateTime.Now; - } - //浜害 - if (common.DeviceStatusReport.CluterID == 8) - { - var dimmableLight = (DimmableLight)myDevice; - dimmableLight.DeviceStatusReport = common.DeviceStatusReport; - var attriButeList = dimmableLight.DeviceStatusReport.AttriBute; - switch (attriButeList[0].AttributeId) - { - case 0: - dimmableLight.Level = attriButeList[0].AttriButeData; - dimmableLight.LastDateTime = DateTime.Now; - break; - } - } - //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� - if (common.DeviceStatusReport.CluterID == 3) - { - myDevice.IsOnline = 1; - myDevice.LastDateTime = DateTime.Now; - } - break; - } - } - catch (Exception ex) - { - System.Console.WriteLine($"Error:{ex.Message}"); - } - } - //璁惧鍦ㄧ嚎鐘舵�佷笂鎶� - else if (typeTag == "OnlineStatusChange") - { - myDevice.IsOnline = common.IsOnline; - //璁板綍鍥炲鏃堕棿 - myDevice.LastDateTime = DateTime.Now; - } - else if (typeTag == "IASInfoReport") - { - try - { - switch (myDevice.Type) - { - case DeviceType.IASZone: - var iAS = (IASZone)myDevice; - iAS.iASInfo = (common as IASZone).iASInfo; - iAS.LastDateTime = DateTime.Now; - break; - } - } - catch { } - } - } - /// <summary> - /// Changeds the IL ogic status. - /// </summary> - /// <param name="logic">Logic.</param> - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - //throw new NotImplementedException(); - } - /// <summary> - /// Changeds the IS cene status. - /// </summary> - /// <param name="scene">Scene.</param> - public void ChangedISceneStatus(Scene scene) - { - //throw new NotImplementedException(); - } - #endregion - /// <summary> /// 鐢ㄦ埛鐣岄潰 /// </summary> @@ -318,10 +63,9 @@ public UserPage() { BackgroundColor = Shared.Common.ZigbeeColor.Current.MainColor; - ZbGateway.StatusList.Add(this); Shared.Application.LocationAction += (lon, lat) => { - AccountLogic.Instance.ReceiveAppLatAndLon(lon.ToString(), lat.ToString()); + Login.AccountLogic.Instance.ReceiveAppLatAndLon(lon.ToString(), lat.ToString()); }; } @@ -373,7 +117,6 @@ Width = Application.GetMinRealAverage(tabBarEnumIMG_Width), UnSelectedImagePath = "Navigation/Home.png", SelectedImagePath = "Navigation/HomeSelected.png", - IsSelected = true, Gravity = Gravity.CenterHorizontal }; /// <summary> @@ -386,7 +129,6 @@ TextID = R.MyInternationalizationString.HomePage, TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor, SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2, - IsSelected = true, Gravity = Gravity.CenterHorizontal, TextSize = 10 }; @@ -398,7 +140,7 @@ /// </summary> public FrameLayout categoryFL = new FrameLayout { - X=Application.GetRealWidth(tabBarEnum_Width), + X = Application.GetRealWidth(tabBarEnum_Width), Width = Application.GetRealWidth(tabBarEnum_Width), Height = Application.GetRealHeight(CommonPage.TabbarHeight) }; @@ -424,9 +166,8 @@ TextID = R.MyInternationalizationString.Category, TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor, SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2, - IsSelected = false, Gravity = Gravity.CenterHorizontal, - TextSize=10 + TextSize = 10 }; #endregion @@ -436,7 +177,7 @@ /// </summary> public FrameLayout settingFL = new FrameLayout { - X = Application.GetRealWidth(tabBarEnum_Width*2), + X = Application.GetRealWidth(tabBarEnum_Width * 2), Width = Application.GetRealWidth(tabBarEnum_Width), Height = Application.GetRealHeight(CommonPage.TabbarHeight) }; @@ -462,52 +203,95 @@ TextID = R.MyInternationalizationString.Me, TextColor = Shared.Common.ZigbeeColor.Current.GXCTextBottomUnSelectedColor, SelectedTextColor = Shared.Common.ZigbeeColor.Current.GXCTextBlackColor2, - IsSelected = false, Gravity = Gravity.CenterHorizontal, TextSize = 10 - }; + }; #endregion + + #region 寮哄埗鏄剧ず鑷姩鍖栫晫闈� + /// <summary> + /// 寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈� + /// </summary> + public void ShowCategoryAutoListForm() + { + //鍏抽棴鍏ㄩ儴鐣岄潰,鐩村埌涓婚〉涓烘 + UserCenter.UserCenterLogic.CloseAllOpenForm(); + //寮哄埗鏄剧ず鑷姩鍖栧垪琛ㄧ晫闈� + UserCenter.UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = 2; + BottomEventHandler(Instance.categoryIMG, null); + } + #endregion + EventHandler<MouseEventArgs> BottomEventHandler = (sender, e) => { - Instance.homePageName.IsSelected = false; - Instance.homePageIMG.IsSelected = false; - - Instance.categoryName.IsSelected = false; - Instance.categoryIMG.IsSelected = false; - - Instance.settingName.IsSelected = false; - Instance.settingIMG.IsSelected = false; - - Instance.BodyView.RemoveAll(); if (sender == Instance.homePageIMG || sender == Instance.homePageName) - { + { + if (Instance.homePageName.IsSelected == true && e != null) + { + //鍙湁鏄墜鍔ㄧ偣鍑荤殑鏃跺�欐墠澶勭悊 + return; + } + Instance.BodyView.RemoveAll(); //涓婚〉 CommonPage.Instance.IsDrawerLockMode = false; Instance.homePageName.IsSelected = true; - Instance.homePageIMG.IsSelected = true; - var home = new UserHomeView { }; + Instance.homePageIMG.IsSelected = true; + + Instance.categoryName.IsSelected = false; + Instance.categoryIMG.IsSelected = false; + + Instance.settingName.IsSelected = false; + Instance.settingIMG.IsSelected = false; + + var home = new MainPage.HomeMainPageForm(); Instance.BodyView.AddChidren(home); - home.Show(); + home.ShowForm(); } - else if (sender == Instance.categoryIMG || sender==Instance.categoryName) - { + else if (sender == Instance.categoryIMG || sender == Instance.categoryName) + { + if (Instance.categoryName.IsSelected == true && e != null) + { + //鍙湁鏄墜鍔ㄧ偣鍑荤殑鏃跺�欐墠澶勭悊 + return; + } + + Instance.BodyView.RemoveAll(); //鍒嗙被 CommonPage.Instance.IsDrawerLockMode = true; Instance.categoryName.IsSelected = true; - Instance.categoryIMG.IsSelected = true; - var category = new Phone.Device.Category.Category { }; + Instance.categoryIMG.IsSelected = true; + + Instance.homePageName.IsSelected = false; + Instance.homePageIMG.IsSelected = false; + + Instance.settingName.IsSelected = false; + Instance.settingIMG.IsSelected = false; + + var category = new Category.CategoryMainForm { }; Instance.BodyView.AddChidren(category); - category.Show(); + category.ShowForm(); } - else if (sender == Instance.settingIMG || sender==Instance.settingName) - { + else if (sender == Instance.settingIMG || sender == Instance.settingName) + { + if (Instance.settingName.IsSelected == true && e != null) + { + return; + } + Instance.BodyView.RemoveAll(); //涓汉涓績 CommonPage.Instance.IsDrawerLockMode = true; Instance.settingName.IsSelected = true; - Instance.settingIMG.IsSelected = true; + Instance.settingIMG.IsSelected = true; + + Instance.homePageName.IsSelected = false; + Instance.homePageIMG.IsSelected = false; + + Instance.categoryName.IsSelected = false; + Instance.categoryIMG.IsSelected = false; + var form = new UserCenter.UserMain.UserMainForm(); Instance.BodyView.AddChidren(form); form.ShowForm(); -- Gitblit v1.8.0