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; } } }