using System.Collections.Generic;
using SiriKit;
namespace SiriIntents.Server
{
public class HttpServerRequest
{
static HttpServerRequest _httpServerRequest;
public static HttpServerRequest Ins {
get
{
if(_httpServerRequest == null)
{
_httpServerRequest = new HttpServerRequest();
}
return _httpServerRequest;
}
}
SceneDateManager _dateManager;
public SceneDateManager DataManager {
get
{
if(_dateManager== null)
{
_dateManager = new SceneDateManager();
}
return _dateManager;
}
}
#region ■ 通用请求接口_______________________
///
/// 根椐用户账号获取注册区域 免登录 // 检测账号是否注册也用这个接口
///
///
///
public ResponsePackNew GetRegionByAccount(string account)
{
var requestJson = HttpUtil.GetSignRequestJson(new RegionByAccountObj() { account = account });
return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetRegionByAccount, requestJson, HttpUtil.GlobalRequestHttpsHost);
}
///
/// 刷新Token
///
///
public string RefreshToken()
{
var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj()
{
refreshToken = DataManager.RefreshToken,
});
var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
if (revertObj.Code == StateCode.SUCCESS)
{
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject(revertObj.Data.ToString());
DataManager.RefreshToken = revertData.refreshToken;
DataManager.AccessToken = revertData.headerPrefix + revertData.accessToken;
}
return revertObj.Code;
}
#endregion
///
/// 执行场景
///
///
public string ExecuteScene(string userSceneId)
{
Dictionary d = new Dictionary();
d.Add("homeId", DataManager.HomeId);
d.Add("userSceneIds", new List() { userSceneId });
var requestJson = HttpUtil.GetSignRequestJson(d);
return HttpUtil.RequestHttpsPostFroHome(
NewAPI.Api_Post_ExecuteSecne, requestJson).Code;
}
///
/// 设置安防防区状态
///
public string SetSecurityStatus(object securityStates)
{
Dictionary d = new Dictionary();
d.Add("homeId", DataManager.HomeId);
d.Add("securitys", securityStates);
var requestJson = HttpUtil.GetSignRequestJson(d);
var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_Security_StatusSet, requestJson);
return pack.Code;
}
}
}