From 8784b669c284e02f0a4d2d9aacefc408196c8583 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 30 六月 2022 18:03:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wjc' into release0123 --- HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs | 74 ++++++++ HDL-ON_iOS/Resources/Language.ini | 4 HDL-ON_Android/Assets/Language.ini | 5 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 6 HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 223 ++++++++++++++++++++++++++- HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 87 ++++++++++ HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 1 HDL_ON/Common/R.cs | 8 + HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs | 6 HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 47 +++++ 10 files changed, 442 insertions(+), 19 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index e7e3999..13dc635 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -1070,6 +1070,9 @@ 7156=Distress 7157=whether to unlock 7158=is +7159=Fall in the alarm +7160=Someone called the police + @@ -2240,6 +2243,8 @@ 7156=姹傛晳 7157=鏄惁寮�閿佹椂 7158=鏄� +7159=璺屽�掓姤璀� +7160=鏈変汉鎶ヨ diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 02be903..55ffaab 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -1049,6 +1049,8 @@ 7156=Distress 7157=whether to unlock 7158=is +7159=Fall in the alarm +7160=Someone called the police @@ -2193,6 +2195,8 @@ 7156=姹傛晳 7157=鏄惁寮�閿佹椂 7158=鏄� +7159=璺屽�掓姤璀� +7160=鏈変汉鎶ヨ diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index 6f4facd..f60d663 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -2858,6 +2858,14 @@ /// 鏄� /// </summary> public const int shi = 7158; + /// <summary> + /// 璺屽�掓姤璀� + /// </summary> + public const int diedaobaojing = 7159; + /// <summary> + /// 鏈変汉鎶ヨ + /// </summary> + public const int yourenbaojing = 7160; diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 16e2186..1d7589f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -24,10 +24,20 @@ /// 瀹氫箟涓�涓彉閲忥紝璁板綍閫変腑鐘舵�� /// </summary> private string selectedState = "unknown"; + /// <summary> + /// 鏄笉鏄啀娆$紪杈� + /// </summary> + private bool mEdit; + /// <summary> + /// 杈撳叆鏉′欢鍒楄〃绱㈠紩鍊� + /// </summary> + private int mIndex; public void Show(Entity.Function device, int index, bool edit) { this.function = device; + this.mEdit = edit; + this.mIndex = index; #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; LogicView.TopView topView = new LogicView.TopView(); @@ -200,8 +210,36 @@ } } break; - //姣背娉紶鎰熷櫒 + //姣背娉紶鎰熷櫒(鑷爺鍖楅偖) case SPK.SenesorMegahealth: + { + + LogicView.FunTypeView view1= new LogicView.FunTypeView(); + view1.btnText.TextID = StringId.diedaobaojing; + view1.btnState.Name = Language.StringByID(StringId.diedaobaojing); + fLayout.AddChidren(view1.FLayoutView()); + view1.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view1.btnState, StringId.shi, StringId.offLogic, 1); + }; + + LogicView.FunTypeView view2 = new LogicView.FunTypeView(); + view2.frameLayout.Y = view1.frameLayout.Bottom; + view2.btnText.TextID = StringId.yourenbaojing; + view2.btnState.Name = Language.StringByID(StringId.yourenbaojing); + fLayout.AddChidren(view2.FLayoutView()); + view2.btnClick.MouseUpEventHandler += (sender, e) => + { + DeviceView(device, view2.btnState, StringId.shi, StringId.offLogic, 1); + }; + if (edit) + { + GetEditState(device, index, view1.btnState, view2.btnState, null, null); + } + + } + break; + //姣背娉紶鎰熷櫒(鍏嗚涓撶敤浜戜簯瀵规帴) case SPK.SenesorMegahealth2: { LogicView.FunTypeView view = new LogicView.FunTypeView(); @@ -532,6 +570,23 @@ } break; case SPK.SenesorMegahealth: + { + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing)) + { + keyVlaue = "people_status"; + + } + else + { + keyVlaue = "target_status"; + } + } + + } + break; case SPK.SenesorMegahealth2: { keyVlaue = "action_state"; @@ -590,6 +645,25 @@ } break; case StringId.shi: + { + value = "open"; + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing)) + { + //鐘舵��(鏈変汉) + value = "true"; + + } + else if(button.Name == Language.StringByID(StringId.diedaobaojing)) + { + //璺屽�� + value = "4"; + } + } + } + break; case StringId.kaiqi: { value = "open"; @@ -621,6 +695,17 @@ button.TextID = intValue; selectedState = device.spk + "_" + value; AddDictionary(keyVlaue, value, "string"); + if (button != null) + { + + if (button.Name == Language.StringByID(StringId.yourenbaojing) + || (button.Name == Language.StringByID(StringId.diedaobaojing))) + { + //鍙湁姣背娉紶鎰熷櫒(鑷爺) + Save(device, mIndex, mEdit); + } + } + }); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index 7fa0b4b..3db5687 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -176,6 +176,23 @@ } break; //浼犳劅鍣� + case SPK.SensorHelp: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + inputView.btnState.Text = Language.StringByID(StringId.qiujiu); + + } + else + { + inputView.btnState.Text = Language.StringByID(StringId.zhengchang); + } + } + } + break; case SPK.SensorSmoke: case SPK.SensorGas: { @@ -311,6 +328,33 @@ } break; case SPK.SenesorMegahealth: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "people_status": + { + if (value == "true") + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } + + } + break; + case "target_status": + { + if (value == "4") + { + inputView.btnState.Text = Language.StringByID(StringId.shi); + } + } + break; + } + + } + }break; case SPK.SenesorMegahealth2: { foreach (var dic in dicList) @@ -992,8 +1036,6 @@ } break; case SPK.CurtainSwitch: - case SPK.CurtainTrietex: - case SPK.CurtainRoller: { foreach (var dic in dicList) { @@ -1016,6 +1058,48 @@ } break; } + } + } + break; + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + string on_off = GetKeyValue("on_off", dicList); + string percent = GetKeyValue("percent", dicList); + if (on_off == "on" && percent != "") + { + stateStr = Language.StringByID(StringId.onLogic) + percent + "%"; + } + else if (on_off == "on") + { + stateStr = Language.StringByID(StringId.onLogic); + } + else if (on_off == "off") + { + stateStr = Language.StringByID(StringId.offLogic); + } + else if (percent != "") + { + stateStr = percent + "%"; + } + } + break; + case SPK.CurtainDream: + { + string percent = GetKeyValue("percent", dicList); + string angle = GetKeyValue("angle", dicList); + if (percent != "" && angle != "") + { + stateStr += Language.StringByID(StringId.onLogic) + percent + "%;"; + stateStr +=Language.StringByID(StringId.Angle)+angle + "掳"; + } + else if (percent != "") + { + stateStr = Language.StringByID(StringId.onLogic) + percent + "%"; + } + else if (angle != "") + { + stateStr = Language.StringByID(StringId.onLogic) + Language.StringByID(StringId.Angle) + angle + "掳"; } } break; @@ -1455,8 +1539,6 @@ } break; case SPK.CurtainSwitch: - case SPK.CurtainTrietex: - case SPK.CurtainRoller: { foreach (var dic in dicList) { @@ -1480,6 +1562,85 @@ break; } } + } + break; + case SPK.CurtainTrietex: + case SPK.CurtainRoller: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "on_off": + { + switch (value) + { + case "on": + { + button1.Text = Language.StringByID(StringId.onLogic); + } + break; + case "off": + { + button1.Text = Language.StringByID(StringId.offLogic); + } + break; + case "stop": + { + button1.Text = Language.StringByID(StringId.stop); + } + break; + } + } + break; + case "percent": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "%"; + } + break; + } + + } + + } + break; + case SPK.CurtainDream: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "percent": + { + if (button1 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button1.Text = value + "%"; + } + break; + case "angle": + { + if (button2 == null) + { + //鎬曡皟璇曡蒋浠朵贡涓婁笢瑗垮鑷存姏寮傚父 + break; + } + button2.Text = value + "掳"; + } + break; + } + + } + } break; case SPK.AcStandard: @@ -1745,6 +1906,22 @@ } break; + case SPK.SensorHelp: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + if (value == "alarm") + { + button1.Text = Language.StringByID(StringId.qiujiu); + } + else + { + button1.Text = Language.StringByID(StringId.zhengchang); + } + } + } + break; case SPK.SensorGas: case SPK.SensorSmoke: { @@ -1870,6 +2047,34 @@ } break; case SPK.SenesorMegahealth: + { + foreach (var dic in dicList) + { + string value = dic["value"]; + switch (dic["key"]) + { + case "people_status": + { + if (value == "true") + { + button1.Text = Language.StringByID(StringId.shi); + } + + } + break; + case "target_status": + { + if (value == "4") + { + button2.Text = Language.StringByID(StringId.shi); + } + } + break; + } + + } + } + break; case SPK.SenesorMegahealth2: { foreach (var dic in dicList) @@ -2160,11 +2365,11 @@ //纭畾鐐瑰嚮浜嬩欢 timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => { - if (timepoint == 0) - { - //鎻愮ず - return; - } + //if (timepoint == 0) + //{ + // //鎻愮ず + // return; + //} fLayout.RemoveFromParent(); action(timepoint); }; diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index c988fc3..b6334d8 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -346,6 +346,7 @@ case SPK.CurtainSwitch: case SPK.CurtainRoller: case SPK.CurtainTrietex: + case SPK.CurtainDream: { strPath = "LogicIcon/curtainlogic.png"; } @@ -432,7 +433,8 @@ var curtainjosn = deviceList.Find((device) => device.spk == SPK.CurtainSwitch || device.spk == SPK.CurtainTrietex - || device.spk == SPK.CurtainRoller); + || device.spk == SPK.CurtainRoller + || device.spk == SPK.CurtainDream); if (curtainjosn != null) { deviceStrTypeList.Add(Language.StringByID(StringId.Curtain)); @@ -528,6 +530,7 @@ functionTypeList.Add(SPK.CurtainSwitch); functionTypeList.Add(SPK.CurtainRoller); functionTypeList.Add(SPK.CurtainTrietex); + functionTypeList.Add(SPK.CurtainDream); } ///绌鸿皟绫� else if (deviceType == Language.StringByID(StringId.AC)) @@ -704,6 +707,7 @@ deviceTypeList.Add(SPK.AirSwitch); deviceTypeList.Add(SPK.PanelSocket); deviceTypeList.Add(SPK.ElectricSocket); + deviceTypeList.Add(SPK.CurtainDream); } break; } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs index 2bcf99d..ade04dc 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/brightnessView.cs @@ -130,7 +130,7 @@ /// <param name="titleName">鏍囬鍚嶇О</param> /// <param name="stateValue">涔嬪墠鐘舵�佸��</param> /// <param name="action">杩斿洖鍥炶皟</param> - public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string> action) + public void FLayoutView(FrameLayout frame, string titleName,string stateValue, Action<string,string> action) { FrameLayout fLayout = new FrameLayout { @@ -147,14 +147,33 @@ frameLayout.AddChidren(btn_add); frameLayout.AddChidren(btn_add_click); btnTitle.Text = titleName; + //杩涙潵鐨勭姸鎬� + if (stateValue.Contains("%")) + { + //鐧惧垎姣� + } + else if (stateValue.Contains("掳")) + { + //瑙掑害 + //瑙掑害鍙栧�艰寖鍥� + seekBarVol.MinValue = 0; + seekBarVol.MaxValue = 180; + seekBarVol.ProgressBarUnitSring = "掳"; + } + else + { + //闊抽噺娌℃湁鍗曚綅 + seekBarVol.MinValue = 0; + seekBarVol.MaxValue = 100; + seekBarVol.ProgressBarUnitSring = ""; + } //绗竴涓彉鍖栬褰曢�変腑鍊� int brightnesValue = 0; if (stateValue != "") { try { - //杩涙潵鐨勭姸鎬� - brightnesValue = int.Parse(stateValue.Replace("%", "")); + brightnesValue = int.Parse(UnitDisposeSring(stateValue)); seekBarVol.Progress = brightnesValue; } catch { } @@ -198,16 +217,63 @@ //{ // return; //} - action(brightnesValue.ToString()); + action(brightnesValue.ToString(), UnitSring(stateValue)); //绉婚櫎fLayout鐣岄潰 fLayout.RemoveFromParent(); }; } + /// <summary> + //杩涘害鍊兼樉绀哄崟浣� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public string UnitSring(string str) + { + //杩涙潵鐨勭姸鎬� + if (str.Contains("%")) + { + //鐧惧垎姣� + return "%"; + } + else if (str.Contains("掳")) + { + //瑙掑害 + return "掳"; + } + else { + //娌℃湁鍗曚綅 + return ""; + } + } + /// <summary> + ///鍘诲崟浣� + /// </summary> + /// <param name="str"></param> + /// <returns></returns> + public string UnitDisposeSring(string str) + { + //杩涙潵鐨勭姸鎬� + if (str.Contains("%")) + { + //鐧惧垎姣� + return str.Replace("%", ""); + } + else if (str.Contains("掳")) + { + //瑙掑害 + return str.Replace("掳", ""); + } + else + { + //娌℃湁鍗曚綅 + return str; + } + } ///// <summary> ///// View鐨勬柟娉� diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index f429ada..d955285 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -78,6 +78,7 @@ ResponsePackNew responsePackNew = null; try { + var cycleJObject = new JObject { }; var cyclevaluejArray = new JArray { }; cycleJObject.Add("type", logic.cycle.type); diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 181c370..1c66bf5 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -152,6 +152,43 @@ #endregion } break; + case SPK.CurtainDream: + { + #region 鐣岄潰 + ///鐧惧垎姣� + LogicView.FunTypeView crtainPercentumView = new LogicView.FunTypeView(); + crtainPercentumView.btnText.TextID = StringId.percentum; + fLayout.AddChidren(crtainPercentumView.FLayoutView()); + crtainPercentumView.btnState.Text = "5%";//浜у搧缁忕悊鏅撹緣瑕佹眰鏀圭殑 2021-11-06 + ///瑙掑害 + LogicView.FunTypeView AngleView = new LogicView.FunTypeView(); + AngleView.frameLayout.Y = crtainPercentumView.frameLayout.Bottom; + AngleView.btnText.TextID = StringId.Angle; + fLayout.AddChidren(AngleView.FLayoutView()); + AngleView.btnState.Text = "10掳"; + ///璁惧寤舵椂iewv + DelayView(fLayout, AngleView.frameLayout.Bottom); + #endregion + #region 鐐瑰嚮浜嬩欢 + + ///鐧惧垎姣旂偣鍑讳簨浠� + crtainPercentumView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, crtainPercentumView.btnState, crtainPercentumView.btnText.Text); + }; + ///瑙掑害鐐瑰嚮浜嬩欢 + AngleView.btnClick.MouseUpEventHandler += (sender, e) => + { + BrightnessMethod(device, AngleView.btnState, AngleView.btnText.Text); + }; + if (edit) + { + //鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬� + GetEditState(device, index, crtainPercentumView.btnState, AngleView.btnState, null, null); + } + #endregion + } + break; case SPK.AcStandard: case SPK.HvacAC: { @@ -612,10 +649,10 @@ //涔嬪墠鐨勭姸鎬佸�� string stateVlaue = button.Text; LogicView.BrightnessView brightness = new LogicView.BrightnessView(); - brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue) => + brightness.FLayoutView(this, titleName, stateVlaue, (brightnesValue, unitStr) => { //鐣岄潰鏄剧ず閫変腑鍊� - button.Text = brightnesValue + "%"; + button.Text = brightnesValue + unitStr; selectedState = device.spk + brightnesValue.ToString(); //璁惧灞炴�у�硷紝浜戦泙涓婂畾涔夊ソ鐨�; string keyVlaue = ""; @@ -632,8 +669,14 @@ break; case SPK.CurtainRoller: case SPK.CurtainTrietex: + case SPK.CurtainDream: { keyVlaue = "percent"; + if (unitStr == "掳") + { + //瑙掑害 + keyVlaue = "angle"; + } } break; } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs index 4575ac6..7084db6 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs @@ -291,9 +291,11 @@ /// <returns></returns> public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 20) { - MainPage.Log("璇锋眰鏁版嵁=="+o.ToString()); + MainPage.Log("绾㈠瀹濊姹傛暟鎹�:"+api_Url+"\r\n"+o.ToString()); var requestJson = HttpUtil.GetSignRequestJson(o); - return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); + var responsePackNew= HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); + MainPage.Log("鍥炲绾㈠瀹濊姹傛暟鎹�:" + "\r\n"+ Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew)); + return responsePackNew; } /// <summary> -- Gitblit v1.8.0