From 3c9ad99d4a5eeeb53f7380315197e7133f84d10c Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 27 十月 2020 14:57:33 +0800 Subject: [PATCH] 2020-10-27 1V2.510271 1.密码规则修改,修改为:密码必须为8-20个字符,包含字母、数字和符号。 2.APP本地增加登录,密码错误锁定,连续错误5次登录锁定,锁定5分钟。 3.登录界面,增加登录账号的邮箱格式匹配检测。 4.增加iOS越狱和Androidr Root检测,强制关闭APP。 --- Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs | 106 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 99 insertions(+), 7 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs index 188fc31..33a2247 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs @@ -348,12 +348,14 @@ UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 + usefullBytes [3]); UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 + usefullBytes [3]); break; - } else if (usefullBytes [0] == 11) { - UserDeviceToSocket.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - break; } + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //else if (usefullBytes [0] == 11) { + // UserDeviceToSocket.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // break; + //} } @@ -1274,6 +1276,14 @@ //} else if (deviceType1.ToString ().Contains ("Switch")) { // devcieLoopName = "Relay SW" + usefullBytes [2].ToString (); //} + + //2020-07-03 濡傛灉鏄孩澶栨ā鍧楃被鍨嬶紝澶囨敞涓虹┖鐨勮瘽锛岄粯璁や负TV鍚嶅瓧 + if (deviceType1 == DeviceType.InfraredMode) { + devcieLoopName = "TV " + usefullBytes [2].ToString (); + } else if (deviceType1 == DeviceType.ACInfrared) { + //2020-08-28 濡傛灉鏄孩澶栫┖璋冪被鍨嬶紝澶囨敞涓虹┖鐨勮瘽锛岄粯璁や负AC鍚嶅瓧 + devcieLoopName = "AC " + usefullBytes [2].ToString (); + } byte [] ddd = CommonPage.MyEncodingGB2312.GetBytes (devcieLoopName); byte [] newddd = new byte [20]; Array.Copy (ddd, 0, newddd, 0, 20 < ddd.Length ? 20 : ddd.Length); @@ -2112,6 +2122,85 @@ return s;// } + //static void httpListener_EventHandler (System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream) + //{ + // //if (!isHttpListenerStart) { + // // return; + // //} + // try { + // //System.Net.WebClient webClient = new System.Net.WebClient (); + // //byte []bytes= webClient.DownloadData("http://ip:6001/GetAllFiles"); + // // System.Text.Encoding.UTF8.GetString (bytes); + // //List<string> list = new List<string> (); + // //foreach(string s in list) { + // // byte [] bytes = webClient.DownloadData ("http://ip:6001/Get"+s); + // // FileUtils.WriteFileByBytes (s, bytes); + // //} + + // if (nameValueCollection ["Command"] != null && nameValueCollection ["Command"].StartsWith ("Get")) { + // string tempFileName = nameValueCollection ["Command"].Replace ("Get", ""); + // if ("AllFiles" == tempFileName) { + // byte [] bytes = System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (IO.FileUtils.ReadFiles ())); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } else { + // byte [] bytes; + // if (!IO.FileUtils.Exists (tempFileName)) { + // bytes = System.Text.Encoding.UTF8.GetBytes ("鏂囦欢鍚嶄笉瀛樺湪锛�"); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // return; + // } + // System.IO.FileStream fs = new System.IO.FileStream (Application.RootPath + tempFileName, System.IO.FileMode.Open); + // bytes = new byte [fs.Length]; + // fs.Read (bytes, 0, bytes.Length); + // fs.Close (); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } + // } else if (nameValueCollection ["Command"].StartsWith ("Upload")) { + // string path = Application.RootPath + nameValueCollection ["Command"].Replace ("Upload", ""); + // string dePath = nameValueCollection ["Command"].Replace ("Upload", ""); + // if (dePath.StartsWith ("Room_")) { + // new Room ().Add (dePath); + // } + // if (dePath.Split ('_').Length == 5) { + // if (dePath.Split ('_') [1] == (typeof (OnePortBus).Name) || dePath.Split ('_') [1] == (typeof (OnePortWirelessFR).Name)) { + // UserConfig.Instance.RemoteModeFile = dePath; + // UserConfig.Instance.SaveUserConfig (); + // } + // if (dePath.Split ('_') [1] == (typeof (SecurityModul).Name)) { + // if (UserConfig.Instance.HideDeviceTypes.Contains ((R.MyInternationalizationString.Security))) { + // UserConfig.Instance.HideDeviceTypes.Remove (R.MyInternationalizationString.Security); + // UserConfig.Instance.SaveUserConfig (); + // } + // } + // } + + // if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { + // var sceneFileList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (Scene.GlobalSceneFilePath))); + // if (!sceneFileList.Contains (dePath)) { + // sceneFileList.Add (dePath); + // IO.FileUtils.WriteFileByBytes (Scene.GlobalSceneFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (sceneFileList))); + // } + // } + // //Utlis.WriteLine ("鎺ユ敹"+path); + // FileUtils.WriteFileByInputStream (path, inputStream); + // Common common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (path))); + // if (common.DeviceTextID == R.MyInternationalizationString.ElectricalControl) { + // UserConfig.Instance.SocketList.Add (common.CommonLoopID); + // } + // } else { + // byte [] bytes = System.Text.Encoding.UTF8.GetBytes ("璇锋眰鍛戒护鏃犳晥锛�"); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } + // } catch (Exception ex) { + // Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); + // } + //} + + static void httpListener_EventHandler (System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream) { //if (!isHttpListenerStart) { @@ -2151,9 +2240,11 @@ } else if (nameValueCollection ["Command"].StartsWith ("Upload")) { string path = Application.RootPath + nameValueCollection ["Command"].Replace ("Upload", ""); string dePath = nameValueCollection ["Command"].Replace ("Upload", ""); - if (dePath.StartsWith ("Room_")) { + if (dePath.Contains ("Room_")) { new Room ().Add (dePath); } + + if (dePath.Split ('_').Length == 5) { if (dePath.Split ('_') [1] == (typeof (OnePortBus).Name) || dePath.Split ('_') [1] == (typeof (OnePortWirelessFR).Name)) { UserConfig.Instance.RemoteModeFile = dePath; @@ -2165,6 +2256,7 @@ UserConfig.Instance.SaveUserConfig (); } } + } if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { @@ -2186,7 +2278,7 @@ } } catch (Exception ex) { Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); - } + } } /// <summary> -- Gitblit v1.8.0