From ffd628ec7a69778387681b6aebcbb3713d3aab51 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 06 十一月 2023 16:57:44 +0800 Subject: [PATCH] 2023年11月06日16:57:19 --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 9 HDL_ON/Common/ApiUtlis.cs | 7 HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 53 ++++++-- HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 258 ++++++++++++++++++++++++------------------- 4 files changed, 192 insertions(+), 135 deletions(-) diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index c04aa5a..96f5c7d 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -535,11 +535,12 @@ //======================瀹夐槻==================== GetSecurityList(); + + //===================璇诲彇閫昏緫鍒楄〃========================== + Logic.LogicList.Clear();//涓婚〉涓嬫媺寮哄埗鍒锋柊鑷姩鍖栧垪琛� + MainView.GetLogicList();//璇诲彇鑷姩鍖栧垪琛� }) { IsBackground = true }.Start(); - - //===================璇诲彇閫昏緫鍒楄〃========================== - Logic.LogicList.Clear();//涓婚〉涓嬫媺寮哄埗鍒锋柊鑷姩鍖栧垪琛� //======================娉ㄥ唽鎺ㄩ��==================== httpRequest.RegisteredPush(); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index ea4a26d..14b8c93 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -1080,18 +1080,17 @@ //涓嶆槸涓昏处鍙风洿鎺ヨ繑鍥� return; } - List<LogicData> logicDataList = new List<LogicData>(); + List<LogicIdData> logicDataList = new List<LogicIdData>(); logicDataList.Clear(); System.Threading.Tasks.Task.Run(() => { try { //鑾峰彇閫昏緫ID鍒楄〃锛岀洰鍓嶉拡瀵规墍鏈�<澶囨敞:濡傛灉鍙拡瀵瑰綋鍓嶆墜鏈虹殑璇濓紝鍙互鐩存帴鎷跨紦瀛樻暟鎹嚜鍔ㄥ寲鍒楄〃閬嶅巻> - var idStr = Send.Current.GetLogicIdList(); - if (idStr != null) + var idStrList = Send.Current.GetLogicIdList(); + if (idStrList != null) { - var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data); - logicDataList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date); + logicDataList.AddRange(idStrList); } ///鏈夎嚜鍔ㄥ垪琛ㄦ墠澶勭悊 if (logicDataList.Count > 0) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs index 84ea1a0..d0a06bd 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs @@ -17,119 +17,152 @@ /// </summary> public static void MainShow() { - automationPage.RemoveAll(); - VerticalRefreshLayout vv = new VerticalRefreshLayout(); - vv.Height = Application.GetRealHeight(667 - 64 - 49);//妯℃嫙楂樺害 - automationPage.AddChidren(vv); - vv.BeginHeaderRefreshingAction += () => + + System.Threading.Tasks.Task.Run(() => { - //娓呴櫎涔嬪墠鑷姩鍖栧垪琛�; - Logic.LogicList.Clear(); - //鑾峰彇鑷姩鍒楄〃 - GetLogicList(); - //鍒锋柊鑷姩鍖栫晫闈� - MainShow(); - //鍏抽棴鍒锋柊View锛� - vv.EndHeaderRefreshing(); - }; - //鑾峰彇鑷姩鍖栧垪琛� - GetLogicList(); - for (int i = Logic.LogicList.Count - 1; i >= 0; i--)//闄嶅簭鎺掑垪 - //for (int i = 0; i < Logic.LogicList.Count; i++) - { - var currLogic = Logic.LogicList[i]; - ///涓婁笅闂撮殧12鍍忕礌 - vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - LogicView.SingleLogicView logicView = new LogicView.SingleLogicView(); - vv.AddChidren(logicView.FLayoutView()); - logicView.btnLogicName.Text = currLogic.name; - logicView.btnWeekText.Text = GetCyclicText(currLogic); - logicView.btnclick.MouseUpEventHandler += (sen, e) => + try { - //Logic.currlogic = currLogic; - //var addLogic = new AddLogic(); - //MainPage.BasePageView.AddChidren(addLogic); - //addLogic.Show(); - //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - new MainView { }.SkipAddLogicPage(currLogic); - }; - //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 - logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => + //鑾峰彇鑷姩鍖栧垪琛� + GetLogicList(); + } + catch { } + finally { - logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; - if (logicView.btnSwitchIcon.IsSelected) + Application.RunOnMainThread(() => { - logicView.btnSwitchIcon.IsSelected = true; - currLogic.enable = "true"; - } - else - { - logicView.btnSwitchIcon.IsSelected = false; - currLogic.enable = "false"; - } - new System.Threading.Thread(() => - { - try + + automationPage.RemoveAll(); + VerticalRefreshLayout vv = new VerticalRefreshLayout(); + vv.Height = Application.GetRealHeight(667 - 64 - 49);//妯℃嫙楂樺害 + automationPage.AddChidren(vv); + vv.BeginHeaderRefreshingAction += () => { - //閫昏緫浣胯兘鐨勫懡浠� - Send.Current.EnableLogic(currLogic); + System.Threading.Tasks.Task.Run(() => + { + try + { + //寮哄埗鏇存柊鑷姩鍖栧垪琛�; + Logic.LogicList.Clear(); + //鑾峰彇鑷姩鍖栧垪琛� + GetLogicList(); + } + catch { } + finally + { + Application.RunOnMainThread(() => + { + //鍒锋柊鑷姩鍖栫晫闈� + MainShow(); + //鍏抽棴鍒锋柊View锛� + vv.EndHeaderRefreshing(); + }); + } + + }); + + + }; + + for (int i = Logic.LogicList.Count - 1; i >= 0; i--)//闄嶅簭鎺掑垪 + { + var currLogic = Logic.LogicList[i]; + ///涓婁笅闂撮殧12鍍忕礌 + vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); + LogicView.SingleLogicView logicView = new LogicView.SingleLogicView(); + vv.AddChidren(logicView.FLayoutView()); + logicView.btnLogicName.Text = currLogic.name; + logicView.btnWeekText.Text = GetCyclicText(currLogic); + logicView.btnclick.MouseUpEventHandler += (sen, e) => + { + //Logic.currlogic = currLogic; + //var addLogic = new AddLogic(); + //MainPage.BasePageView.AddChidren(addLogic); + //addLogic.Show(); + //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + new MainView { }.SkipAddLogicPage(currLogic); + }; + //寮�鍏冲浘鏍囩殑鐐瑰嚮浜嬩欢 + logicView.btnSwitchIcon.MouseUpEventHandler += (sender1, e1) => + { + logicView.btnSwitchIcon.IsSelected = !logicView.btnSwitchIcon.IsSelected; + if (logicView.btnSwitchIcon.IsSelected) + { + logicView.btnSwitchIcon.IsSelected = true; + currLogic.enable = "true"; + } + else + { + logicView.btnSwitchIcon.IsSelected = false; + currLogic.enable = "false"; + } + new System.Threading.Thread(() => + { + try + { + //閫昏緫浣胯兘鐨勫懡浠� + Send.Current.EnableLogic(currLogic); + + } + catch { } + + }) + { IsBackground = true }.Start(); + }; + + + GetSelectIcon(logicView.frameLayout, currLogic); + if (i == 0)//闄嶅簭鎺掑垪 + { + ///鏈�鍚庝竴涓窛绂绘渶搴曢儴12,鐣岄潰鏄剧ず鏁堟灉浣滅敤; + vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) }); + } + if (currLogic.enable == "true") + { + logicView.btnSwitchIcon.IsSelected = true; + } + else + { + logicView.btnSwitchIcon.IsSelected = false; + } + ///鏄剧ず鐗规畩鑷姩鍖栨爣蹇� + if (currLogic.tag == true) + { + logicView.btnIsDelTag.Visible = true; + } + else + { + logicView.btnIsDelTag.Visible = false; + } } - catch { } - }) - { IsBackground = true }.Start(); - }; + if (Logic.LogicList.Count == 0) + { + Button btnTipNot = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(120), + Width = Application.GetRealWidth(180), + Height = Application.GetRealWidth(180), + UnSelectedImagePath = "TipNot.png", + }; + automationPage.AddChidren(btnTipNot); + Button btnTipNotText = new Button() + { + Y = btnTipNot.Bottom + Application.GetRealHeight(16), + Height = Application.GetRealHeight(20), + TextID = StringId.logicnull, + TextAlignment = TextAlignment.Center, + TextSize = LogicView.TextSize.text14, + TextColor = CSS.CSS_Color.textConfirmColor, + }; + automationPage.AddChidren(btnTipNotText); + } + }); + } + }); - GetSelectIcon(logicView.frameLayout, currLogic); - if (i == 0)//闄嶅簭鎺掑垪 - //if (Logic.LogicList.Count - 1 == i) - { - ///鏈�鍚庝竴涓窛绂绘渶搴曢儴12,鐣岄潰鏄剧ず鏁堟灉浣滅敤; - vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); - } - if (currLogic.enable == "true") - { - logicView.btnSwitchIcon.IsSelected = true; - } - else - { - logicView.btnSwitchIcon.IsSelected = false; - } - ///鏄剧ず鐗规畩鑷姩鍖栨爣蹇� - if (currLogic.tag == true) - { - logicView.btnIsDelTag.Visible = true; - } - else - { - logicView.btnIsDelTag.Visible = false; - } - } - - if (Logic.LogicList.Count == 0) - { - Button btnTipNot = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(120), - Width = Application.GetRealWidth(180), - Height = Application.GetRealWidth(180), - UnSelectedImagePath = "TipNot.png", - }; - automationPage.AddChidren(btnTipNot); - Button btnTipNotText = new Button() - { - Y = btnTipNot.Bottom + Application.GetRealHeight(16), - Height = Application.GetRealHeight(20), - TextID = StringId.logicnull, - TextAlignment = TextAlignment.Center, - TextSize = LogicView.TextSize.text14, - TextColor = CSS.CSS_Color.textConfirmColor, - }; - automationPage.AddChidren(btnTipNotText); - } } /// <summary> /// 鎸�+璺宠浆鍒伴�昏緫鐣岄潰鐨勬柟娉� @@ -265,13 +298,11 @@ //鑷姩鍖栧垪琛ㄤ负0鎵嶅幓鑾峰彇鑷姩鍖栧垪琛紱 return; } - List<string> logicIdList = new List<string>(); + var logicIdList = new List<string>(); //鑾峰彇閫昏緫ID鍒楄〃 - var idStr = Send.Current.GetLogicIdList(); - if (idStr != null) + var dateList = Send.Current.GetLogicIdList(); + if (dateList != null) { - var date = Newtonsoft.Json.JsonConvert.SerializeObject(idStr.Data); - var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicData>>(date); for (int i = 0; i < dateList.Count; i++) { //娣诲姞閫昏緫ID @@ -279,16 +310,15 @@ } } //鑾峰彇鑷姩鍖栧垪琛� - var logicListStr = Send.Current.GetLogic(logicIdList); - if (logicListStr != null) + var logicList = Send.Current.GetLogic(logicIdList); + if (logicList != null) { - var logicList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Logic>>(logicListStr.Data.ToString()); for (int j = 0; j < logicList.Count; j++) { var logic = logicList[j]; if (logic != null) { - //鏌ユ壘鏄惁宸茬粡瀛樺湪璇ラ�昏緫 + //鍘婚噸 var if_logic = Logic.LogicList.Find((c) => c.userLogicId == logic.userLogicId); if (if_logic == null) { @@ -574,8 +604,8 @@ return false; } } - } - class LogicData + } + public class LogicIdData { /// <summary> /// 浜戠鍞竴id diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index 1fe9733..a843941 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -47,7 +47,7 @@ /// 鑾峰彇閫昏緫ID鍒楄〃 /// </summary> /// <returns></returns> - public ResponsePackNew GetLogicIdList(bool isTip = false) + public List<LogicIdData> GetLogicIdList(bool isTip = false) { var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_List, "鑾峰彇閫昏緫ID鍒楄〃"); @@ -61,14 +61,15 @@ { return null; } - return responsePackNew; + var dateList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<LogicIdData>>(responsePackNew.Data.ToString()); + return dateList; } /// <summary> /// 鑾峰彇鑷姩鍖栬鎯� /// </summary> /// <param name="listIdList">鑷姩鍖朓D鍒楄〃</param> /// <returns></returns> - public ResponsePackNew GetLogic(List<string> listIdList, bool isTip = false) + public ResponsePackNew GetLogic1(List<string> listIdList, bool isTip = false) { var jArray = new JArray { }; for (int i = 0; i < listIdList.Count; i++) @@ -89,6 +90,35 @@ } return responsePackNew; } + + /// <summary> + /// 鑾峰彇鑷姩鍖栬鎯� + /// </summary> + /// <param name="listIdList">鑷姩鍖朓D鍒楄〃</param> + /// <returns></returns> + public List<Logic> GetLogic(List<string> listIdList, bool isTip = false) + { + var jArray = new JArray { }; + for (int i = 0; i < listIdList.Count; i++) + { + jArray.Add(listIdList[i]); + } + var jObject = new JObject { { "userLogicIds", jArray } }; + var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Info, "鑾峰彇鑷姩鍖栬鎯�"); + //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken + if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) + { + RefreshToken(); + GetLogic(listIdList, isTip); + } + if (Check(responsePackNew, isTip) == false) + { + return null; + } + var logicList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Logic>>(responsePackNew.Data.ToString()); + return logicList; + } + /// <summary> /// 娣诲姞鑷姩鍖栧懡浠� /// </summary> @@ -581,21 +611,18 @@ /// <returns></returns> public bool Check(ResponsePackNew r, bool isTip) { + if (r == null) + { + r = new ResponsePackNew { message = "娌″洖澶�,璇风‘璁ょ綉缁滄槸鍚︽甯�.", Code = "-1", }; + } if (r.Code == "0" && r.Data != null && r.Data.ToString() != "") { return true; } - if (r.Code != "0") + //澶辫触鏃舵槸鍚﹁鎻愮ず + if (isTip) { - //澶辫触鏃舵槸鍚﹁鎻愮ず - if (isTip) - { - if (r == null) - { - r = new ResponsePackNew { message = "娌″洖澶�,璇风‘璁ょ綉缁滄槸鍚︽甯�.", Code = "-1", }; - } - new LogicView.TipPopView().FlashingBox(r.message + $"({r.Code})"); - } + new LogicView.TipPopView().FlashingBox(r.message + $"({r.Code})"); } return false; } -- Gitblit v1.8.0