From 0a11352dffeb8d5f31dd40b9728fe1abf4537f04 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 九月 2023 18:06:45 +0800 Subject: [PATCH] 2023年09月01日18:06:42 --- HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 304 insertions(+), 18 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index cb0dc58..40156ef 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -7,11 +7,26 @@ using HDL_ON.DriverLayer; using HDL_ON.UI.Music; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; +using HDL_ON.UI.UI2.Intelligence.Automation; +using System.Linq; +using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; + namespace HDL_ON.UI.UI2.FuntionControlView.Aks { + /// <summary> + /// 鍩冨厠鏂富鐣岄潰 + /// </summary> public class AksPage : FrameLayout { #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 閬ユ帶鍣ㄥ垪琛� + /// </summary> + private List<RemoteControlEntity> remoteControlList; + + /// 鏃跺簭鍣ㄥ垪琛� + /// </summary> + private List<SequencerEntity> sequencerList; /// <summary> /// 璁惧 /// </summary> @@ -45,6 +60,12 @@ /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟 /// </summary> public Action action; + /// <summary> + /// 璁板綍褰撳墠璁惧 + /// </summary> + public IntType currnetIntType= IntType.none; + + public VerticalScrolViewLayout vv; #endregion @@ -89,7 +110,7 @@ this.BackgroundColor = MusicColor.ViewColor; this.topView = new TopView(); this.topView.setBtn.Visible = true; - this.topView.topNameBtn.Text= this.device.name; + this.topView.topNameBtn.Text = this.device.name; this.AddChidren(topView.TopFLayoutView()); } /// <summary> @@ -97,23 +118,14 @@ /// </summary> private void InitMiddle() { - this.vv = new VerticalScrolViewLayout() + vv = new VerticalScrolViewLayout() { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), }; - var middleFl = new FrameLayout - { - - }; - this.vv.AddChidren(middleFl); - - var whiteFl = new FrameLayout - { - - }; - middleFl.AddChidren(whiteFl); - + this.AddChidren(vv); + //杩涙潵榛樿鎾斁鍣ㄧ晫闈� + //this.SwitchUI(IntType.Player); } /// <summary> /// 娉ㄥ唽浜嬩欢 @@ -123,6 +135,8 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + //娓呯┖鎵�鏈夌紦瀛樻暟鎹� + AksCommonMethod.Current.ClearData(); this.RemoveFromParent(); }; //璁剧疆 @@ -140,8 +154,8 @@ ////鍒锋柊鏄剧ず this.btnDeviceName.Text = this.device.name; this.btnRoomName.Text = this.device.GetRoomListName(); - this.btnCurrDeviceName.Text = this.device.name; - this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); + //this.btnCurrDeviceName.Text = this.device.name; + //this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); //this.CalculatedPosition();//閲嶆柊璁$畻瀹藉害 }); @@ -170,17 +184,289 @@ { try { - + this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId); + this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId); } catch { } finally { - Application.RunOnMainThread(() => + CommonMethod.Current.MainThread(() => { CommonMethod.Current.Loading.Hide(); + + if (this.remoteControlList.Count > 0) + { + if (string.IsNullOrEmpty(this.GetValueString(IntType.Player))) + { + //榛樿鍙栫涓�浣� + this.SwitchUI((IntType)this.remoteControlList[0].type); + } + else + { + //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず + this.SwitchUI(IntType.Player); + } + } + }); } }); } + /// <summary> + /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) + /// </summary> + private void SwitchUI(IntType type) + { + if (this.currnetIntType == type) + { + return; + } + if (IntType.none == type) + { + return; + } + if (this.vv == null) + { + return; + } + this.vv.RemoveAll(); + this.currnetIntType = type; + switch (type) + { + case IntType.Player: + { + MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList); + this.vv.AddChidren(musicPage); + musicPage.Show(); + musicPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.HiFi: + { + GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList); + this.vv.AddChidren(gfPage); + gfPage.Show(); + gfPage.action += (deviceType) => + { + SelectedType(); + }; + + } + break; + case IntType.TV: + { + + TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList); + this.vv.AddChidren(tvPage); + tvPage.Show(); + tvPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.STB: + { + JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList); + this.vv.AddChidren(jdhPage); + jdhPage.Show(); + jdhPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.Projector: + { + TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList); + this.vv.AddChidren(tyyPage); + tyyPage.Show(); + tyyPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.Control: + { + + YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList); + this.vv.AddChidren(ykqPage); + ykqPage.Show(); + ykqPage.action += (deviceType) => + { + SelectedType(); + }; + + } + break; + + } + + } + /// <summary> + /// 閫変腑绫诲瀷寮规(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) + /// </summary> + private void SelectedType() + { + var deviceTypeList = GetTypeDictionary().Values.ToList(); + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType); + PublicInterface conditionView = new PublicInterface(); + conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr + , (valueStr) => + { + //鐣岄潰鏄剧ず閫変腑鍊� + var intType = this.GetKeyIntType(valueStr); + this.SwitchUI(intType); + + }); + } + + /// <summary> + /// 鏌ユ壘閬ユ帶鍣� + /// </summary> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns>涓嶄細涓簄ull</returns> + private RemoteControlEntity GetRemoteControl(int type) + { + if (this.remoteControlList == null || this.remoteControlList.Count == 0) + { + return new RemoteControlEntity(); + } + var re = this.remoteControlList.Find((o) => o.type == type); + if (re == null) + { + re = new RemoteControlEntity(); + } + //re.deviceId = this.device.deviceId; + return re; + } + + + public enum IntType + { + /// <summary> + /// 娌℃湁 + /// </summary> + none = 0, + /// <summary> + /// 鎾斁鍣� + /// </summary> + Player = 1, + /// <summary> + /// 鍔熸斁 + /// </summary> + HiFi = 2, + /// <summary> + /// 鐢佃 + /// </summary> + TV = 3, + /// <summary> + /// 鏈洪《鐩� + /// </summary> + STB = 4, + /// <summary> + /// 鎶曞奖浠� + /// </summary> + Projector = 5, + /// <summary> + /// 涓囪兘閬ユ帶鍣� + /// </summary> + Control = 6, + } + + /// <summary> + /// 鍒濆鍖栧瓧鍏� + /// </summary> + /// <returns></returns> + private Dictionary<IntType, string> GetTypeDictionary() + { + if (this.remoteControlList == null || this.remoteControlList.Count == 0) + { + return new Dictionary<IntType, string>(); + } + var dic = new Dictionary<IntType, string>(); + foreach (var o in this.remoteControlList) + { + switch (o.type) + { + case (int)IntType.Player: + { + dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi)); + } + break; + case (int)IntType.HiFi: + { + dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan)); + } + break; + case (int)IntType.TV: + { + dic.Add(IntType.TV, Language.StringByID(StringId.dianshi)); + } + break; + + case (int)IntType.STB: + { + dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe)); + } + break; + case (int)IntType.Projector: + { + dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi)); + } + break; + case (int)IntType.Control: + { + dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi)); + } + break; + } + } + return dic; + } + /// <summary> + /// 鑾峰彇璁惧绫诲瀷 + /// </summary> + /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns></returns> + private IntType GetKeyIntType(string value) + { + var dic = this.GetTypeDictionary(); + foreach (var d in dic) + { + if (d.Value == value) + { + return d.Key; + } + } + return IntType.none; + } + /// <summary> + /// 鑾峰彇璁惧鍚嶇О + /// </summary> + /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns></returns> + private string GetValueString(IntType key) + { + var dic = this.GetTypeDictionary(); + foreach (var d in dic) + { + if (d.Key == key) + { + return d.Value; + } + } + return ""; + } + + + + + } } -- Gitblit v1.8.0