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 Add(Control control) { var jObject = new JObject { }; jObject.Add("homeId", HomeId); jObject.Add("deviceId", control.deviceId); jObject.Add("name", control.name); jObject.Add("spk", "ir.module"); jObject.Add("type", control.type); if (control.type == "library") { //jObject.Add("group_id", "123"); var libraryjay = new JArray { }; for (int i = 0; i < control.library.Count; i++) { libraryjay.Add(control.library[i]); } jObject.Add("library", libraryjay); } var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_Add); return responsePackNew; } /// /// 红外码学习 /// /// public static void CodeStudy(ButtonObj buttonObj, Action action) { //var whichDayJson = jay["whichDay"].ToString(); //var whichDayAry = Newtonsoft.Json.Linq.JArray.Parse(whichDayJson); //for (int b = 0; b < whichDayAry.Count; b++) //{ // var days = whichDayAry[b].ToString(); // timer.whichDay.Add(int.Parse(days)); //} var job = new JObject { }; job.Add("key", buttonObj.Key); job.Add("data_type", "string"); var valuejArray = new JArray { }; valuejArray.Add(buttonObj.value); job.Add("value", valuejArray); var jArray = new JArray { }; jArray.Add(job); var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } }; ResponsePackNew responsePackNew = null; new System.Threading.Thread(() => { try { //发送红外码学习命令 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); } catch { } finally { Application.RunOnMainThread(() => { action(responsePackNew); }); } }) { IsBackground = true }.Start(); } /// /// 自学按键删除 /// /// public static ResponsePackNew CodeRemove(ButtonObj buttonObj) { var job = new JObject { }; job.Add("key", buttonObj.Key); job.Add("data_type", "string"); var valuejArray = new JArray { }; valuejArray.Add(buttonObj.value); job.Add("value", valuejArray); var jArray = new JArray { }; jArray.Add(job); var jObject = new JObject { { "homeId", HomeId }, { "deviceId", "0" }, { "attributes", jArray } }; var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeRemove); 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; } /// ///请求服务器(与住宅有关:例如;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(); } } }