From 30b5770f56f99c1f92e933ad31cf7d2af58b033c Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 02 十二月 2020 16:31:48 +0800 Subject: [PATCH] 20201202 --- HDL_ON/DAL/Server/HttpServerRequest.cs | 587 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 468 insertions(+), 119 deletions(-) diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index a88d67d..f8a99b7 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -1,12 +1,10 @@ -锘縰sing System; +锘縰sing System; using System.Collections.Generic; using System.IO; -using System.Net; +using System.Net; using System.Text; -using HDL_ON.DAL.Net; using HDL_ON.Entity; using Newtonsoft.Json.Linq; -using Shared; namespace HDL_ON.DAL.Server { @@ -112,15 +110,15 @@ { var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj() { - refreshToken = UserInfo.Current.refreshToken, + refreshToken = UserInfo.Current.RefreshToken, }); var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson); if (revertObj.Code.ToUpper() == StateCode.SUCCESS) { var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString()); - UserInfo.Current.loginTokenString = revertData.headerPrefix + revertData.accessToken; - UserInfo.Current.refreshToken = revertData.refreshToken; - UserInfo.Current.lastTime = DateTime.Now; + UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken; + UserInfo.Current.RefreshToken = revertData.refreshToken; + UserInfo.Current.LastTime = DateTime.Now; UserInfo.Current.SaveUserInfo(); return true; } @@ -131,13 +129,7 @@ #region 娉ㄥ唽銆佺櫥褰曢儴鍒� - /// <summary> - /// 鑾峰彇璇锋眰鎻愪氦鐨勮瑷�鍙傛暟 - /// </summary> - public string GetPostLanguageType() - { - return Language.CurrentLanguage == "Chinese" ? LanguageTypeEnum.CHINESE.ToString() : LanguageTypeEnum.ENGLISH.ToString(); - } + /// <summary> /// 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶 @@ -152,7 +144,7 @@ var requestObj = new VerifyCodeSendObj() { verifyType = (int)verifyType, - languageType = GetPostLanguageType() + languageType = Utlis.GetPostLanguageType() }; // 鏄惁鏄墜鏈� if (isPhone) @@ -293,7 +285,10 @@ UserInfo.Current.userEmailInfo = info.memberEmail; UserInfo.Current.userMobileInfo = info.memberPhone; UserInfo.Current.userName = info.memberName; - UserInfo.Current.areaCode = info.memberPhonePrefix; + if (!string.IsNullOrEmpty(info.memberPhonePrefix)) + { + UserInfo.Current.areaCode = info.memberPhonePrefix; + } //鏄惁闇�瑕佽幏鍙栧ご鍍� if (bGetHeadImage) { @@ -411,9 +406,7 @@ /// <returns></returns> public string UpdataUserHeadImage(string fileName) { - FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); - byte[] bytes = new byte[fs.Length]; - fs.Read(bytes, 0, bytes.Length); + byte[] bytes = Shared.IO.FileUtils.ReadFile(fileName); var revertObj = HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Head_Upload, bytes); return revertObj.Code; } @@ -463,7 +456,7 @@ /// </summary> public string GetHomePager(HomeTypeEnum homeType = HomeTypeEnum.ALL) { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetHomeListObj() { homeType = homeType.ToString() }); + var requestJson = HttpUtil.GetSignRequestJson(new GetHomeListObj() { homeType = homeType.ToString() }); var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Gethomepager, requestJson); if (resultObj.Code == StateCode.SUCCESS) { @@ -509,13 +502,16 @@ } DB_ResidenceData.residenceData.SaveResidenceData(); UserInfo.Current.SaveUserInfo(); + + //鍒锋柊涓�娆′綇瀹呯綉鍏� + GetHomeGatewayList(); } } return resultObj.Code; - //string jsonString = "{" + + //string jsonString = "{" + // "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," + // "\"RequestSource\":" + "\"" + "2" + "\"" + "," + // "\"HomeType\":" + "\"" + "1" + "\"" + "," + @@ -610,47 +606,48 @@ requestObj.Address = editName; } - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Home_UpdateHome, requestJson); } /// <summary> - /// 鑾峰彇鍒锋柊褰撳墠浣忓畢缃戝叧鎺ュ彛 + /// 鑾峰彇鍒锋柊褰撳墠浣忓畢鐨勭綉鍏冲垪琛� /// </summary> public void GetHomeGatewayList() { - if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.residecenInfo.RegionID)) return; - var nowhomeId = DB_ResidenceData.residenceData.residecenInfo.RegionID; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = nowhomeId }); - var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); - if (revertObj.Code == StateCode.SUCCESS) + try { - var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); - if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) + if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.residecenInfo.RegionID)) return; + var nowhomeId = DB_ResidenceData.residenceData.residecenInfo.RegionID; + var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = nowhomeId }); + var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetGatewayList, requestJson); + if (revertObj.Code == StateCode.SUCCESS) { - if (mHomeGatewayRes != null) + var mHomeGatewayRes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGatewayInfo>>(revertObj.Data.ToString()); + if (nowhomeId == DB_ResidenceData.residenceData.residecenInfo.RegionID) { - if (mHomeGatewayRes.Count > 0) + if (mHomeGatewayRes != null) { - DB_ResidenceData.residenceData.residenceGatewayMAC = mHomeGatewayRes[0].mac; + if (mHomeGatewayRes.Count > 0) + { + DB_ResidenceData.residenceData.HomeGateway = mHomeGatewayRes[0]; + DB_ResidenceData.residenceData.SaveResidenceData(); + return; + } } - else - { - DB_ResidenceData.residenceData.residenceGatewayMAC = ""; - - } + //鍏朵綑鎯呭喌娓呯┖缃戝叧淇℃伅 + DB_ResidenceData.residenceData.HomeGateway = null; DB_ResidenceData.residenceData.SaveResidenceData(); } - - if (mHomeGatewayRes != null) - { - //Utlis.WriteLine ("鑾峰緱褰撳墠浣忓畢缃戝叧涓暟锛�" + mHomeGatewayRes.content.Count); - } + } + else + { + //鎻愮ず閿欒 } } - else + catch { - //鎻愮ず閿欒 + } } @@ -660,7 +657,7 @@ /// <returns></returns> public ResponsePackNew GetResidenceMemberAccount() { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID }); + var requestJson = HttpUtil.GetSignRequestJson(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID }); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_FindAll, requestJson); } @@ -675,7 +672,7 @@ childAccountId = subaccount.childAccountId, homeId = subaccount.homeId }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Delete, requestJson); } @@ -687,7 +684,7 @@ /// <returns></returns> public ResponsePackNew EditSubAccountNickName(string nickName, string childAccountId) { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new UpdateChildNickNameObj() + var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildNickNameObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, childAccountId = childAccountId, @@ -704,7 +701,7 @@ /// <returns></returns> public ResponsePackNew ChangeCreateSceneState(bool isAllow, string childAccountId) { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new UpdateChildAllowCreateSceneObj() + var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildAllowCreateSceneObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, childAccountId = childAccountId, @@ -712,6 +709,44 @@ }); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); } + + #region 鏂版暟鎹垎浜� + /// <summary> + /// 娣诲姞鍒嗕韩 + /// </summary> + /// <param name="addShareObj"></param> + /// <returns></returns> + public ResponsePackNew AddShare(AddShareObj addShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(addShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Add, requestJson); + } + + /// <summary> + /// 鍒犻櫎鍒嗕韩 + /// </summary> + /// <param name="deleteShareObj"></param> + /// <returns></returns> + public ResponsePackNew DeleteShare(DeleteShareObj deleteShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(deleteShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Delete, requestJson); + } + + /// <summary> + /// 鑾峰彇鍒嗕韩 + /// </summary> + /// <param name="addShareObj"></param> + /// <returns></returns> + public ResponsePackNew GetShare(GetShareObj getShareObj) + { + var requestJson = HttpUtil.GetSignRequestJson(getShareObj); + + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Share_Delete, requestJson); + } + #endregion /// <summary> /// 鑾峰彇浣忓畢涓嬪瓙璐﹀彿鐨勫叡浜暟鎹垪琛� @@ -725,7 +760,7 @@ //string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d); //return RequestHttps($"{severAddress}/ZigbeeDataShare/GetShareDataBySubAccount", jsonString, true); - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeShareFindAll() + var requestJson = HttpUtil.GetSignRequestJson(new HomeShareFindAll() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, childAccountId = childAccountId @@ -810,7 +845,7 @@ /// <returns></returns> public ResponsePackNew DeleteShareData(ShareData shareData) { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new ShareFileDownObj() + var requestJson = HttpUtil.GetSignRequestJson(new ShareFileDownObj() { homeId = shareData.homeId, homeShareId = shareData.id @@ -845,7 +880,7 @@ { //娣诲姞瀛愯处鍙� var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID, account = subAccount, nickName = nickName }; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson); } @@ -892,7 +927,7 @@ { try { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMqttRemoteInfoObj() + var requestJson = HttpUtil.GetSignRequestJson(new GetMqttRemoteInfoObj() { attachClientId = attachClientId, homeType = HomeTypeEnum.BUSPRO.ToString() @@ -926,13 +961,16 @@ #if __IOS__ deviceType = PhoneDeviceType.IOS.ToString(); #endif - //鏄惁鐢熸垚妯″紡 + //鏄惁鐢熶骇妯″紡 bool isProduce = true; #if DEBUG isProduce = false; #endif - if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken)) return false; + if (string.IsNullOrEmpty(OnAppConfig.Instance.PushDeviceToken)) { + Utlis.WriteLine("PushDeviceToken 涓虹┖"); + return false; + } var mAddpushinfoObj = new AddpushinfoObj() { @@ -940,9 +978,10 @@ deviceName = OnAppConfig.Instance.PhoneName, deviceType = deviceType, produce = isProduce, - }; + var mAddpushinfoJson = Newtonsoft.Json.JsonConvert.SerializeObject(mAddpushinfoObj); + //var mAddpushinfoJson = HttpUtil.GetSignRequestJson(mAddpushinfoObj); var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_PushSerivce_AddToken, mAddpushinfoJson); if (revertObj.Code == StateCode.SUCCESS) { @@ -953,14 +992,15 @@ { OnAppConfig.Instance.PushId = pushId; OnAppConfig.Instance.SaveUserConfig(); + return true; } } - Utlis.WriteLine("AddToken 鎴愬姛"); + } else { - Utlis.WriteLine("AddToken 澶辫触"); + //Utlis.WriteLine("AddToken 澶辫触"); } return false; } @@ -970,13 +1010,14 @@ } } + /// <summary> /// 鏌ヨ鎺ㄩ�佷俊鎭垪琛� /// </summary> /// <returns></returns> - public ResponsePackNew PushSerivceGetpushmessagelist() + public ResponsePackNew PushSerivceGetPushmessagelist() { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetMessageListObj() + var requestJson = HttpUtil.GetSignRequestJson(new GetMessageListObj() { pushId = OnAppConfig.Instance.PushId }); @@ -991,7 +1032,7 @@ { if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) return false; - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj() + var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj() { pushId = OnAppConfig.Instance.PushId }); @@ -1017,7 +1058,7 @@ if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) return false; try { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj() { + var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj() { pushId = OnAppConfig.Instance.PushId }); @@ -1049,7 +1090,7 @@ try { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushIdObj() + var requestJson = HttpUtil.GetSignRequestJson(new PushIdObj() { pushId = OnAppConfig.Instance.PushId }); @@ -1081,7 +1122,7 @@ try { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj() + var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj() { msgId = msgId }); @@ -1114,7 +1155,7 @@ try { - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new PushMsgIdObj() + var requestJson = HttpUtil.GetSignRequestJson(new PushMsgIdObj() { msgId = msgId }); @@ -1135,6 +1176,47 @@ return false; } } + + /// <summary> + /// 娉ㄥ唽鎺ㄩ�� + /// </summary> + public void RegisteredPush() + { + new System.Threading.Thread(() => + { + var success = PushSerivceAddPushInfo(); + if (success) + { + Utlis.WriteLine("鎺ㄩ�佹敞鍐屾垚鍔�"); + } + else + { + Utlis.WriteLine("鎺ㄩ�佹敞鍐屽け璐�"); + } + }) + { IsBackground = true }.Start(); + } + + /// <summary> + /// 娉ㄩ攢鎺ㄩ�� + /// </summary> + public void SignOutPush() + { + new System.Threading.Thread(() => + { + var success = PushSerivceSignOut(); + if (success) + { + Utlis.WriteLine("鎺ㄩ�佹敞閿�鎴愬姛"); + } + else + { + Utlis.WriteLine("鎺ㄩ�佹敞閿�澶辫触"); + } + }) + { IsBackground = true }.Start(); + } + #endregion #region 妫�娴嬫洿鏂� @@ -1146,12 +1228,12 @@ { var requestObj = new ForceUpdateObj() { - + LanguageType = Utlis.GetPostLanguageType() }; -#if Android - requestObj.DeviceType = 1; +#if __IOS__ + requestObj.DeviceType = PhoneDeviceType.IOS.ToString(); #endif - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPost(NewAPI.API_POST_CheckAppVersion, requestJson); } @@ -1165,10 +1247,10 @@ { }; -#if Android - requestObj.DeviceType = 1; +#if __IOS__ + requestObj.DeviceType = PhoneDeviceType.IOS.ToString(); #endif - var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj); + var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetAppVersion, requestJson); } @@ -1241,52 +1323,6 @@ #endregion - #region mqtt杩滅▼杩炴帴锛堟棫锛� - /// <summary> - /// 璇锋眰Mqtt鏁版嵁 - /// </summary> - /// <param name="dataStringJson">璇锋眰鐨勫弬鏁�.</param> - public ResponsePack RequestMqttInfo(string dataStringJson) - { - ResponsePack revertObj = null; - - var webClient = new WebClient(); - #region - webClient.Headers.Add("CONTENT-TYPE", "application/json"); - var url = "https://global.hdlcontrol.com/ProposedProductionApi/EmqMqtt/GetConnMqttInfo"; - - byte[] bytes = null; - try - { - bytes = webClient.UploadData(url, Encoding.UTF8.GetBytes(dataStringJson)); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - revertObj = new ResponsePack() { StateCode = "Net_Error" }; - } - - string responseString = null; - if (bytes != null) - { - responseString = Encoding.UTF8.GetString(bytes); - } - - if (responseString != null) - { - try - { - revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(responseString); - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - } - } - return revertObj; - #endregion - } - #endregion #region 澶囦唤閮ㄥ垎 ///// <summary> @@ -1762,5 +1798,318 @@ #endregion + #region Kaede --璁惧鍔熻兘鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�� + /// <summary> + /// 鑾峰彇璁惧鍒楄〃 + /// </summary> + /// <returns></returns> + public ResponsePackNew GetDeviceList() + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("gatewayId", DB_ResidenceData.residenceData.HomeGateway.id); + //d.Add("roomId", DB_ResidenceData.residenceData.residecenInfo.RegionID);//鍙帶鍙傛暟锛屽綋闇�瑕佸垎椤佃幏鍙栵紝鎬庝箞鐭ラ亾鍒嗛〉鎬绘暟 + //d.Add("searchType", DB_ResidenceData.residenceData.residecenInfo.RegionID); + //d.Add("pageSize", DB_ResidenceData.residenceData.residecenInfo.RegionID); + //d.Add("pageNo", DB_ResidenceData.residenceData.residecenInfo.RegionID); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieList, requestJson); + } + /// <summary> + /// 鑾峰彇璁惧璇︽儏鍒楄〃 + /// </summary> + /// <returns></returns> + public ResponsePackNew GetDeviceInfoList(List<string> functionIds) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", functionIds); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetDevcieInfoList, requestJson); + } + /// <summary> + /// 鎺у埗璁惧 + /// </summary> + /// <returns></returns> + public ResponsePackNew ControlDevice(List<ApiAlinkControlActionObj> actionObjs) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("gatewayId", DriverLayer.Control.Ins.GatewayId); + d.Add("actions", actionObjs); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ControlDevice, requestJson); + } + /// <summary> + /// 璁惧缁戝畾鎴块棿 + /// </summary> + public string BindDeviceToRoom(string deviceId,string roomId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", new List<string>() { deviceId}); + d.Add("roomIds", new List<string>() { roomId}); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_BindDeviceToRoom, requestJson).Code; + } + /// <summary> + /// 璁惧瑙g粦鎴块棿 + /// </summary> + public string UnbindDeviceToRoom(string deviceId, string roomId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceIds", new List<string>() { deviceId }); + d.Add("roomIds", new List<string>() { roomId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UnbindDeviceToRoom, requestJson).Code; + } + /// <summary> + /// 璁惧鍚嶇О淇敼 + /// </summary> + public string EditDeviceName(string deviceId, string deviceName) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId", deviceId); + d.Add("name", deviceName); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditDeviceName, requestJson).Code; + } + /// <summary> + /// 鏀惰棌璁惧 + /// </summary> + public string CollectDevice(string deviceId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId",new List<string>() { deviceId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectDevice, requestJson).Code; + } + /// <summary> + /// 鍙栨秷鏀惰棌璁惧 + /// </summary> + public string CancelCollectDevice(string deviceId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("deviceId", new List<string>() { deviceId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectDevice, requestJson).Code; + } + + #endregion + + #region Kaede --鍦烘櫙鍔熻兘-------------------------- + /// <summary> + /// 鑾峰彇鍦烘櫙鍒楄〃 + /// 鎴块棿ID鍙┖锛岄粯璁ゆ煡璇綇瀹呬笅鎵�鏈夋埧闂� + /// </summary> + /// <param name="roomId">鎴块棿ID</param> + /// <returns></returns> + public ResponsePackNew GetSceneList(string roomId = null) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + if (roomId != null) + { + d.Add("roomId", roomId); + } + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson); + } + /// <summary> + /// 鑾峰彇鍦烘櫙璇︽儏 + /// </summary> + /// <param name="seceneId">鍦烘櫙ID</param> + /// <returns></returns> + public ResponsePackNew GetSceneInfo(string seceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("userSceneIds",new List<string>() { seceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetSecneList, requestJson); + } + /// <summary> + /// 娣诲姞鍦烘櫙 + /// </summary> + /// <returns></returns> + public ResponsePackNew AddScene(Scene scene) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("scenes", new List<Scene>() { scene }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson); + } + /// <summary> + /// 缂栬緫鍦烘櫙 + /// </summary> + /// <param name="scene"></param> + /// <returns></returns> + public ResponsePackNew EditScene(Scene scene) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("scenes", new List<Scene>() { scene }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_EditSecne, requestJson); + } + /// <summary> + /// 鍒犻櫎鍦烘櫙 + /// </summary> + /// <returns></returns> + public string DeleteScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DeleteSecne, requestJson).Code; + } + /// <summary> + /// 鎵ц鍦烘櫙 + /// </summary> + /// <returns></returns> + public string ExecuteScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_ExecuteSecne, requestJson).Code; + } + /// <summary> + /// 鏀惰棌鍦烘櫙 + /// </summary> + /// <param name="userSceneId"></param> + /// <returns></returns> + public string CollectScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CollectScene, requestJson).Code; + } + /// <summary> + /// 鍙栨秷鏀惰棌鍦烘櫙 + /// </summary> + /// <param name="userSceneId"></param> + /// <returns></returns> + public string CancelCollectScene(string userSceneId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("userSceneIds", new List<string>() { userSceneId }); + + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_CancelCollectScene, requestJson).Code; + } + #endregion + + #region Kaede --鎴块棿鍔熻兘-------------------------- + /// <summary> + /// 鑾峰彇鎴块棿鍒楄〃 + /// </summary> + /// <param name="GetType">鑾峰彇绫诲瀷锛歊OOM\FLOOR;涓嶈緭鍏ヨ繑鍥炲叏閮�</param> + /// <returns></returns> + public ResponsePackNew GetRoomList(string GetType = "All") + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + if (GetType != "All") + { + d.Add("roomType", GetType); + } + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_GetRoomList, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 娣诲姞鎴块棿\妤煎眰 + /// 妤煎眰涔熷睘浜庢埧闂� + /// </summary> + /// <returns></returns> + public ResponsePackNew AddRoom(List<SpatialInfo> rooms) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("rooms", rooms); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddRoom, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 淇敼鎴块棿淇℃伅 + /// </summary> + /// <returns></returns> + public ResponsePackNew UpdateRoom(List<SpatialInfo> rooms) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("rooms", rooms); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateRoom, requestJson); + var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString()); + if (revData != null) + { + foreach (var spatial in revData) + { + spatial.UpdateSpatialInfoData(); + } + } + return pack; + } + /// <summary> + /// 鍒犻櫎鎴块棿 + /// </summary> + /// <param name="roomIds"></param> + /// <returns></returns> + public ResponsePackNew DeleteRoom(List<string> roomIds) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.residenceData.residecenInfo.RegionID); + d.Add("ids", roomIds); + + var requestJson = HttpUtil.GetSignRequestJson(d); + var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_DelRoom, requestJson); + return pack; + } + + #endregion } } \ No newline at end of file -- Gitblit v1.8.0