From 94e4e5b9fd3da964c44b7b14227d6fe2bbb426d7 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期四, 02 四月 2020 13:56:39 +0800 Subject: [PATCH] 2020-04-02-2 --- ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 411 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 337 insertions(+), 74 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs old mode 100755 new mode 100644 index baa7047..8c89431 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -5,12 +5,14 @@ using ZigBee.Common; using Shared.Common; using System.Collections.Specialized; +using System.Net; +using System.IO; namespace Shared.Phone.Device.Logic { public class Send { - #region ----鑾峰彇Logic + #region ----Logic鎵�鏈夊彂閫佸懡浠� /// <summary> /// 鑾峰彇LogicId鐨勬柟娉� /// </summary> @@ -52,11 +54,16 @@ return logicIdList; } mainGateWay.GwResDataAction += action; - - var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; - var jObjectdata1 = new JObject { { "LogicType", LogicType } }; - jObject.Add("Data", jObjectdata1); - mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + try + { + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; + var jObjectdata1 = new JObject { { "LogicType", LogicType } }; + jObject.Add("Data", jObjectdata1); + mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + } + catch(Exception e) { + var d = e.Message; + } //await System.Threading.Tasks.Task.Run(async () => //{ var dateTime = DateTime.Now; @@ -258,7 +265,7 @@ try { - + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2000 } }; var selectMonthList = new JArray { }; foreach (var intvalue in logic.TimeAttribute.SelectMonDate) @@ -290,6 +297,7 @@ ["RemindTime"] = int.Parse(dictionary["RemindTime"]), ["EnDelay"] = int.Parse(dictionary["EnDelay"]), ["DelayTime"] = int.Parse(dictionary["DelayTime"]), + ["DoorLockOpenDelayTime"] = int.Parse(dictionary["DoorLockOpenDelayTime"]), }; if (dictionary["DateType"].ToString() == "0") { @@ -380,6 +388,16 @@ }; conditions.Add(sInfo); break; + case 7: + var diliInfo = new JObject + { + ["Type"] = int.Parse(dictionary["Type"]), + ["IsValid"] = int.Parse(dictionary["IsValid"]), + ["AtHome"] = int.Parse(dictionary["AtHome"]), + ["WhoSiteUId"] = dictionary["WhoSiteUId"], + }; + conditions.Add(diliInfo); + break; } } var actions = new JArray(); @@ -450,6 +468,16 @@ }; actions.Add(timeInfo); break; + case 8: + var lockInfo = new JObject + { + ["LinkType"] = int.Parse(dictionary["LinkType"].ToString()), + ["DeviceAddr"] = dictionary["DeviceAddr"].ToString(), + ["Epoint"] = int.Parse(dictionary["Epoint"].ToString()), + ["PassData"] =dictionary["PassData"].ToString(), + }; + actions.Add(lockInfo); + break; } } var accounts = new JArray(); @@ -467,6 +495,8 @@ { ["Type"] = int.Parse(dictionary["Type"]), ["Account"] = dictionary["Account"], + ["UserId"] = dictionary["UserId"], + ["AccountName"] = dictionary["AccountName"], }; accounts.Add(accounts1); @@ -490,6 +520,7 @@ } } + var data = new JObject{ { "LogicId",logic.LogicId}, { "IsEnable", logic.IsEnable} , @@ -497,6 +528,7 @@ { "Relationship",logic.Relationship} , { "LogicType",logic.LogicType} , { "LogicCustomPushText",logic.LogicCustomPushText} , + { "LogicIsCustomPushText",logic.LogicIsCustomPushText} , { "TimeAttribute", timeAttribute} , { "Conditions", conditions }, { "Actions", actions }, @@ -563,6 +595,7 @@ date.Add("LogicName", logic.LogicName); date.Add("Relationship", logic.Relationship); date.Add("LogicCustomPushText", logic.LogicCustomPushText); + date.Add("LogicIsCustomPushText", logic.LogicIsCustomPushText); mainGateWay?.Send("Logic/ReviseAttribute", jObject.ToString()); //await System.Threading.Tasks.Task.Run(async () => //{ @@ -610,6 +643,8 @@ logic.LogicName = Logicifon["LogicName"].ToString(); logic.LogicType = int.Parse(Logicifon["LogicType"].ToString()); logic.Relationship = int.Parse(Logicifon["Relationship"].ToString()); + logic.LogicCustomPushText = Logicifon["LogicCustomPushText"].ToString(); + logic.LogicIsCustomPushText = int.Parse(Logicifon["LogicIsCustomPushText"].ToString()); logic.TimeAttribute = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.TimeAttributeObj>(Logicifon["TimeAttribute"].ToString()); logic.Conditions = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Conditions"].ToString()); logic.Accounts = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Logicifon["Accounts"].ToString()); @@ -680,7 +715,7 @@ } catch { } var dateTime = DateTime.Now; - while ((DateTime.Now - dateTime).TotalMilliseconds < 8 * 1000) + while ((DateTime.Now - dateTime).TotalMilliseconds < 5* 1000) { await System.Threading.Tasks.Task.Delay(100); if (sum == listLogic.Count) @@ -696,30 +731,67 @@ return listLogic; }); } - // <summary> - /// 閫氳繃璁惧鎵惧埌鍖哄煙(鎴块棿)鍚嶇О + + /// <summary> + /// 鑾峰彇鍦烘櫙淇℃伅鐨勬柟娉� /// </summary> - /// <param name="btnregionname">Btnregionname.</param> - /// <param name="device">Device.</param> - public static void RoomNmae(Button btnregionname, CommonDevice device) + /// <param name="SceneId"></param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<SceneUI> GetScene(int SceneId) { - var room = new Common.Room(); - btnregionname.Text = room.GetRoomNameByDevice(device); - } + SceneUI sceneui = null; + return await System.Threading.Tasks.Task.Run(async () => + { + Action<string, string> action = (topic, data) => + { + var gatewayID = topic.Split('/')[0]; + var jObjectdata = JObject.Parse(data); + if (jObjectdata == null) + { + return; + } - public static List<Common.Room> GetRoomList(string floorId) - { - return Common.Room.Lists.FindAll((obj) => obj.FloorId == floorId); + if (topic == $"{gatewayID}/Scene/GetDeviceList_Respon") + { + sceneui = new SceneUI(); + sceneui.Name = jObjectdata["Data"]["ScenesName"].ToString(); + sceneui.Id = int.Parse(jObjectdata["Data"]["ScenesId"].ToString()); + } + }; + var mainGateWay = ZbGateway.MainGateWay; + if (mainGateWay == null) + { + Console.WriteLine("娌℃湁涓荤綉鍏�"); + return sceneui; + } + mainGateWay.GwResDataAction += action; + + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 806 } }; + var jObjectdata1 = new JObject { { "ScenesId", SceneId } }; + jObject.Add("Data", jObjectdata1); + mainGateWay?.Send("Scene/GetDeviceList", jObject.ToString()); + var dateTime = DateTime.Now; + while ((DateTime.Now - dateTime).TotalMilliseconds < 3 * 1000) + { + await System.Threading.Tasks.Task.Delay(100); + if (sceneui != null) + { + break; + } + } + ZbGateway.MainGateWay.GwResDataAction -= action; + return sceneui; + }); } #endregion #region ----鑾峰彇闂ㄩ攣 - + /// <summary> /// 鑾峰彇鑷繁+鍏朵粬鎴愬憳淇℃伅 /// </summary> - /// <param name="doorlockMac">闂ㄩ攣Mac</param> + /// <param name="doorlockMac">闂ㄩ攣Mac+绔彛</param> /// <returns></returns> public static async System.Threading.Tasks.Task<List<MembershipIfon>> AllMembers(string doorlockMac) { @@ -730,6 +802,7 @@ currUserIfon.CloudAccountId = Config.Instance.Guid; if (string.IsNullOrEmpty(UserCenter.UserCenterResourse.UserInfo.UserName)) { + ///濡傛灉鏄电О涓虹┖锛屾鏃讹紝鐧婚檰璐﹀彿涓洪粯璁ゆ樀绉帮紱 currUserIfon.UserName = UserCenter.UserCenterResourse.UserInfo.Account; } else @@ -738,12 +811,18 @@ } foreach (var o in AllUserIfon) { + if (o.IsFreezeUser || string.IsNullOrEmpty(o.UserId)) + { + ///杩囨护鎺夊喕缁撶殑鎴愬憳鍜孶serId涓虹┖鐨勬暟鎹紱 + continue; + } if (string.IsNullOrEmpty(currUserIfon.DoorLockMacPort)) { currUserIfon.DoorLockMacPort = o.DoorLockMacPort; } if (o.CloudAccountId == Config.Instance.Guid) { + UnlockingMode unlockingMode = new UnlockingMode(); unlockingMode.OpenMode = o.OpenMode; unlockingMode.UserId = o.UserId; @@ -759,7 +838,13 @@ if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3) { var pra = new UserCenter.MemberListInfoPra(); - string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + string result = ""; + if (AllUserIfon.Count != 0) + { + //鏈嶅姟杩斿洖鏉ユ病鏈夐棬閿佹垚鍛樹俊鎭紝娌℃湁蹇呰鍐嶅幓璇锋眰鎴愬憳鍒楄〃锛� + //鍘熷洜锛氳妭绾︽椂闂达紝浣撻獙鏁堟灉濂斤紱 + result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + } var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); for (int i = 0; i < listInfo.Count; i++) { @@ -769,6 +854,7 @@ userIfon.CloudAccountId = user.SubAccountDistributedMark; if (string.IsNullOrEmpty(user.UserName)) { + ///濡傛灉鏄电О涓虹┖锛屾鏃讹紝鐧婚檰璐﹀彿涓洪粯璁ゆ樀绉帮紱 userIfon.UserName = user.Account; } @@ -779,6 +865,11 @@ } for (int j = 0; j < AllUserIfon.Count; j++) { + if (AllUserIfon[j].IsFreezeUser || string.IsNullOrEmpty(AllUserIfon[j].UserId)) + { + ///杩囨护鎺夊喕缁撶殑鎴愬憳鍜孶serId涓虹┖鐨勬暟鎹紱 + continue; + } if (string.IsNullOrEmpty(userIfon.DoorLockMacPort)) { userIfon.DoorLockMacPort = AllUserIfon[j].DoorLockMacPort; @@ -834,6 +925,7 @@ user.CloudAccountId = data["CloudAccountId"].ToString(); user.DoorLockMacPort = data["DoorLockId"].ToString(); user.ModeName = data["UserIdRemarks"].ToString(); + user.IsFreezeUser = Convert.ToBoolean(data["IsFreezeUser"].ToString()); list.Add(user); } return list; @@ -841,9 +933,9 @@ public static async System.Threading.Tasks.Task<string> ReadUserList(string doorlockMac) { - string s = null; - var str = await WebClientAsync(0, CommonPage.RequestHttpsHost+"/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍� - // var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager"); + string s = null; + var str = await WebClientAsync(0, CommonPage.RequestHttpsHost + "/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍� + var jObject = JObject.Parse(str); if (jObject == null || jObject["StateCode"].ToString() != "Success") { @@ -868,13 +960,11 @@ residential.IsOtherAccountCtrl = true; residential.doorlockmac = doorlockMac; residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl"; s = await ReadUserDoorLock(residential); } else { residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager"; residential.Token = Config.Instance.Token; residential.Id = Config.Instance.HomeId; residential.IsOtherAccountCtrl = false; @@ -886,7 +976,7 @@ } return s; } - + public static async System.Threading.Tasks.Task<string> ReadUserDoorLock(Residential residential) { @@ -907,48 +997,7 @@ lockifon.doorlockmac = residential.doorlockmac; return await WebClientAsync(2, lockifon.Url, lockifon); } - - /// <summary> - /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶 - /// </summary> - /// <param name="postValues">post鍙傛暟</param> - /// <param name="url"></param> - /// <returns></returns> - public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) - { - - NameValueCollection postValues = new NameValueCollection(); - - if (value == 0) - { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token); - postValues.Add("ReqDto.PageSetting.PageSize", Int32.MaxValue.ToString());// - - } - else if (value == 1) - { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("LoginAccessToken", Config.Instance.Token); - postValues.Add("MainAccountId", residential.MainUserDistributedMark); - postValues.Add("SharedHid", residential.Id); - } - else if (value == 2) - { - postValues.Add("RequestVersion", CommonPage.RequestVersion); - postValues.Add("LoginAccessToken", residential.Token); - postValues.Add("HomeId", residential.Id); - postValues.Add("DoorLockId", residential.doorlockmac);//闂ㄩ攣Mac - postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString()); - postValues.Add("PageSetting.PageSize", Int32.MaxValue.ToString()); - } - System.Net.WebClient webClient = new System.Net.WebClient(); - byte[] responseArray = webClient.UploadValues(url, postValues); - var s = System.Text.Encoding.UTF8.GetString(responseArray); - return s; - - } - + public class Residential { /// <summary> @@ -972,7 +1021,7 @@ public string doorlockmac; } - public class MembershipIfon + public class MembershipIfon { /// <summary> /// 璇嗗埆鐢ㄦ埛韬唤 @@ -990,7 +1039,10 @@ /// 鐢ㄦ埛鏄电О /// </summary> public string UserName = string.Empty; - + /// <summary> + /// 鏄惁鍐荤粨璇ユ垚鍛橈紙true宸插喕缁擄級 + /// </summary> + public bool IsFreezeUser; } @@ -1033,15 +1085,17 @@ /// 闂ㄩ攣Mac+Port,璇嗗埆闂ㄩ攣锛� /// </summary> public string DoorLockMacPort = string.Empty; + /// <summary> + /// 鏄惁鍐荤粨璇ユ垚鍛橈紙true宸插喕缁擄級 + /// </summary> + public bool IsFreezeUser; } - /// <summary> /// 闂ㄩ攣鍒楄〃 /// </summary> public static List<MembershipIfon> LockList = new List<MembershipIfon>(); - /// <summary> /// 褰撳墠闂ㄩ攣 /// </summary> @@ -1051,5 +1105,214 @@ /// </summary> public static UserCenter.MemberInfoRes UserMemberInfoRes = null; #endregion + + /// <summary> + /// 鑷繁鐢ㄧ殑鍙戦�佺殑鏂规硶 + /// </summary> + /// <param name="tag">鏍囪鏄偅鏉″懡浠�</param> + /// <param name="logic">閫昏緫瀵硅薄</param> + public static void Zj(bool tag, Common.Logic logic) + { + new System.Threading.Thread(() => + { + if (logic.LogicId != 0) + { + if (tag) + { + Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + else + { + Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + ///鍙敼鎺ㄩ�佸唴瀹癸紱 + LogicControlSwitch(logic); + } + + }) + { IsBackground = true }.Start(); + } + + #region 璇锋眰鏈嶅姟鍣ㄦ柟娉�--- + /// <summary> + /// 璇锋眰鏁版嵁鐨勫皝瑁呮柟娉� + /// </summary> + /// <param name="command">璇嗗埆鍛戒护鍒ゆ柇瀛楃涓�</param> + /// <param name="url">璇锋眰鍦板潃</param> + /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> + /// <param name="obj">瀛樺偍鍙戦�佹暟鎹殑瀵硅薄</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<string> Data(string command, string url, string method, object obj = null) + { + var getUrl = ""; + var jObject = new JObject(); + if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1) + { + getUrl = CommonPage.RequestHttpsHost + url;//璇锋眰鍦板潃锛� + jObject.Add("IsOtherAccountCtrl", false); + jObject.Add("LoginAccessToken", Config.Instance.Token); + } + else + { + getUrl = Config.Instance.AdminRequestBaseUrl + url;//璇锋眰鍦板潃锛� + jObject.Add("IsOtherAccountCtrl", true); + jObject.Add("LoginAccessToken", Config.Instance.AdminRequestToken); + } + switch (command) + { + case "娣诲姞/鏇存柊": + { + jObject.Add("RequestVersion", CommonPage.RequestVersion); + //jObject.Add("LoginAccessToken", Config.Instance.Token); + jObject.Add("HomeId", Config.Instance.HomeId); + jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId); + jObject.Add("PushUserIds", new JArray { Config.Instance.Guid }); + jObject.Add("PushContent", Common.Logic.CurrentLogic.LogicCustomPushText); + } + break; + case "鍒犻櫎": + { + jObject.Add("RequestVersion", CommonPage.RequestVersion); + //jObject.Add("LoginAccessToken", Config.Instance.Token); + jObject.Add("HomeId", Config.Instance.HomeId); + jObject.Add("LogicID", Common.Logic.CurrentLogic.LogicId); + } + break; + } + return await HttpWebRequest(getUrl, jObject.ToString(), method); + } + /// <summary> + /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶(鏀寔璇锋眰鏂瑰紡涓篜OST/GET) + /// </summary> + /// <param name="getUrl">璇锋眰鐨勫湴鍧�</param> + /// <param name="str">璇锋眰鏁版嵁</param> + /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> + /// <param name="second">瓒呮椂鏃堕棿</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3) + { + HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰 + request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET + request.ContentType = "application/json"; + request.Timeout = second * 1000;//瓒呮椂鏃堕棿 + if (method == "POST") + { + byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str); + request.ContentLength = jsonbyte.Length; + Stream postStream = request.GetRequestStream(); + postStream.Write(jsonbyte, 0, jsonbyte.Length); + postStream.Close(); + } + //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁 + HttpWebResponse res; + try + { + res = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + res = (HttpWebResponse)ex.Response; + } + StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8); + string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓� + return content; + } + /// <summary> + /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶 + /// </summary> + /// <param name="value">鍖哄垎鍙戦�佸懡浠ょ殑鏁版嵁鍒ゆ柇鍊�</param> + /// <param name="url">璇锋眰鐨勫湴鍧�</param> + /// <param name="residential">瑁呮暟鎹殑瀵硅薄</param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<string> WebClientAsync(int value, string url, Residential residential = null) + { + NameValueCollection postValues = new NameValueCollection(); + switch (value) + { + case 0: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("ReqDto.LoginAccessToken", Config.Instance.Token); + postValues.Add("ReqDto.PageSetting.PageSize", Int32.MaxValue.ToString());// + } + break; + case 1: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("LoginAccessToken", Config.Instance.Token); + postValues.Add("MainAccountId", residential.MainUserDistributedMark); + postValues.Add("SharedHid", residential.Id); + } + break; + case 2: + { + postValues.Add("RequestVersion", CommonPage.RequestVersion); + postValues.Add("LoginAccessToken", residential.Token); + postValues.Add("HomeId", residential.Id); + postValues.Add("DoorLockId", residential.doorlockmac);//闂ㄩ攣Mac+绔彛 + postValues.Add("IsOtherAccountCtrl", residential.IsOtherAccountCtrl.ToString()); + postValues.Add("PageSetting.PageSize", Int32.MaxValue.ToString()); + } + break; + } + //PrintKeysAndValues2(postValues); + System.Net.WebClient webClient = new System.Net.WebClient(); + byte[] responseArray = webClient.UploadValues(url, postValues); + var s = System.Text.Encoding.UTF8.GetString(responseArray); + return s; + } + #endregion + + #region 瀛樺彇鏈湴鏂囦欢鐨勬柟娉� ---鏆傛椂涓嶇敤鍚堝苟璇ユ柟娉�--- + /// <summary> + /// 鏂囦欢淇濆瓨 + /// </summary> + /// <param name="FileName">鏂囦欢璺緞</param> + /// <param name="obj">闇�瑕佸簭鍒楀寲鏁版嵁</param> + public static void SaveLocalFile(string FileName, object obj) + { + //鍏堝簭鍒楀寲鏁版嵁锛� + var data = Newtonsoft.Json.JsonConvert.SerializeObject(obj); + //鏁版嵁杞崲涓哄瓧鑺傛祦锛� + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + //鍐欏叆鏁版嵁锛� + Shared.IO.FileUtils.WriteFileByBytes(FileName, byteData); + } + + /// <summary> + /// 鏂囦欢璇诲彇 + /// </summary> + /// <param name="FileName">鏂囦欢璺緞</param> + /// <returns></returns> + public static string ReadLocalFile(string FileName) + { + if (System.IO.File.Exists(FileName) == false) + { + ///鍒ゆ柇鏄惁鏈夋枃浠�; + return null; + } + //璇诲嚭淇濆瓨璇ヨ矾寰勭殑鏂囦欢锛� + var varByte = Shared.IO.FileUtils.ReadFile(FileName); + //瀛楄妭娴佽浆鎹负瀛楃涓诧紱 + return System.Text.Encoding.UTF8.GetString(varByte); + } + #endregion + + /// <summary> + /// 鍒ゆ柇瀛楀吀鏄惁瀛樺湪鐨勬柟娉� + /// </summary> + /// <param name="deviceConditionsInfo"></param> + /// <param name="Key"></param> + /// <param name="Value"></param> + public static void dictionary(Dictionary<string, string> deviceConditionsInfo, string Key, string Value) + { + if (deviceConditionsInfo.ContainsKey(Key)) + { + deviceConditionsInfo.Remove(Key); + } + deviceConditionsInfo.Add(Key, Value); + } + + } } -- Gitblit v1.8.0