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
|
{
|
/// <summary>
|
/// 住宅ID
|
/// </summary>
|
public static string HomeId
|
{
|
get
|
{
|
return Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID;
|
}
|
}
|
/// <summary>
|
/// 是否为其他主用户分享过来的住宅
|
/// </summary>
|
public static bool IsOthreShare
|
{
|
get
|
{
|
return Entity.DB_ResidenceData.Instance.CurrentRegion.IsOthreShare;
|
}
|
}
|
/// <summary>
|
/// 遥控器红外码学习
|
/// </summary>
|
/// <returns></returns>
|
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;
|
}
|
/// <summary>
|
/// 获取逻辑
|
/// </summary>
|
/// <param name="listIdList">逻辑ID列表</param>
|
/// <returns></returns>
|
public static ResponsePackNew GetLogic(List<string> 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;
|
}
|
}
|
|
/// <summary>
|
///请求服务器(与住宅有关:例如;homeId)
|
/// </summary>
|
/// <returns></returns>
|
public static ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 20)
|
{
|
var requestJson = HttpUtil.GetSignRequestJson(o);
|
return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
|
|
}
|
/// <summary>
|
/// 请求服务器
|
/// </summary>
|
/// <returns></returns>
|
public static ResponsePackNew RequestServer(object o, string api_Url)
|
{
|
var requestJson = HttpUtil.GetSignRequestJson(o);
|
return HttpUtil.RequestHttpsPost(api_Url, requestJson);
|
|
}
|
/// <summary>
|
/// 刷新Token
|
/// </summary>
|
public static void RefreshToken()
|
{
|
IMessageCommon.Current.StartRefreshToken();
|
}
|
|
}
|
|
}
|