using System; using System.IO; using System.Net; using HDL_ON.DAL.Server; using Newtonsoft.Json.Linq; using System.Collections.Generic; using Shared; namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice { public class PirSend { /// /// 住宅ID /// public static string HomeId { get { return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID; } } /// /// 是否为其他主用户分享过来的住宅 /// public static bool IsOthreShare { get { return Entity.DB_ResidenceData.Instance.CurrentRegion.IsOthreShare; } } /// /// 遥控器红外码学习 /// /// public static ResponsePackNew CodeStudy(ButtonObj buttonObj) { var jArray = new JArray { }; var job = new JObject { }; job.Add("key", buttonObj.Key); job.Add("value", buttonObj.value); jArray.Add(job); var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "status", jArray } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); return responsePackNew; } /// /// 获取逻辑 /// /// 逻辑ID列表 /// public static ResponsePackNew GetLogic(List listIdList) { 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); //如果是token过期则刷新token if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) { RefreshToken(); GetLogic(listIdList); } return responsePackNew; } public static bool Error(ResponsePackNew responsePackNew) { if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") { return true; } else if (responsePackNew != null && responsePackNew.Code == "14005") { // new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); return false; } else { // new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); return false; } } /// ///请求服务器(与住宅有关:例如;homeId) /// /// public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 20) { var requestJson = HttpUtil.GetSignRequestJson(o); return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); } /// /// 请求服务器 /// /// public static ResponsePackNew RequestServer(object o, string api_Url) { var requestJson = HttpUtil.GetSignRequestJson(o); return HttpUtil.RequestHttpsPost(api_Url, requestJson); } /// /// 刷新Token /// public static void RefreshToken() { IMessageCommon.Current.StartRefreshToken(); } } }